Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrschnekenbu2013-05-29 13:58:49 +0000
committerrschnekenbu2013-05-29 13:58:49 +0000
commit7127d046d303ba5b53cbbbad07de06ff69cb4eed (patch)
tree0f33691eb4ca1bf7624693531793b68612931d13 /extraplugins/eastadl
parent46672eead348477561c74498b3198854dbf370d5 (diff)
downloadorg.eclipse.papyrus-7127d046d303ba5b53cbbbad07de06ff69cb4eed.tar.gz
org.eclipse.papyrus-7127d046d303ba5b53cbbbad07de06ff69cb4eed.tar.xz
org.eclipse.papyrus-7127d046d303ba5b53cbbbad07de06ff69cb4eed.zip
409390: [EAST-ADL] Papyrus shall support EAST-ADL language
https://bugs.eclipse.org/bugs/show_bug.cgi?id=409390
Diffstat (limited to 'extraplugins/eastadl')
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/.classpath7
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/.project28
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/META-INF/MANIFEST.MF104
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/about.html28
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/build.properties13
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadl.ecore3084
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadl.genmodel1521
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadl.profile.di51
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadl.profile.di215815
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadl.profile.notation2334
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml8499
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadlOld.genmodel1523
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadlOld2.genmodel1518
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/plugin.properties14
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/plugin.xml1045
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/EASTADL.gifbin0 -> 213 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/behavior/FunctionBehavior.gifbin0 -> 254 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/behavior/FunctionTrigger.gifbin0 -> 257 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/dependability/errormodel/ErrorBehavior.gifbin0 -> 204 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/dependability/errormodel/ErrorModelPrototype.gifbin0 -> 353 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/dependability/errormodel/ErrorModelType.gifbin0 -> 375 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/dependability/errormodel/FailureOutPort.gifbin0 -> 220 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/dependability/errormodel/FaultInPort.gifbin0 -> 325 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/environment/Environment.gifbin0 -> 430 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/genericconstraints/GenericConstraint.gifbin0 -> 407 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/infrastructure/datatypes/EADatatype.gifbin0 -> 380 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/infrastructure/elements/Realization.gifbin0 -> 193 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/ActuatorLatency.gifbin0 -> 341 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/BusDelay.gifbin0 -> 349 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/ConnectorDelay.gifbin0 -> 347 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/DelayRequirement.gifbin0 -> 400 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/DeriveRequirement.gifbin0 -> 199 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/FunctionalRequirement.gifbin0 -> 421 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/QualityRequirement.gifbin0 -> 404 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/Refine.gifbin0 -> 368 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/Requirement.gifbin0 -> 353 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/RequirementsRelatedInformation.gifbin0 -> 407 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/SensorLatency.gifbin0 -> 341 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/verificationvalidation/VVCase.gifbin0 -> 405 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/verificationvalidation/VVProcedure.gifbin0 -> 431 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/featuremodeling/Feature.gifbin0 -> 338 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/AnalysisFunctionPrototype.gifbin0 -> 357 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/AnalysisFunctionType_component.gifbin0 -> 376 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/AnalysisFunctionType_elementary.gifbin0 -> 374 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/DesignFunctionPrototype.gifbin0 -> 355 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/DesignFunctionType_component.gifbin0 -> 376 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/DesignFunctionType_elementary.gifbin0 -> 373 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionAllocation.gifbin0 -> 191 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionClientServerPort.gifbin0 -> 308 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionFlowPort_IN.gifbin0 -> 322 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionFlowPort_INOUT.gifbin0 -> 317 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionFlowPort_OUT.gifbin0 -> 320 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionPowerPort.gifbin0 -> 311 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionPrototype.gifbin0 -> 406 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionType_component.gifbin0 -> 430 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionType_elementary.gifbin0 -> 427 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionalAnalysisArchitecture.gifbin0 -> 652 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionalDevice.gifbin0 -> 637 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/LocalDeviceManager.gifbin0 -> 395 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/PortGroup_IN.gifbin0 -> 329 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/PortGroup_INOUT.gifbin0 -> 324 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/PortGroup_OUT.gifbin0 -> 328 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/Actuator.gifbin0 -> 909 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/CommunicationHardwarePin.gifbin0 -> 308 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/HardwareComponentPrototype.gifbin0 -> 940 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/IOHardwarePin.gifbin0 -> 309 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/LogicalBus.gifbin0 -> 889 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/Node.gifbin0 -> 936 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/PowerHardwarePin.gifbin0 -> 311 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/PowerSupply.gifbin0 -> 336 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/Sensor.gifbin0 -> 904 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/systemmodeling/AnalysisLevel.gifbin0 -> 1052 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/systemmodeling/DesignLevel.gifbin0 -> 654 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/systemmodeling/ImplementationLevel.gifbin0 -> 999 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/systemmodeling/VehicleLevel.gifbin0 -> 656 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/vehiclefeaturemodeling/VehicleFeature.gifbin0 -> 344 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/timing/ExecutionTimeConstraint.gifbin0 -> 412 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/timing/PrecedenceConstraint.gifbin0 -> 193 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/timing/timingconstraints/DelayConstraint.gifbin0 -> 413 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/timing/timingconstraints/InputSynchronizationConstraint.gifbin0 -> 350 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/timing/timingconstraints/OutputSynchronizationConstraint.gifbin0 -> 349 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/timing/timingconstraints/PeriodicEventConstraint.gifbin0 -> 413 bytes
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_ErrorModel.xml1
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_FeatureModeling.xml1
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_FunctionModeling.xml1
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_HardwareModeling.xml1
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_Requirements.xml1
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_SystemModeling.xml1
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_Timing.xml1
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_VerificationValidation.xml1
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_ErrorModel.xml1
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_FeatureModeling.xml1
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_FunctionModeling.xml1
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_HardwareModeling.xml1
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_Requirements.xml1
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_SystemModeling.xml1
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_Timing.xml1
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_VerificationValidation.xml1
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/templates/initialmodel.di17
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/templates/initialmodel.notation118
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/templates/initialmodel.uml289
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/EastadlFactory.java43
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/EastadlPackage.java119
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/AnnexFactory.java46
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/AnnexPackage.java125
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/impl/AnnexFactoryImpl.java145
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/impl/AnnexPackageImpl.java313
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/ArchitecturalDescription.java74
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/ArchitecturalModel.java34
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/Architecture.java66
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/BusinessOpportunity.java130
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/Concept.java36
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/Mission.java34
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/NeedsFactory.java136
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/NeedsPackage.java1726
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/ProblemStatement.java169
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/ProductPositioning.java204
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/Stakeholder.java121
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/StakeholderNeed.java157
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/VehicleSystem.java101
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/ArchitecturalDescriptionImpl.java178
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/ArchitecturalModelImpl.java52
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/ArchitectureImpl.java167
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/BusinessOpportunityImpl.java478
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/ConceptImpl.java53
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/MissionImpl.java52
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/NeedsFactoryImpl.java216
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/NeedsPackageImpl.java902
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/ProblemStatementImpl.java383
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/ProductPositioningImpl.java451
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/StakeholderImpl.java289
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/StakeholderNeedImpl.java364
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/VehicleSystemImpl.java242
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/util/NeedsAdapterFactory.java379
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/util/NeedsResourceFactoryImpl.java62
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/util/NeedsResourceImpl.java40
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/util/NeedsSwitch.java417
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/util/NeedsXMLProcessor.java61
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/Behavior.java154
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/BehaviorFactory.java88
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/BehaviorPackage.java1177
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/FunctionBehavior.java199
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/FunctionBehaviorKind.java390
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/FunctionTrigger.java240
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/Mode.java104
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/ModeGroup.java113
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/TriggerPolicyKind.java228
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/impl/BehaviorFactoryImpl.java225
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/impl/BehaviorImpl.java337
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/impl/BehaviorPackageImpl.java701
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/impl/FunctionBehaviorImpl.java392
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/impl/FunctionTriggerImpl.java487
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/impl/ModeGroupImpl.java275
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/impl/ModeImpl.java235
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/util/BehaviorAdapterFactory.java277
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/util/BehaviorResourceFactoryImpl.java60
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/util/BehaviorResourceImpl.java38
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/util/BehaviorSwitch.java278
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/util/BehaviorXMLProcessor.java60
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/ControllabilityClassKind.java280
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/Dependability.java305
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/DependabilityFactory.java91
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/DependabilityPackage.java1562
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/DevelopmentCategoryKind.java228
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/ExposureClassKind.java284
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/FeatureFlaw.java110
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/Hazard.java105
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/HazardousEvent.java332
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/Item.java122
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/SeverityClassKind.java280
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/Anomaly.java142
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/ErrorBehavior.java231
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/ErrorBehaviorKind.java282
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/ErrorModelPrototype.java194
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/ErrorModelType.java283
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/ErrormodelFactory.java127
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/ErrormodelPackage.java2241
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/FailureOutPort.java48
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/FaultFailurePort.java137
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/FaultFailurePropagationLink.java179
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/FaultInPort.java47
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/InternalFaultPrototype.java100
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/ProcessFaultPrototype.java73
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/AnomalyImpl.java297
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/ErrorBehaviorImpl.java550
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/ErrorModelPrototypeImpl.java414
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/ErrorModelTypeImpl.java585
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/ErrormodelFactoryImpl.java256
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/ErrormodelPackageImpl.java1026
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/FailureOutPortImpl.java52
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/FaultFailurePortImpl.java312
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/FaultFailurePropagationLinkImpl.java379
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/FaultInPortImpl.java52
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/InternalFaultPrototypeImpl.java227
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/ProcessFaultPrototypeImpl.java166
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/util/ErrormodelAdapterFactory.java359
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/util/ErrormodelResourceFactoryImpl.java62
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/util/ErrormodelResourceImpl.java40
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/util/ErrormodelSwitch.java388
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/util/ErrormodelXMLProcessor.java61
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/impl/DependabilityFactoryImpl.java283
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/impl/DependabilityImpl.java652
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/impl/DependabilityPackageImpl.java909
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/impl/FeatureFlawImpl.java241
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/impl/HazardImpl.java242
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/impl/HazardousEventImpl.java669
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/impl/ItemImpl.java276
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/Claim.java161
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/Ground.java115
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/LifecycleStageKind.java265
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/SafetyCase.java195
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/SafetycaseFactory.java82
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/SafetycasePackage.java1028
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/Warrant.java130
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/impl/ClaimImpl.java346
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/impl/GroundImpl.java242
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/impl/SafetyCaseImpl.java453
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/impl/SafetycaseFactoryImpl.java196
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/impl/SafetycasePackageImpl.java656
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/impl/WarrantImpl.java277
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/util/SafetycaseAdapterFactory.java246
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/util/SafetycaseResourceFactoryImpl.java62
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/util/SafetycaseResourceImpl.java40
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/util/SafetycaseSwitch.java249
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/util/SafetycaseXMLProcessor.java61
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/ASILKind.java298
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/FaultFailure.java125
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/QuantitativeSafetyConstraint.java174
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/SafetyConstraint.java153
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/SafetyconstraintsFactory.java73
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/SafetyconstraintsPackage.java702
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/impl/FaultFailureImpl.java296
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/impl/QuantitativeSafetyConstraintImpl.java390
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/impl/SafetyConstraintImpl.java337
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/impl/SafetyconstraintsFactoryImpl.java184
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/impl/SafetyconstraintsPackageImpl.java531
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/util/SafetyconstraintsAdapterFactory.java226
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/util/SafetyconstraintsResourceFactoryImpl.java62
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/util/SafetyconstraintsResourceImpl.java40
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/util/SafetyconstraintsSwitch.java224
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/util/SafetyconstraintsXMLProcessor.java60
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/FunctionalSafetyConcept.java68
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/SafetyGoal.java193
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/SafetyrequirementFactory.java73
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/SafetyrequirementPackage.java652
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/TechnicalSafetyConcept.java65
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/impl/FunctionalSafetyConceptImpl.java143
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/impl/SafetyGoalImpl.java400
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/impl/SafetyrequirementFactoryImpl.java132
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/impl/SafetyrequirementPackageImpl.java460
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/impl/TechnicalSafetyConceptImpl.java144
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/util/SafetyrequirementAdapterFactory.java245
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/util/SafetyrequirementResourceFactoryImpl.java62
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/util/SafetyrequirementResourceImpl.java40
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/util/SafetyrequirementSwitch.java240
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/util/SafetyrequirementXMLProcessor.java61
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/util/DependabilityAdapterFactory.java283
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/util/DependabilityResourceFactoryImpl.java62
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/util/DependabilityResourceImpl.java40
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/util/DependabilitySwitch.java287
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/util/DependabilityXMLProcessor.java60
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dummy.java169
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/ClampConnector.java129
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/Environment.java145
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/EnvironmentFactory.java64
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/EnvironmentPackage.java464
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/impl/ClampConnectorImpl.java281
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/impl/EnvironmentFactoryImpl.java120
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/impl/EnvironmentImpl.java328
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/impl/EnvironmentPackageImpl.java432
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/util/EnvironmentAdapterFactory.java188
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/util/EnvironmentResourceFactoryImpl.java62
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/util/EnvironmentResourceImpl.java40
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/util/EnvironmentSwitch.java180
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/util/EnvironmentXMLProcessor.java61
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/GenericConstraint.java200
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/GenericConstraintKind.java426
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/GenericConstraintSet.java113
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/GenericconstraintsFactory.java73
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/GenericconstraintsPackage.java743
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/TakeRateConstraint.java81
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/impl/GenericConstraintImpl.java426
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/impl/GenericConstraintSetImpl.java267
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/impl/GenericconstraintsFactoryImpl.java184
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/impl/GenericconstraintsPackageImpl.java525
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/impl/TakeRateConstraintImpl.java213
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/util/GenericconstraintsAdapterFactory.java245
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/util/GenericconstraintsResourceFactoryImpl.java62
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/util/GenericconstraintsResourceImpl.java40
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/util/GenericconstraintsSwitch.java240
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/util/GenericconstraintsXMLProcessor.java61
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/impl/EastadlFactoryImpl.java140
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/impl/EastadlPackageImpl.java329
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/InfrastructureFactory.java46
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/InfrastructurePackage.java130
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/CompositeDatatype.java65
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/DatatypesFactory.java136
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/DatatypesPackage.java1867
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EABoolean.java30
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EADatatype.java78
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EADatatypePrototype.java129
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EAFloat.java89
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EAInteger.java89
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EAString.java30
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/Enumeration.java53
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EnumerationLiteral.java32
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EnumerationValueType.java121
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/RangeableDatatype.java42
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/RangeableValueType.java128
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/ValueType.java127
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/CompositeDatatypeImpl.java143
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/DatatypesFactoryImpl.java265
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/DatatypesPackageImpl.java820
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EABooleanImpl.java52
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EADatatypeImpl.java168
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EADatatypePrototypeImpl.java290
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EAFloatImpl.java227
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EAIntegerImpl.java227
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EAStringImpl.java52
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EnumerationImpl.java159
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EnumerationLiteralImpl.java52
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EnumerationValueTypeImpl.java276
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/RangeableDatatypeImpl.java52
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/RangeableValueTypeImpl.java281
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/ValueTypeImpl.java281
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/util/DatatypesAdapterFactory.java406
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/util/DatatypesResourceFactoryImpl.java62
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/util/DatatypesResourceImpl.java40
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/util/DatatypesSwitch.java472
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/util/DatatypesXMLProcessor.java61
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/Comment.java90
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/Context.java82
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/EAElement.java124
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/EAPackage.java97
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/EAPackageableElement.java63
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/ElementsFactory.java91
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/ElementsPackage.java1261
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/MultiLevelReference.java97
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/Rationale.java30
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/Realization.java150
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/Relationship.java46
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/TraceableSpecification.java78
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/CommentImpl.java234
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/ContextImpl.java178
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/EAElementImpl.java252
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/EAPackageImpl.java258
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/EAPackageableElementImpl.java166
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/ElementsFactoryImpl.java156
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/ElementsPackageImpl.java741
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/MultiLevelReferenceImpl.java226
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/RationaleImpl.java52
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/RealizationImpl.java299
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/RelationshipImpl.java52
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/TraceableSpecificationImpl.java173
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/util/ElementsAdapterFactory.java321
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/util/ElementsResourceFactoryImpl.java62
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/util/ElementsResourceImpl.java40
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/util/ElementsSwitch.java347
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/util/ElementsXMLProcessor.java61
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/impl/InfrastructureFactoryImpl.java145
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/impl/InfrastructurePackageImpl.java317
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/UserAttributeDefinition.java155
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/UserAttributeElementType.java149
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/UserAttributeValue.java158
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/UserAttributeableElement.java136
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/UserattributesFactory.java82
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/UserattributesPackage.java791
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/impl/UserAttributeDefinitionImpl.java357
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/impl/UserAttributeElementTypeImpl.java335
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/impl/UserAttributeValueImpl.java357
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/impl/UserAttributeableElementImpl.java303
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/impl/UserattributesFactoryImpl.java144
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/impl/UserattributesPackageImpl.java566
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/util/UserattributesAdapterFactory.java207
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/util/UserattributesResourceFactoryImpl.java62
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/util/UserattributesResourceImpl.java40
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/util/UserattributesSwitch.java208
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/util/UserattributesXMLProcessor.java61
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/util/InfrastructureResourceFactoryImpl.java52
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/util/InfrastructureResourceImpl.java40
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/util/InfrastructureXMLProcessor.java61
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/InterchangeFactory.java61
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/InterchangePackage.java479
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/RIFArea.java108
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/RIFExportArea.java32
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/RIFImportArea.java34
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/impl/InterchangeFactoryImpl.java114
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/impl/InterchangePackageImpl.java388
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/impl/RIFAreaImpl.java233
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/impl/RIFExportAreaImpl.java50
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/impl/RIFImportAreaImpl.java50
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/util/InterchangeAdapterFactory.java201
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/util/InterchangeResourceFactoryImpl.java60
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/util/InterchangeResourceImpl.java38
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/util/InterchangeSwitch.java201
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/util/InterchangeXMLProcessor.java60
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/Actor.java63
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/DeriveRequirement.java78
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/Extend.java108
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/ExtensionPoint.java62
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/Include.java90
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/OperationalSituation.java63
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/QualityRequirement.java75
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/QualityRequirementKind.java465
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RedefinableElement.java63
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/Refine.java132
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/Requirement.java128
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementSpecificationObject.java59
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsContainer.java184
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsFactory.java187
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsLink.java112
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsModel.java138
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsPackage.java3123
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsRelatedInformation.java69
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsRelationGroup.java112
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsRelationship.java72
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/Satisfy.java122
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/UseCase.java115
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/ActorImpl.java165
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/DeriveRequirementImpl.java275
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/ExtendImpl.java267
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/ExtensionPointImpl.java164
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/IncludeImpl.java227
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/OperationalSituationImpl.java166
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/QualityRequirementImpl.java163
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RedefinableElementImpl.java165
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RefineImpl.java360
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementImpl.java723
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementSpecificationObjectImpl.java144
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsContainerImpl.java446
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsFactoryImpl.java329
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsLinkImpl.java247
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsModelImpl.java312
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsPackageImpl.java1260
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsRelatedInformationImpl.java165
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsRelationGroupImpl.java267
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsRelationshipImpl.java167
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/SatisfyImpl.java345
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/UseCaseImpl.java296
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/util/RequirementsAdapterFactory.java653
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/util/RequirementsResourceFactoryImpl.java60
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/util/RequirementsResourceImpl.java38
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/util/RequirementsSwitch.java727
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/util/RequirementsXMLProcessor.java60
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VVActualOutcome.java96
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VVCase.java181
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VVIntendedOutcome.java68
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VVLog.java141
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VVProcedure.java151
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VVStimuli.java72
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VVTarget.java91
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VerificationValidation.java147
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VerificationvalidationFactory.java127
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VerificationvalidationPackage.java1709
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/Verify.java102
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VVActualOutcomeImpl.java228
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VVCaseImpl.java406
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VVIntendedOutcomeImpl.java167
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VVLogImpl.java336
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VVProcedureImpl.java336
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VVStimuliImpl.java167
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VVTargetImpl.java207
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VerificationValidationImpl.java338
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VerificationvalidationFactoryImpl.java204
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VerificationvalidationPackageImpl.java833
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VerifyImpl.java311
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/util/VerificationvalidationAdapterFactory.java435
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/util/VerificationvalidationResourceFactoryImpl.java62
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/util/VerificationvalidationResourceImpl.java40
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/util/VerificationvalidationSwitch.java454
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/util/VerificationvalidationXMLProcessor.java61
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/StructureFactory.java43
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/StructurePackage.java120
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/BindingTime.java115
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/BindingTimeKind.java330
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/Feature.java213
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/FeatureConstraint.java122
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/FeatureGroup.java122
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/FeatureLink.java259
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/FeatureModel.java161
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/FeatureTreeNode.java43
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/FeaturemodelingFactory.java97
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/FeaturemodelingPackage.java1385
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/VariabilityDependencyKind.java348
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/BindingTimeImpl.java227
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeatureConstraintImpl.java287
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeatureGroupImpl.java265
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeatureImpl.java437
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeatureLinkImpl.java506
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeatureModelImpl.java325
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeatureTreeNodeImpl.java51
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeaturemodelingFactoryImpl.java230
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeaturemodelingPackageImpl.java766
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/util/FeaturemodelingAdapterFactory.java289
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/util/FeaturemodelingResourceFactoryImpl.java60
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/util/FeaturemodelingResourceImpl.java38
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/util/FeaturemodelingSwitch.java303
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/util/FeaturemodelingXMLProcessor.java59
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/AllocateableElement.java41
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/Allocation.java118
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/AnalysisFunctionPrototype.java65
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/AnalysisFunctionType.java73
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/BasicSoftwareFunctionType.java40
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/ClientServerKind.java230
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/DesignFunctionPrototype.java62
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/DesignFunctionType.java76
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/EADirectionKind.java257
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionAllocation.java152
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionClientServerInterface.java92
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionClientServerPort.java124
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionConnector.java141
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionFlowPort.java99
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionPort.java36
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionPowerPort.java100
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionPrototype.java97
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionType.java156
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionalDevice.java44
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionmodelingFactory.java196
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionmodelingPackage.java3115
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/HardwareFunctionType.java83
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/LocalDeviceManager.java47
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/Operation.java108
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/PortGroup.java136
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/AllocateableElementImpl.java53
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/AllocationImpl.java267
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/AnalysisFunctionPrototypeImpl.java151
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/AnalysisFunctionTypeImpl.java148
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/BasicSoftwareFunctionTypeImpl.java52
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/DesignFunctionPrototypeImpl.java150
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/DesignFunctionTypeImpl.java148
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionAllocationImpl.java302
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionClientServerInterfaceImpl.java201
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionClientServerPortImpl.java269
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionConnectorImpl.java279
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionFlowPortImpl.java337
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionPortImpl.java53
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionPowerPortImpl.java196
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionPrototypeImpl.java196
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionTypeImpl.java422
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionalDeviceImpl.java50
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionmodelingFactoryImpl.java369
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionmodelingPackageImpl.java1221
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/HardwareFunctionTypeImpl.java167
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/LocalDeviceManagerImpl.java50
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/OperationImpl.java237
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/PortGroupImpl.java315
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/util/FunctionmodelingAdapterFactory.java579
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/util/FunctionmodelingResourceFactoryImpl.java60
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/util/FunctionmodelingResourceImpl.java38
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/util/FunctionmodelingSwitch.java667
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/util/FunctionmodelingXMLProcessor.java59
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/Actuator.java40
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/AllocationTarget.java41
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/CommunicationHardwarePin.java42
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwareComponentPrototype.java100
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwareComponentType.java161
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwareConnector.java123
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwarePin.java214
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwarePinDirectionKind.java257
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwarePinGroup.java137
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwaremodelingFactory.java154
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwaremodelingPackage.java2453
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/IOHardwarePin.java74
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/IOHardwarePinKind.java277
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/LogicalBus.java166
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/LogicalBusKind.java277
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/Node.java130
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/PowerHardwarePin.java40
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/PowerSupply.java75
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/Sensor.java40
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/ActuatorImpl.java52
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/AllocationTargetImpl.java53
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/CommunicationHardwarePinImpl.java52
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/HardwareComponentPrototypeImpl.java234
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/HardwareComponentTypeImpl.java337
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/HardwareConnectorImpl.java287
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/HardwarePinGroupImpl.java302
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/HardwarePinImpl.java437
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/HardwaremodelingFactoryImpl.java317
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/HardwaremodelingPackageImpl.java1017
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/IOHardwarePinImpl.java173
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/LogicalBusImpl.java364
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/NodeImpl.java276
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/PowerHardwarePinImpl.java52
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/PowerSupplyImpl.java173
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/SensorImpl.java52
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/util/HardwaremodelingAdapterFactory.java417
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/util/HardwaremodelingResourceFactoryImpl.java62
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/util/HardwaremodelingResourceImpl.java40
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/util/HardwaremodelingSwitch.java469
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/util/HardwaremodelingXMLProcessor.java61
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/impl/StructureFactoryImpl.java135
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/impl/StructurePackageImpl.java311
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/AnalysisLevel.java131
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/DesignLevel.java191
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/ImplementationLevel.java122
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/SystemModel.java208
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/SystemmodelingFactory.java91
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/SystemmodelingPackage.java1089
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/VehicleLevel.java122
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/impl/AnalysisLevelImpl.java288
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/impl/DesignLevelImpl.java389
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/impl/ImplementationLevelImpl.java288
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/impl/SystemModelImpl.java471
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/impl/SystemmodelingFactoryImpl.java156
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/impl/SystemmodelingPackageImpl.java632
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/impl/VehicleLevelImpl.java267
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/util/SystemmodelingAdapterFactory.java246
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/util/SystemmodelingResourceFactoryImpl.java62
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/util/SystemmodelingResourceImpl.java40
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/util/SystemmodelingSwitch.java253
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/util/SystemmodelingXMLProcessor.java61
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/util/StructureResourceFactoryImpl.java50
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/util/StructureResourceImpl.java38
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/util/StructureXMLProcessor.java60
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/DeviationAttributeSet.java377
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/DeviationPermissionKind.java319
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/VehicleFeature.java163
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/VehiclefeaturemodelingFactory.java61
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/VehiclefeaturemodelingPackage.java735
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/impl/DeviationAttributeSetImpl.java743
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/impl/VehicleFeatureImpl.java378
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/impl/VehiclefeaturemodelingFactoryImpl.java160
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/impl/VehiclefeaturemodelingPackageImpl.java515
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/util/VehiclefeaturemodelingAdapterFactory.java216
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/util/VehiclefeaturemodelingResourceFactoryImpl.java60
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/util/VehiclefeaturemodelingResourceImpl.java38
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/util/VehiclefeaturemodelingSwitch.java202
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/util/VehiclefeaturemodelingXMLProcessor.java59
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/Event.java79
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/EventChain.java104
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/ExecutionTimeConstraint.java174
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/PrecedenceConstraint.java151
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/TimeDuration.java174
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/Timing.java130
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/TimingConstraint.java175
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/TimingDescription.java68
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/TimingFactory.java88
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/TimingPackage.java1507
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/EventFunction.java125
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/EventFunctionClientServerPort.java123
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/EventFunctionClientServerPortKind.java281
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/EventFunctionFlowPort.java88
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/EventsFactory.java73
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/EventsPackage.java607
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/impl/EventFunctionClientServerPortImpl.java277
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/impl/EventFunctionFlowPortImpl.java206
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/impl/EventFunctionImpl.java268
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/impl/EventsFactoryImpl.java184
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/impl/EventsPackageImpl.java480
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/util/EventsAdapterFactory.java226
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/util/EventsResourceFactoryImpl.java62
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/util/EventsResourceImpl.java40
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/util/EventsSwitch.java224
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/util/EventsXMLProcessor.java61
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/EventChainImpl.java235
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/EventImpl.java164
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/ExecutionTimeConstraintImpl.java349
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/PrecedenceConstraintImpl.java314
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/TimeDurationImpl.java345
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/TimingConstraintImpl.java389
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/TimingDescriptionImpl.java160
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/TimingFactoryImpl.java148
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/TimingImpl.java292
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/TimingPackageImpl.java768
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/AgeTimingConstraint.java43
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/ArbitraryEventConstraint.java77
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/DelayConstraint.java136
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/EventConstraint.java95
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/InputSynchronizationConstraint.java78
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/OutputSynchronizationConstraint.java79
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/PatternEventConstraint.java136
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/PeriodicEventConstraint.java118
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/ReactionConstraint.java37
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/SporadicEventConstraint.java150
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/TimingconstraintsFactory.java118
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/TimingconstraintsPackage.java1950
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/AgeTimingConstraintImpl.java52
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/ArbitraryEventConstraintImpl.java177
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/DelayConstraintImpl.java289
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/EventConstraintImpl.java229
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/InputSynchronizationConstraintImpl.java167
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/OutputSynchronizationConstraintImpl.java167
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/PatternEventConstraintImpl.java326
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/PeriodicEventConstraintImpl.java287
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/ReactionConstraintImpl.java52
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/SporadicEventConstraintImpl.java347
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/TimingconstraintsFactoryImpl.java192
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/TimingconstraintsPackageImpl.java736
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/util/TimingconstraintsAdapterFactory.java341
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/util/TimingconstraintsResourceFactoryImpl.java62
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/util/TimingconstraintsResourceImpl.java40
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/util/TimingconstraintsSwitch.java383
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/util/TimingconstraintsXMLProcessor.java61
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/util/TimingAdapterFactory.java295
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/util/TimingResourceFactoryImpl.java60
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/util/TimingResourceImpl.java38
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/util/TimingSwitch.java316
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/util/TimingXMLProcessor.java60
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/util/EastadlResourceFactoryImpl.java50
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/util/EastadlResourceImpl.java38
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/util/EastadlXMLProcessor.java60
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/utils/EASTResource.java378
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/ConfigurableContainer.java210
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/ConfigurationDecision.java176
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/ConfigurationDecisionFolder.java64
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/ConfigurationDecisionModel.java123
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/ConfigurationDecisionModelEntry.java97
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/ContainerConfiguration.java76
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/FeatureConfiguration.java79
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/InternalBinding.java38
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/PrivateContent.java107
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/ReuseMetaInformation.java129
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/SelectionCriterion.java87
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/Variability.java182
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/VariabilityFactory.java160
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/VariabilityPackage.java2491
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/VariableElement.java184
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/VariationGroup.java158
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/VehicleLevelBinding.java81
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/ConfigurableContainerImpl.java450
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/ConfigurationDecisionFolderImpl.java143
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/ConfigurationDecisionImpl.java383
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/ConfigurationDecisionModelEntryImpl.java235
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/ConfigurationDecisionModelImpl.java267
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/ContainerConfigurationImpl.java167
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/FeatureConfigurationImpl.java167
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/InternalBindingImpl.java52
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/PrivateContentImpl.java228
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/ReuseMetaInformationImpl.java278
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/SelectionCriterionImpl.java207
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/VariabilityFactoryImpl.java244
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/VariabilityImpl.java407
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/VariabilityPackageImpl.java1100
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/VariableElementImpl.java411
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/VariationGroupImpl.java318
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/VehicleLevelBindingImpl.java176
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/util/VariabilityAdapterFactory.java465
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/util/VariabilityResourceFactoryImpl.java60
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/util/VariabilityResourceImpl.java38
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/util/VariabilitySwitch.java509
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/util/VariabilityXMLProcessor.java60
743 files changed, 195722 insertions, 0 deletions
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/.classpath b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/.classpath
new file mode 100644
index 00000000000..45f024e850e
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <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="output" path="bin"/>
+</classpath>
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/.project b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/.project
new file mode 100644
index 00000000000..df7df8905c2
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.eastadl</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.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/.settings/org.eclipse.jdt.core.prefs b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..44217f8c068
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/.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/extraplugins/eastadl/org.eclipse.papyrus.eastadl/META-INF/MANIFEST.MF b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..9a1b77889d7
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/META-INF/MANIFEST.MF
@@ -0,0 +1,104 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.eastadl;singleton:=true
+Bundle-Version: 0.10.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Export-Package: org.eclipse.papyrus.eastadl,
+ org.eclipse.papyrus.eastadl.annex,
+ org.eclipse.papyrus.eastadl.annex.impl,
+ org.eclipse.papyrus.eastadl.annex.needs,
+ org.eclipse.papyrus.eastadl.annex.needs.impl,
+ org.eclipse.papyrus.eastadl.annex.needs.util,
+ org.eclipse.papyrus.eastadl.behavior,
+ org.eclipse.papyrus.eastadl.behavior.impl,
+ org.eclipse.papyrus.eastadl.behavior.util,
+ org.eclipse.papyrus.eastadl.dependability,
+ org.eclipse.papyrus.eastadl.dependability.errormodel,
+ org.eclipse.papyrus.eastadl.dependability.errormodel.impl,
+ org.eclipse.papyrus.eastadl.dependability.errormodel.util,
+ org.eclipse.papyrus.eastadl.dependability.impl,
+ org.eclipse.papyrus.eastadl.dependability.safetycase,
+ org.eclipse.papyrus.eastadl.dependability.safetycase.impl,
+ org.eclipse.papyrus.eastadl.dependability.safetycase.util,
+ org.eclipse.papyrus.eastadl.dependability.safetyconstraints,
+ org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl,
+ org.eclipse.papyrus.eastadl.dependability.safetyconstraints.util,
+ org.eclipse.papyrus.eastadl.dependability.safetyrequirement,
+ org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl,
+ org.eclipse.papyrus.eastadl.dependability.safetyrequirement.util,
+ org.eclipse.papyrus.eastadl.dependability.util,
+ org.eclipse.papyrus.eastadl.environment,
+ org.eclipse.papyrus.eastadl.environment.impl,
+ org.eclipse.papyrus.eastadl.environment.util,
+ org.eclipse.papyrus.eastadl.genericconstraints,
+ org.eclipse.papyrus.eastadl.genericconstraints.impl,
+ org.eclipse.papyrus.eastadl.genericconstraints.util,
+ org.eclipse.papyrus.eastadl.impl,
+ org.eclipse.papyrus.eastadl.infrastructure,
+ org.eclipse.papyrus.eastadl.infrastructure.datatypes,
+ org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl,
+ org.eclipse.papyrus.eastadl.infrastructure.datatypes.util,
+ org.eclipse.papyrus.eastadl.infrastructure.elements,
+ org.eclipse.papyrus.eastadl.infrastructure.elements.impl,
+ org.eclipse.papyrus.eastadl.infrastructure.elements.util,
+ org.eclipse.papyrus.eastadl.infrastructure.impl,
+ org.eclipse.papyrus.eastadl.infrastructure.userattributes,
+ org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl,
+ org.eclipse.papyrus.eastadl.infrastructure.userattributes.util,
+ org.eclipse.papyrus.eastadl.infrastructure.util,
+ org.eclipse.papyrus.eastadl.interchange,
+ org.eclipse.papyrus.eastadl.interchange.impl,
+ org.eclipse.papyrus.eastadl.interchange.util,
+ org.eclipse.papyrus.eastadl.requirements,
+ org.eclipse.papyrus.eastadl.requirements.impl,
+ org.eclipse.papyrus.eastadl.requirements.util,
+ org.eclipse.papyrus.eastadl.requirements.verificationvalidation,
+ org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl,
+ org.eclipse.papyrus.eastadl.requirements.verificationvalidation.util,
+ org.eclipse.papyrus.eastadl.structure,
+ org.eclipse.papyrus.eastadl.structure.featuremodeling,
+ org.eclipse.papyrus.eastadl.structure.featuremodeling.impl,
+ org.eclipse.papyrus.eastadl.structure.featuremodeling.util,
+ org.eclipse.papyrus.eastadl.structure.functionmodeling,
+ org.eclipse.papyrus.eastadl.structure.functionmodeling.impl,
+ org.eclipse.papyrus.eastadl.structure.functionmodeling.util,
+ org.eclipse.papyrus.eastadl.structure.hardwaremodeling,
+ org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl,
+ org.eclipse.papyrus.eastadl.structure.hardwaremodeling.util,
+ org.eclipse.papyrus.eastadl.structure.impl,
+ org.eclipse.papyrus.eastadl.structure.systemmodeling,
+ org.eclipse.papyrus.eastadl.structure.systemmodeling.impl,
+ org.eclipse.papyrus.eastadl.structure.systemmodeling.util,
+ org.eclipse.papyrus.eastadl.structure.util,
+ org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling,
+ org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl,
+ org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.util,
+ org.eclipse.papyrus.eastadl.timing,
+ org.eclipse.papyrus.eastadl.timing.events,
+ org.eclipse.papyrus.eastadl.timing.events.impl,
+ org.eclipse.papyrus.eastadl.timing.events.util,
+ org.eclipse.papyrus.eastadl.timing.impl,
+ org.eclipse.papyrus.eastadl.timing.timingconstraints,
+ org.eclipse.papyrus.eastadl.timing.timingconstraints.impl,
+ org.eclipse.papyrus.eastadl.timing.timingconstraints.util,
+ org.eclipse.papyrus.eastadl.timing.util,
+ org.eclipse.papyrus.eastadl.util,
+ org.eclipse.papyrus.eastadl.utils,
+ org.eclipse.papyrus.eastadl.variability,
+ org.eclipse.papyrus.eastadl.variability.impl,
+ org.eclipse.papyrus.eastadl.variability.util
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport,
+ org.eclipse.uml2.types;visibility:=reexport,
+ org.eclipse.papyrus.uml.diagram.common,
+ org.eclipse.papyrus.uml.diagram.wizards,
+ org.eclipse.papyrus.uml.tools.utils;bundle-version="0.10.0",
+ org.eclipse.uml2.uml;bundle-version="4.1.0",
+ org.eclipse.papyrus.sysml;bundle-version="0.10.0",
+ org.eclipse.uml2.uml.profile.l2;bundle-version="1.0.100"
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/about.html b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/about.html
new file mode 100644
index 00000000000..82d49bf5f81
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/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>June 5, 2007</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/build.properties b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/build.properties
new file mode 100644
index 00000000000..7d0a6d48fb2
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/build.properties
@@ -0,0 +1,13 @@
+bin.includes = .,\
+ model/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ resources/,\
+ about.html
+jars.compile.order = .
+source.. = src/
+output.. = bin/
+bin.excludes = model/eastadlOld2.genmodel,\
+ model/eastadlOld.genmodel
+src.includes = about.html
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadl.ecore b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadl.ecore
new file mode 100644
index 00000000000..43e1a40914c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadl.ecore
@@ -0,0 +1,3084 @@
+<?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="eastadl" nsURI="http://www.papyrusuml.org/EAST-ADL2/1" nsPrefix="EAST-ADL2">
+ <eClassifiers xsi:type="ecore:EEnum" name="dummy"/>
+ <eSubpackages name="variability" nsURI="http://www.papyrusuml.org/EAST-ADL2/Variability/1"
+ nsPrefix="Variability">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This package contains elements to express variability in the analysis architecture, design architecture and implementation architecture. These abstraction levels in EAST-ADL2 will sometimes be called the artifact levels."/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="VariationGroup" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A VariationGroup defines a relation between an arbitrary number of VariableElements. It is primarily intended for defining how these VariableElements may be combined (e.g. one requires the other, alternative, etc.).&#xA;&#xA;&#xA;Semantics:&#xA;Defines a dependency or constraint between the variable elements denoted by association variableElement. The actual constraint is specified by attribute kind.&#xA;&#xA;Extension:&#xA;Class"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="constraint" ordered="false"
+ lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false"
+ unique="false" lowerBound="1" eType="#//structure/featuremodeling/VariabilityDependencyKind">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The kind of the variation group (see enumeration VariationGroupKind)."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="variableElement" lowerBound="1"
+ upperBound="-1" eType="#//variability/VariableElement"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="VariableElement" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="VariableElement is a marker class that marks an artifact element denoted by association optionalElement as being optional, i.e. it will not be present in all configurations of the complete system. A typical example is an optional FunctionPrototype.&#xA;&#xA;In addition, the VariableElement can be used to extend the EAST-ADL2 variability approach to other languages and standards by pointing from the VariableElement to the respective (non EAST-ADL2) element with association optionalElement, by that marking the non EAST-ADL2 element as optional and providing configuration support within its containing ConfigurableContainer.&#xA;&#xA;Refer to the documentation of meta-class ConfigurableContainer for a detailed explanation of how ConfigurableContainer and VariableElement play together.&#xA;&#xA;&#xA;Constraints:&#xA;[1] Identifies either one FunctionPrototype or one FunctionPort or one FunctionConnector or one HardwareComponentPrototype or one HardwarePort or one ClampConnector.&#xA;&#xA;Semantics:&#xA;Marks the element identified by association optionalElement as optional.&#xA;&#xA;Extension:&#xA;Class"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="requiredBindingTime"
+ ordered="false" eType="#//structure/featuremodeling/BindingTime"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="actualBindingTime" ordered="false"
+ lowerBound="1" eType="#//structure/featuremodeling/BindingTime"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="reuseMetaInformation"
+ ordered="false" eType="#//variability/ReuseMetaInformation"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="optionalElement" 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="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="ReuseMetaInformation" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="ReuseMetaInformation represents the description information needed in the context of reuse. For example a specific entity is only a short-time solution that is not intended to be reused. Also a specific entity can only be reused for specific model ranges (that are not reflected in the product model). This kind of information can be stored in this information.&#xA;&#xA;Semantics:&#xA;The ReuseMetaInformation represents information that explains if and how the respective entity can be reused.&#xA;&#xA;&#xA;Extension: Class"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="information" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The reuse information is stored in this attribute."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isReusable" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
+ defaultValueLiteral="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This Boolean attributes just says if the entity itself can essentially be reused or not. Specific information or constraints on reuse are in the information attribute. Default value is TRUE."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <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="ConfigurableContainer" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="ConfigurableContainer is a marker class that marks an element identified by association configurableElement as a configurable container of some variable content, i.e. VariableElements and other, lower-level ConfigurableContainers. In order to describe the contained variability to the outside world and to allow configuration of it, the ConfigurableContainer can have a public feature model and an internal configuration decision model not visible from the outside, called &quot;internal binding&quot;.&#xA;&#xA;In addition, the ConfigurableContainer can be used to extend the EAST-ADL2 variability approach to other languages and standards by pointing from the ConfigurableContainer to the respective (non EAST-ADL2) element with association configurableElement. This provides the public feature model and the ConfigurationDecisionModel to that non EAST-ADL2 element.&#xA;&#xA;The variable content of a ConfigurableContainer is defined as all VariableElements and all other ConfigurableContainers that are directly or indirectly contained in the Identifiable denoted by association configurableElement. Instead of 'variable content' the term 'internal variability' may be used.&#xA;&#xA;Note that, according to this rule, the containment between a ConfigurableContainer and its variable content, i.e. its contained VariableElements and lower-level ConfigurableContainers, is not(!) directly defined between these meta-classes. Instead, the containment is defined by the Identifiable pointed to by association configurableElement. For example, consider a FunctionType &quot;WiperSystem&quot; containing two FunctionPrototypes &quot;front&quot; and &quot;rear&quot; both typed by FunctionType &quot;WiperMotor&quot;; to make the wiper system configurable and the rear wiper motor optional, a ConfigurableContainer is created that points to FunctionType &quot;WiperSystem&quot; (with association configurableElement) and a VariableElement is created that points to FunctionPrototype &quot;rear&quot; (with association optionalElement); the containment between the ConfigurableContainer and the VariableElement is therefore not explicitly defined between these classes but instead only between FunctionType &quot;WiperSystem&quot; and &quot;FunctionPrototype&quot; rear. In addition, the variability-related visibility of &quot;rear&quot; can be changed with PrivateContent: by default the variability of &quot;rear&quot; will be public and visible for direct configuration from the outside of its containing ConfigurableContainer, i.e. &quot;WiperSystem&quot;; by defining a PrivateContent marker object pointing to the FunctionPrototype &quot;rear&quot; this can be changed to private and this variability will not be visible from the outside of &quot;WiperSystem&quot;.&#xA;&#xA;Constraints:&#xA;[1] Identifies one FunctionType or one HardwareComponentType.&#xA;&#xA;[2] The publicFeatureModel is only allowed to contain Features (no VehicleFeatures).&#xA;&#xA;Semantics:&#xA;Marks the element identified by association configurableElement as a configurable container of variable content (i.e. it contains VariableElements and/or other, lower-level ConfigurableContainers) and optionally provides a public feature model and an internal configuration decision model for it, thus providing configurability support for them.&#xA;&#xA;Extension:&#xA;Class"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="internalBinding" ordered="false"
+ eType="#//variability/InternalBinding">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The PDM of the configurable container."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="variationGroup" ordered="false"
+ upperBound="-1" eType="#//variability/VariationGroup">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The variation groups that define certain constraints between this ADLVariableContainer's variable elements."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="configurableElement"
+ 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="publicFeatureModel" ordered="false"
+ eType="#//structure/featuremodeling/FeatureModel">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The local feature model of the configurable container."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InternalBinding" eSuperTypes="#//variability/ConfigurationDecisionModel">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The InternalBinding is the private, internal ConfigurationDecisionModel of the ConfigurableContainer. It defines how the internal, lower-level variability of the ConfigurableContainer is bound, i.e. configured, depending on a given configuration of the ConfigurableContainer's public feature model. This way, the binding of this internal variability is encapsulated and hidden behind the public feature model, which serves as a variability-related interface.&#xA;&#xA;Note that for this use case, the source and target feature models need not be defined explicitly because they are deduced implicitly: the ConfigurableContainer's public feature model serves as the (single) target feature model, and the source feature models are deduced from the ConfigurableContainer's internal variability (esp. other, lower-level ConfigurableContainers which are contained).&#xA;&#xA;For a definition of the precise meaning of 'internal variability' in the above sense (also called variable content) refer to the documentation of meta-class ConfigurableContainer."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ConfigurationDecisionModel" abstract="true"
+ eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A ConfigurationDecisionModel defines how to configure m so-called target feature models, depending on a given configuration of n so-called source feature models, thus establishing a configuration-related link from the n source feature models to the m target feature models (also called configuration link). With the information captured in a ConfigurationDecisionModel it is then possible to transform a given set of source configurations (one for every source feature model) into corresponding target configurations (one for every target feature model).&#xA;&#xA;For example, a ConfigurationDecisionModel can capture information such as &quot;if feature 'S-Class' is selected in the source feature model, then select feature 'RainSensor' in the target feature model&quot; or &quot;if feature 'USA' is selected in the source feature model, then select feature 'CupHolder' in the target feature model&quot;.&#xA;&#xA;Note that in principle all ConfigurationDecisionModels have source / target feature models. However, only for those used on vehicle level they are defined explicitly; for ConfigurationDecisionModels used as an internal binding on FunctionTypes the source and target feature models are defined implicitly (cf. metaclass InternalBinding). In addition, in the special case of FeatureConfiguration there is by definition no source and only a single target feature model, which is defined explicitly (cf. metaclass FeatureConfiguration).&#xA;&#xA;The configuration information captured in a ConfigurationDecisionModel is represented by ConfigurationDecisions, each of which captures a single, atomized rule on how to configure the target feature model(s) depending on a given configuration of the source feature model(s).&#xA;&#xA;&#xA;Extension:&#xA;Class"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="rootEntry" ordered="false"
+ upperBound="-1" eType="#//variability/ConfigurationDecisionModelEntry"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ConfigurationDecisionModelEntry" abstract="true"
+ eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="ConfigurationDecisionModelEntry is the abstract base class for all content of a ConfigurationDecisionModel.&#xA;&#xA;Extension:&#xA;Class"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isActive" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
+ defaultValueLiteral="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="If active==TRUE then the entry is selected for the ProductDecisionModel."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <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="Variability" eSuperTypes="#//infrastructure/elements/Context">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The collection of variability descriptions, related feature models, and decision models. This collection can be done across the EAST-ADL2 abstraction levels."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="configurableContainer"
+ ordered="false" upperBound="-1" eType="#//variability/ConfigurableContainer"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="configuration" ordered="false"
+ upperBound="-1" eType="#//variability/FeatureConfiguration"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="productFeatureModel"
+ ordered="false" upperBound="-1" eType="#//structure/featuremodeling/FeatureModel"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="decisionModel" ordered="false"
+ upperBound="-1" eType="#//variability/VehicleLevelBinding"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="variableElement" ordered="false"
+ unique="false" upperBound="-1" eType="#//variability/VariableElement"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FeatureConfiguration" eSuperTypes="#//variability/ConfigurationDecisionModel">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="FeatureConfiguration defines an actual configuration of a FeatureModel, in particular the selection or deselection of optional features, values for selected parameterized features, and instance creations for cloned features.&#xA;&#xA;Note that configurations of feature models are realized as a specialization of metaclass ConfigurationDecisionModel. This is possible because a ConfigurationDecisionModel also captures configuration, i.e. of its target feature model(s) ; while in the standard case of ConfigurationDecisionModel this target-side configuration depends on a given configuration of source feature model(s), we here simply define a &quot;constant&quot; target-side configuration without considering any source configurations. Therefore, the FeatureConfiguration meta-class has additional constraints compared to the super-class ConfigurationDecisionModel: the FeatureConfiguration has no source FeatureModel and only a single target FeatureModel, which serves as the FeatureModel being configured, explicitly defined through association 'configuredFeatureModel'. And since there are no source feature model to which the criterion can refer, all ConfigurationDecisions in a FeatureConfiguration must have &quot;true&quot; as their criterion.&#xA;&#xA;&#xA;Semantics:&#xA;The FeatureConfiguration specifies a concrete configuration of a feature model, in particular which Features of this FeatureModel are selected or deselected.&#xA;&#xA;Extension:&#xA;Class&#xA;&#xA;Constraint:&#xA;[1] Attribute criterion of all ConfigurationDecisions in a FeatureConfiguration must be set to &quot;true&quot;."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="configuredFeatureModel"
+ ordered="false" unique="false" lowerBound="1" eType="#//structure/featuremodeling/FeatureModel"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="VehicleLevelBinding" eSuperTypes="#//variability/ConfigurationDecisionModel">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This class represents a ConfigurationDecisionModel on vehicle level with explicitly defined source and target feature models. The source feature models must be on vehicle level, but the target feature models may be located on artifact level, e.g. the public feature model of the top-level FunctionType in the FDA. This way, a VehicleLevelConfigurationDecisionModel may be used to bridge the gap from vehicle level variability management to that on artifact level.&#xA;&#xA;Source feature models may be either the core technical feature model (as defined by association technicalFeatureModel of meta-class VehicleLevel) or one of the optional product feature models (as defined by association productFeatureModel of meta-class Variability in the variability extension).&#xA;&#xA;Constraints:&#xA;[1] The sourceVehicleFeatureModels shall only contain VehicleFeatures.&#xA;[2] The sourceVehicleFeatureModels shall be different from the targetFeatureModels"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sourceVehicleFeatureModel"
+ unique="false" upperBound="-1" eType="#//structure/featuremodeling/FeatureModel"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="targetFeatureModel" unique="false"
+ upperBound="-1" eType="#//structure/featuremodeling/FeatureModel"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ConfigurationDecision" eSuperTypes="#//variability/ConfigurationDecisionModelEntry">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="ConfigurationDecision represents a single, atomized rule on how to configure the target feature model(s) of the containing ConfigurationDecisionModel, depending on a given configuration of the source feature model(s). Two examples are: &quot;all North American (USA+Canada) cars except A-Class have cruise control&quot; (one ConfigurationDecision) or &quot;all Canadian cars have adaptive cruise control&quot; (another ConfigurationDecision). All ConfigurationDecisions within a single ConfigurationDecisionModel then specify how the target feature model(s) are to be configured depending on the configuration of the source feature model(s).&#xA;&#xA;Example: Lets assume we have two FeatureModels: FM1 and FM2. FM1 has possible end-customer decisions like USA, Canada, EU, Japan and A-Class, C-Class, etc. FM2 has another possible end-customer decision such as CruiseControl, AdaptiveCruiseControl, RearWiper, RainSensor. End-customer decisions in FM2 describe possible technical features of the delivered products. By way of a set of ConfigurationDecisions it is now possible to define the configuration of FM2 (i.e. if there is a RainSensor, etc.) in dependency of a configuration of FM1. In other words, with a ConfigurationDecision we can express something like: &quot;If USA is selected in FM1 AND A-Class is not selected in FM1, then CruiseControl will be selected in FM2&quot;.&#xA;&#xA;The two most important constituents of a ConfigurationDecision are its 'criterion' and 'effect'. The effect is a list of things to select and deselect in the target(!) configuration(s), whereas the criterion formulates a condition on the source(!) configuration(s) under which this ConfigurationDecision's effect will actually be applied to the target configuration(s). In the first example above, the criterion would be &quot;USA &amp; not A-Class&quot; and the effect would be &quot;CruiseControl[+]&quot;.&#xA;&#xA;&#xA;Semantics:&#xA;The ConfigurationDecision excludes or includes Features based on a given criterion.&#xA;&#xA;The elements of the criterion and effect attributes may be identified through the target and the source in the selectionCriterion. The criterion and effect attributes can contain a VSL expression with qualified names of the identified elements. &#xA;&#xA;Extension:&#xA;Class"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="effect" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The rationale gives the reason for the specified product decision, especially for the inclusion criterion and the selection of included and excluded features."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="criterion" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The inclusionCriterion gives the criterion to select the respective products (e.g. Northern American cars)."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isEquivalence" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Means that the included and excluded features are selected if and only if the specified inclusion criterion holds."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="target" unique="false"
+ upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="selectionCriterion" ordered="false"
+ eType="#//variability/SelectionCriterion"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SelectionCriterion" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A mixed string description, identifying the source elements."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="source" unique="false"
+ upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ <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="ConfigurationDecisionFolder" eSuperTypes="#//variability/ConfigurationDecisionModelEntry">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="ConfigurationDecisionFolder represents a grouping for ConfigurationDecisions.&#xA;&#xA;&#xA;Semantics:&#xA;ConfigurationDecisionFolder is a grouping entity for ConfigurationDecisions.&#xA;&#xA;Extension:&#xA;Class"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="childEntry" ordered="false"
+ upperBound="-1" eType="#//variability/ConfigurationDecisionModelEntry"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ContainerConfiguration" eSuperTypes="#//variability/ConfigurationDecisionModel">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="ContainerConfiguration defines an actual configuration of the variable content of a ConfigurableContainer, in particular the selection or deselection of contained VariableElements and the configuration of the public feature models of contained other ConfigurableContainers. For more details on the variable content of a ConfigurableContainer refer to the documentation of meta-class ConfigurableContainer.&#xA;&#xA;The ContainerConfiguration inherits from ConfigurationDecisionModel even though it does not define a configuration link between feature models, similar as FeatureConfiguration. For more information on this refer to the documentation of meta-class FeatureConfiguration.&#xA;&#xA;The source and target feature models of a ContainerConfiguration are defined implicitly: it always has zero source feature models (as explained for FeatureConfiguration) and its target feature models can be deduced from the ConfigurableContainer being configured by applying the same rules as defined for InternalBinding.&#xA;&#xA;Semantics:&#xA;The ContainerConfiguration specifies a concrete configuration of the variable content of a ConfigurableContainer.&#xA;&#xA;Extension:&#xA;Class"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="configuredContainer"
+ ordered="false" unique="false" lowerBound="1" eType="#//variability/ConfigurableContainer"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PrivateContent" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="PrivateContent is a marker class that marks the artifact element denoted by association privateElement as private, i.e. it will not be presented to the outside of the containing ConfigurableContainer.&#xA;&#xA;Refer to the documentation of meta-class ConfigurableContainer for a detailed explanation of how ConfigurableContainer and PrivateContent play together.&#xA;&#xA;Constraint:&#xA;[1] Identifies either one FunctionPrototype or one FunctionPort or one FunctionConnector or one HardwareComponentPrototype or one HardwarePort or one ClampConnector.&#xA;&#xA;Semantics:&#xA;Marks the element identified by association privateElement as private. Otherwise the elements visibility defaults to public.&#xA;&#xA;Extension:&#xA;Class"/>
+ </eAnnotations>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="privateElement" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="infrastructure" nsURI="http://www.papyrusuml.org/EAST-ADL2/Infrastructure/1"
+ nsPrefix="Infrastructure">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This section contains the UML-profile specification, specifying stereotypes in the UML-profile, defined from the metaclasses in the ADLCoreConstructs package. It includes specification details for each stereotype. If the stereotype has properties, which may be referred to as tag definitions, or if the stereotype has constraints, this section also includes specification details for these properties and constraints.&#xD;&#xA;&#xD;&#xA;Overview:&#xD;&#xA;This subprofile defines a set of abstract stereotypes which provide basic constructs to the other subprofiles. Two subprofiles are also defined, ADLTypes and ADLRelationshipModeling which are described in the following sections."/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EDataType" name="Dummy" instanceClassName="java.lang.String"/>
+ <eSubpackages name="datatypes" nsURI="http://www.papyrusuml.org/EAST-ADL2/Infrastructure/Datatypes/1"
+ nsPrefix="Datatypes">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The Datatypes subpackage of EAST-ADL2 defines EAST-ADL2 general-purpose datatypes that may be used to type structural constructs in several different modeling diagrams.&#xA;&#xA;The purpose of the metaclasses in the Datatypes subpackage is to specify the concepts for the specific domain."/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="EADatatype" abstract="true" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The EADatatype is a metaclass, which signifies a type whose instances are identified only by their value. The EADatatype metaclass represents the description of the value set for some variable, parameter etc. without a description of how these possible values are represented on implementation level. The implementation representation is defined on implementation level by the AUTOSAR concept PrimitiveTypeWithSemantics, and the implemented datatype shall be associated with a Realization relationship. The realizing datatype must match the EADatatype regarding range, resolution, unit, and dimension.&#xA;&#xA;Semantics:&#xA;EADatatype metaclass is a special kind of classifier, similar to a class. It differs from the class in that instances of a data type are identified only by their value.&#xA;&#xA;Constraints:&#xA;[1] In the case of an AR implementation, an EADatatype is realized generally by PrimitiveTypeWithSemantics, which has to be consistent w.r.t. range, resolution, etc.&#xA;&#xA;Notation:&#xA;The EADatatype is denoted using the rectangle symbol with keyword «Datatype»."/>
+ </eAnnotations>
+ <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="EADatatypePrototype" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The EADatatypePrototype represents a typed variable. An example is a composite datatype ColorValue with parts R, G, and B of type integer. ColorValue would contain three prototypes only to be able to reference the record parts by name. The EADatatypePrototype is also used to represent argument and return values of operations or to represent a parameter.&#xA;&#xA;Semantics:&#xA;The EADatatypePrototype represents a typed variable. It acts as an occurrence of a datatype.&#xA;&#xA;Extension: Property"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false"
+ unique="false" lowerBound="1" eType="#//infrastructure/datatypes/EADatatype"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Parameter" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Parameter"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ValueType" abstract="true" eSuperTypes="#//infrastructure/datatypes/EADatatype">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="From SysML:&#xA;A ValueType defines types of values that may be used to express information about a system, but cannot be identified as the target of any reference. Since a value cannot be identified except by means of the value itself, each such value within a model is independent of any other, unless other forms of constraints are imposed. Value types may be used to type properties, operation parameters, or potentially other elements within SysML. SysML defines ValueType as a stereotype of UML DataType to establish a more neutral term for system values that may never be given a concrete data representation. For example, the SysML &quot;Real&quot; ValueType expresses the mathematical concept of a real number, but does not impose any restrictions on the precision or scale of a fixed or floating-point representation that expresses this concept. More specific value types can define the concrete data representations that a digital computer can process, such as conventional Float, Integer, or String types. SysML ValueType adds an ability to carry a unit of measure or dimension associated with the value. A dimension is a kind of quantity that may be stated in terms of defined units, but does not restrict the selection of a unit to state the value. A unit is a particular value in terms of which a quantity of the same dimension may be expressed. A SysML ValueType may define its own properties and/or operations, just as for a UML DataType.&#xA;&#xA;Semantics:&#xA;The abstract ValueType defines types of values that may be used to express information about a system. The ValueType adds an ability to carry a description, a dimension associated with the value, and a unit of measure. A dimension is a kind of quantity that may be stated in terms of defined units, but does not restrict the selection of a unit to state the value. A unit is a particular value in terms of which a quantity of the same dimension may be expressed.&#xA;Logical and physical datatypes cannot be distinguished on the type. The context (e.g., EnvironmentModel or FunctionalAnalysisArchitecture) decides if a speed datatype is physical or logical. On AnalysisLevel or DesignLevel, physical datatypes shall not be interpreted in the implementation sense as this would include int32, coding formula, etc.&#xA;&#xA;Extension: UML Datatype"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="semantics" ordered="false"
+ unique="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="dimension" ordered="false"
+ unique="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="unit" ordered="false"
+ unique="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RangeableDatatype" abstract="true"
+ eSuperTypes="#//infrastructure/datatypes/EADatatype">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The stereotype RangeableDatatype reflects numeric datatypes that may have a range (between a minimal and a maximal value). An example for a RangeableDatatype is the Celsius temperature scale with minValue = -273.15.&#xA;&#xA;Semantics:&#xA;The stereotype RangeableDatatype reflects numeric datatypes that may have a range (between a minimal and a maximal value).&#xA;&#xA;&#xA;Extension: UML Datatype"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RangeableValueType" eSuperTypes="#//infrastructure/datatypes/ValueType">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The RangeableValueType is a specific ValueType applicable for RangeableDatatypes. It provides the possibility to describe the accuracy, resolution, and the significant digits of the baseRangeable datatypes.&#xA;&#xA;Semantics:&#xA;The RangeableValueType adds the ability to describe the accuracy, resolution, and the significant digits of the baseRangeable datatype.&#xA;&#xA;Notation:&#xA;The datatype RangeableValueType is denoted using the rectangle symbol with keyword «Datatype RangeableValueType».&#xA;&#xA;Extension: UML Datatype"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="accuracy" ordered="false"
+ unique="false" lowerBound="1" eType="#//infrastructure/datatypes/javalangFloat"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="resolution" ordered="false"
+ unique="false" lowerBound="1" eType="#//infrastructure/datatypes/javalangFloat"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="significantDigits"
+ ordered="false" unique="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EDataType" name="javalangFloat" instanceClassName="java.lang.Float">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="An instance of Float is an element from the set of real numbers. The value must comply with IEEE 754 and is limited to what can be expressed by a 64 bit binary representation.&#xA;&#xA;Semantics:&#xA;Float has the semantics of the Float datatype as defined by IEEE Standard for Floating-Point Arithmetic (IEEE 754).&#xA;&#xA;Notation:&#xA;The datatype Float is denoted using the rectangle symbol with keyword «Datatype Float».&#xA;&#xA;Extension: UML PrimitiveType"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EnumerationValueType" eSuperTypes="#//infrastructure/datatypes/ValueType">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The EnumerationValueType is a specific ValueType applicable for Enumerations. It provides the possibility to describe semantics of the baseEnumeration's literals and the information, if multiple values of the baseEnumeration may be selected or not.&#xA;&#xA;Semantics:&#xA;The EnumerationValueType adds the ability to describe semantics of the baseEnumeration's literals and if multiple values of the baseEnumeration may be selected or not.&#xA;&#xA;&#xA;Notation:&#xA;The datatype EnumerationValueType is denoted using the rectangle symbol with keyword «Datatype EnumerationValueType».&#xA;&#xA;Extension: UML Enumeration"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isMultiValued" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="literalSemantics" unique="false"
+ lowerBound="2" upperBound="-1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ <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>
+ <eClassifiers xsi:type="ecore:EClass" name="CompositeDatatype" eSuperTypes="#//infrastructure/datatypes/EADatatype">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A CompositeDatatype represents a non-scalar datatype. Take as an example a CompositeDatatype &quot;MyCountries&quot; that can refer, e.g., to an Enumeration &quot;CountryEnumeration&quot; {USA, Canada, Japan, EU} via two EADatatypePrototypes (record variables): FirstCountry and SecondCountry. Then an attribute typed by this CompositeDatatype &quot;MyCountries&quot; may have a value like: (EU (identified as FirstCountry), Japan (identified as SecondCountry)).&#xA;&#xA;Semantics:&#xA;A CompositeDatatype represents a non-scalar datatype. The contained datatypePrototypes act as record variables to identify the ordered datatype instances of the tuple (the CompositeDatatype).&#xA;&#xA;Notation:&#xA;The datatype CompositeDatatype is denoted using the rectangle symbol with keyword «Datatype CompositeDatatype».&#xA;&#xA;Extension: UML Datatype"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="datatypePrototype"
+ lowerBound="1" upperBound="-1" eType="#//infrastructure/datatypes/EADatatypePrototype"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EAString" eSuperTypes="#//infrastructure/datatypes/EADatatype"/>
+ <eClassifiers xsi:type="ecore:EClass" name="EABoolean" eSuperTypes="#//infrastructure/datatypes/EADatatype"/>
+ <eClassifiers xsi:type="ecore:EClass" name="EAFloat" eSuperTypes="#//infrastructure/datatypes/RangeableDatatype">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="min" ordered="false"
+ unique="false" eType="#//infrastructure/datatypes/javalangFloat"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="max" ordered="false"
+ unique="false" eType="#//infrastructure/datatypes/javalangFloat"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EAInteger" eSuperTypes="#//infrastructure/datatypes/RangeableDatatype">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="min" ordered="false"
+ unique="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="max" ordered="false"
+ unique="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EnumerationLiteral" eSuperTypes="#//infrastructure/elements/EAElement"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Enumeration" eSuperTypes="#//infrastructure/datatypes/EADatatype">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="literal" ordered="false"
+ lowerBound="2" upperBound="-1" eType="#//infrastructure/datatypes/EnumerationLiteral"
+ containment="true"/>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="userattributes" nsURI="http://www.papyrusuml.org/EAST-ADL2/Infrastructure/UserAttributes/1"
+ nsPrefix="UserAttributes">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="User attributes in EAST-ADL2 are primarily intended to provide a mechanism for augmenting the elements of an EAST-ADL2 model with customized meta-information. All instances of metaclass ADLEntity can have user attributes attached to them. The scope and structuring of this meta-information can be defined on a per-project basis by defining user attributes for certain types of EAST-ADL2 elements within UATemplates.&#xD;&#xA;Since EAST-ADL2 requirements are in their most general form simple objects with all information contained in user-customized, project-specific attributes, the concept of user attributes is also perfectly suitable to define those attributes of requirements. In that sense, basic requirements in EAST-ADL2 can be seen as &quot;empty&quot; elements which only provide a node to which user attributes can be attached in order to supply the requirement with all necessary information, including its main textual description. However, in case of requirements the context in which the available user attributes are defined is different: here the container of the requirements is the point where user attribute definitions are store and these are then applicable only within this container.&#xD;&#xA;The role of user attributes within the overall EAST-ADL2 is thus twofold: they (1) provide a means to customize the language to specific company and project needs and (2) constitute an important part of the requirements support of the language.&#xD;&#xA;The mechanism of user attributes was optimized for flexibility and simplicity. In particular, the actual attributes attached to an element and/or their values may well conflict the attribute definitions in effect for this element. For example, it is perfectly legal to not provide an attribute value if an attribute definition was specified or, the other way round, to provide a value for an undefined attribute. The attribute definitions are merely meant as a guideline for the engineer and as a basis for optionally checking if all attribute values are correct with respect to attribute definitions (by way of appropriate tool support). With this conception of attribute values and definitions, many intricacies and difficult situations during the creation and evolution of a model are circumvented and complex interdependencies between parts of the model are avoided. For example, it is made sure that a model and all its user attribute values can be safely viewed and edited even if the attribute definitions (i.e. UATemplates) for the model are temporarily unavailable or permanently lost.&#xD;&#xA;&#xD;&#xA;Overview:&#xD;&#xA;The stereotypes defined in this subprofile provide a set of constructs to help user define their own attributes. The core construct in EAST-ADL2, the ADLEntity, inherits from UserAttributableElement stereotype so that virtually any types of EAST-ADL2 entities might be enhanced with user-defined attributes. Of course in a UML model one is allowed to add attributes to the classes and UML elements on which stereotypes are applied, yet this mechanism enables to distinguish between attributes meant to be interpreted as compliant with EASt-ADL2 language and other if any."/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="UserAttributeElementType" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="UserAttributeElementType represents a certain, user-defined type of user attributeable elements. With such a type, one or more user attributes can be defined for all user attributeable elements of that type.&#xA;&#xA;For example, engineers at Volkswagen could create a UserAttributeElementType called &quot;VWFunction&quot; with a single user attribute definition. That way, all FunctionTypes for which &quot;VWFunction&quot; is defined as the UserAttributeElementType via association uaType will have the corresponding user attribute.&#xA;&#xA;User attribute element types can be compared to stereotypes in UML2, but are less rigidly defined.&#xA;&#xA;Extension:&#xA;Class"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="extendedElementType"
+ ordered="false" unique="false" eType="#//infrastructure/userattributes/UserAttributeElementType">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The UAElementTypes this type is inheriting from.&#xA;&#xA;When UAElementType ET2 inherits from type ET1, then this means that all attributes defined for ET1 by way of UserAttributeDefinitions are available whenever ET2 is specified as the type of a user attributeable element (in addition to those directly defined in ET2). This includes UserAttributeDefinitions which ET1 itself may inherit from other types."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="attribute" ordered="false"
+ upperBound="-1" eType="#//infrastructure/userattributes/UserAttributeDefinition">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The attributes defined for this type.&#xA;&#xA;Note that also inherited attribute definitions need to be taken into account."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="validFor" ordered="false"
+ unique="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="UserAttributeDefinition" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="UserAttributeDefinition represents a user attribute, i.e. it states that all UserAttributeableElements of a certain UserAttributeElementType are to be attached with an attribute identified by 'key'. For example, it can be specified that certain elements should be amended with an attribute &quot;Status&quot;.&#xA;&#xA;Extension:&#xA;Class, Property"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultValue" ordered="false"
+ unique="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false"
+ unique="false" lowerBound="1" eType="#//infrastructure/datatypes/EADatatype"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="UserAttributeableElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="UserAttributableElement represents an element to which user attributes can be attached. This is done by way of UserAttributeValues (see association 'uaValues'). What user attributes a certain element should be supplied with can be defined beforehand with UserAttributeDefinitions which are organized in UserAttributeElementTypes (see association 'uaTypes').&#xA;&#xA;IMPORTANT: It is technically possible and legal to attach any key/value pair, even if this is in conflict with the attribute definitions of the UserAttributeElementTypes of this UserAttributeableElement (as defined by association 'uaTypes'). All implementations of this information model must expect such attribute definition violations. The reason for this is that (1) the attribute definitions and the types they define for the attributes are only meant as a guideline for working with user attributes on the modeling level, not as an implementation level type system and (2) this convention avoids a multitude of intricate problems when editing a model's user attribute definitions or values, which significantly simplifies implementation.&#xA;&#xA;&#xA;Extension:&#xA;NamedElement"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="uaValue" ordered="false"
+ upperBound="-1" eType="#//infrastructure/userattributes/UserAttributeValue">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The user attribute values, i.e. key-value pairs, which are attached to this element."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="uaType" ordered="false"
+ unique="false" upperBound="-1" eType="#//infrastructure/userattributes/UserAttributeElementType">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The UAElementTypes of this user attirbuteable element.&#xA;&#xA;It is possible to provide more than one type. In that case, the UserAttributeDefinitions of all UAElementTypes apply. If there are several attribute definitions with an identical 'key', then the corresponding user attribute will be applied only once."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="attributedElement"
+ ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_NamedElement"
+ ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="UserAttributeValue" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="UserAttributeValue represents a specific value for a certain user attribute. User attributes are simple key/value pairs which can be attached to all UserAttributeableElements. Each user attribute is identified by a globally unique key.&#xA;&#xA;In principle, there is no restriction which user attributes, i.e. keys, may be attached to a particular element and what strings may be used as value (cf. class UserAttributeableElement). However, user attribute definitions can be used to define a set of legal values for a particular key (see class UserAttributeDefinition) and user attribute element types can be used to state what attributes, i.e. keys, may or should be attached to elements of certain types (cf. class UserAttributeElementType).&#xA;&#xA;The actual value is captured in attribute 'value' and is always represented as a string.&#xA;&#xA;Extension:&#xA;Class, Property"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="definition" ordered="false"
+ eType="#//infrastructure/userattributes/UserAttributeDefinition"/>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="elements" nsURI="http://www.papyrusuml.org/EAST-ADL2/Infrastructure/Elements/1"
+ nsPrefix="Elements">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This section contains the UML-profile specification, specifying stereotypes in the UML-profile, defined from the metaclasses in the Infrastructure::Elements subprofile. It includes specification details for each stereotype. If the stereotype has properties, which may be referred to as tag definitions, or if the stereotype has constraints, this section also includes specification details for these properties and constraints.&#xD;&#xA;&#xD;&#xA;Overview:&#xD;&#xA;The Infrastructure::Elements subprofile of EAST-ADL2 defines general-purpose relationship constructs that may be used to model dependencies between structural constructs.&#xD;&#xA;The purpose of the stereotypes in this subprofile is to specify rigorously (&quot;formally&quot;) the various relationships that may exist between basic constructs."/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="TraceableSpecification" abstract="true"
+ eSuperTypes="#//infrastructure/elements/EAPackageableElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The TraceableSpecification is an abstract metaclass which is used to allow its specializations to be allocated to a Context. &#xA;&#xA;Semantics:&#xA;TraceableSpecification is specialized by requirements, test cases and other specifications, that there by can be allocated to a Context, for example to a sensor or to an entire HW architecture.&#xA;&#xA;See Context and Relationship.&#xA;&#xA;&#xA;Changes:&#xA;New class in EAST-ADL2&#xA;&#xA;Extension: &#xA;TraceableSpecification is a specification stereotype which extends UML2 PackageableElement"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="note" ordered="false"
+ unique="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EAPackageableElement" abstract="true"
+ eSuperTypes="#//infrastructure/elements/EAElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_PackageableElement"
+ ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//PackageableElement"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Realization" eSuperTypes="#//infrastructure/elements/Relationship">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The Realization is a relationship which relates two or more elements across boundaries of the EAST-ADL2 abstraction levels. &#xA;&#xA;It identifies an element that serves as a specification within this realization relationship and on the other side it identifies an element that is supposed to realize this specification on a lower abstraction level or an implementation.&#xA;&#xA;&#xA;Semantics:&#xA;The modification of the supplier realized element impact the realizing client entity. The Realization metaclass implies the semantics that the realizing client is not complete, without the supplier.&#xA;&#xA;Notation:&#xA;A Realization relationship is shown as a dashed line with a triangular arrowhead at the end that corresponds to the realized entity. The entity at the tail of the arrow (the realizing EAElement or the realizing ARElement) depends on the entity at the arrowhead (the realized EAElement).&#xA;&#xA;Changes:&#xA;Renamed from Realization.&#xA;&#xA;Extension: Realization"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="realized" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//infrastructure/elements/EAElement"
+ changeable="false" volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The set of ADL entities, which are realized by the set of client ADL entities or realized by the set of client AUTOSAR elements.&#xD;&#xA;{derived from UML::DirectedRelationship::target}"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="realizedBy" ordered="false"
+ upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"
+ changeable="false" volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The set of client ADL entities, realizing the set of supplier ADL entities.&#xD;&#xA;{derived from UML::Dependency::client}"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Realization" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Realization"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="realizedBy_path" upperBound="-1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="realized_path" upperBound="-1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Relationship" abstract="true" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The Relationship is an abstract metaclass which represents a relationship between arbitrary elements.&#xA;&#xA;Semantics:&#xA;In many cases, Contexts such as functions and sensors need to have requirements and other specification elements allocated them. In other cases, the relation between an element and the related specification element is specific for a certain Context: for example a Requirement on a sensor is only applicable in certain hardware architecture. These relationships are modeled by concrete specializations of Relationship.&#xA;&#xA;See Context and TraceableSpecification.&#xA;&#xA;&#xA;Changes:&#xA;New class in EAST-ADL2&#xA;&#xA;Extension: &#xA;The Relationship stereotype is abstract"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Context" abstract="true" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Context represents a simple and practical way to allocate TraceableSpecifications to a specific EAST-ADL2 model context, and to let this specific model context own Relationships.&#xA;&#xA;Semantics:&#xA;See Relationship and TraceableSpecification.&#xA;&#xA;&#xA;Changes:&#xA;New class in EAST-ADL2&#xA;&#xA;Extension: &#xA;The Context stereotype is an abstract stereotype which extends UML2 PackageableElement"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="traceableSpecification"
+ ordered="false" unique="false" upperBound="-1" eType="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Traceable specification(s) allocated to this context."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ownedRelationship"
+ ordered="false" upperBound="-1" eType="#//infrastructure/elements/Relationship">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Relationship(s) associated to this context."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MultiLevelReference" eSuperTypes="#//infrastructure/elements/Relationship">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="MultiLevelReference gives the possibility to establish reference links (Multi-Level Concept) between model elements."/>
+ </eAnnotations>
+ <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="referring" ordered="false"
+ lowerBound="1" eType="#//infrastructure/elements/EAElement" changeable="false"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Referencing the target element of a Multi-Level reference link."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="reference" ordered="false"
+ lowerBound="1" eType="#//infrastructure/elements/EAElement" changeable="false"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Referencing the source element of a Multi-Level reference link."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Rationale" eSuperTypes="platform:/plugin/org.eclipse.papyrus.sysml/model/sysml.ecore#//modelelements/Rationale"/>
+ <eClassifiers xsi:type="ecore:EClass" name="EAPackage" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="subPackages" ordered="false"
+ upperBound="-1" eType="#//infrastructure/elements/EAPackage" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="element" ordered="false"
+ upperBound="-1" eType="#//infrastructure/elements/EAPackageableElement"
+ containment="true"/>
+ <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="Comment">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" 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="EAElement" abstract="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The EAElement is an abstract metaclass that represents an arbitrary named entity in the domain model. It specializes AUTOSAR Identifiable which has the shortName attribute used for identification of the element within the namespace in which it is defined.&#xA;&#xA;The abbreviation EA in the name of this metaclass is short for EAST-ADL.&#xA;&#xA;&#xA;Semantics:&#xA;Also the EAElement can be used to extend the EAST-ADL2 approach to other languages and standards by adding a generalize relation from the respective (non EAST-ADL2) element to the EAElement.&#xA;&#xA;&#xA;Changes:&#xA;New class in EAST-ADL2&#xA;&#xA;Extension: &#xA;The EAElement stereotype is an abstract stereotype"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false"
+ unique="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"
+ volatile="true" transient="true" derived="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_NamedElement"
+ ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ownedComment" ordered="false"
+ upperBound="-1" eType="#//infrastructure/elements/Comment"/>
+ </eClassifiers>
+ </eSubpackages>
+ </eSubpackages>
+ <eSubpackages name="structure" nsURI="http://www.papyrusuml.org/EAST-ADL2/Structure/1"
+ nsPrefix="Structure">
+ <eClassifiers xsi:type="ecore:EDataType" name="Dummy" instanceClassName="java.lang.String">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Dummy DataType, just added for code generation purpose.&#xD;&#xA;In other words, this data type for EMF generation of SysmlPackage and SysmlFactory&#xD;&#xA;java classes in the model code.&#xD;&#xA;&#xD;&#xA;Do not remove this !!!"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eSubpackages name="functionmodeling" nsURI="http://www.papyrusuml.org/EAST-ADL2/Structure/FunctionModeling/1"
+ nsPrefix="FunctionModeling">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The function modeling is performed in the FunctionalAnalysisArchitecture (in the AnalysisLevel) and the FunctionalDesignArchitecture (in the DesignLevel). The root component of the function compositional hierarchy on AnalysisLevel is the FunctionalAnalysisArchitecture (FAA); the root component of the function compositional hierarchy on DesignLevel is the FunctionalDesignArchitecture (FDA), see the diagram for SystemModeling. &#xA;&#xA;The main modeling concept applied here is functional component modeling: Functions interact with one another via ports that are connected by connectors owned by the composing function. Occurrences of functions are modeled by typed prototypes in the composing function. These occurrences are typed by types. This naming convention of the type-prototype pattern is from AUTOSAR, however the concept of types and typed elements is also available in e.g. UML2."/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="LocalDeviceManager" eSuperTypes="#//structure/functionmodeling/DesignFunctionType">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The LocalDeviceManager represents a DesignFunction that act as a manager or functional interface to Sensors, Actuators and other devices. It is responsible fort translating between the electrical/logical interface of the device, as provided by a BasicSoftwareFunction, and the physical interface of the device. For example, consider a temperature sensor with voltage output. The HardwareFunctionType defines the transfer from temperature to voltage. A BasicSoftwareFunction relays the voltage from the microcontroller’s I/O. The role of the LocalDeviceManager is now to translate from voltage to temperature value, taking into account the sensor’s characteristics such as nonlinearities, calibration, etc. The resulting temperature is available to the other DesignFunctions. By separating the device specific part from the middleware and ECU specific parts, it is possible to systematically change interface function together with the device. &#xA;&#xA;&#xA;Semantics:&#xA;The LocalDeviceManager encapsulates the device-specific or functional parts of a Sensor or, Actuator, device, etc. interface.&#xA;&#xA;&#xA;Constraints:&#xA;[1] A DesignFunctionPrototype typed by a LocalDeviceManager shall be allocated to the same ECU node as the device that it manages is connected to.&#xA;&#xA;[2] A LocalDeviceManager may only interface either Sensors or Actuators.&#xA;&#xA;[3] A LocalDeviceManager shall interface BSWFunctions and DesignFunctions. &#xA;&#xA;&#xA;Extension: Class, specialization of SysML::Block"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DesignFunctionType" eSuperTypes="#//structure/functionmodeling/FunctionType">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The DesignFunctionType is a concrete FunctionType and therefore inherits the elementary function properties from the abstract metaclass FunctionType. The DesignFunctionType is used to model the functional structure on DesignLevel. The syntax of DesignFunctionTypes is inspired from the type-prototype pattern used by AUTOSAR.&#xA;&#xA;The DesignFunctions may interact with other DesignFunctions (i.e., also BasicSoftwareFunctions, HardwareFunctions, and LocalDeviceManager) through their FunctionPorts.&#xA;&#xA;Furthermore, a DesignFunction may be decomposed into (sub-)DesignFunctions. This allows breaking up hierarchically the functionalities provided by the parent DesignFunction into subfunctionalities.&#xA;&#xA;Execution time constraints on the DesignFunctionType can be expressed by ExecutionTimeConstraints, see the Timing package.&#xA;&#xA;If two or more occurrences of an elementary Function are allocated on the same ECU, the code will be placed on the ECU only once (so these occurrences will use the same code but separate memory areas for data).&#xA;&#xA;&#xA;Semantics:&#xA;The DesignFunctionType represents a node in a tree structure corresponding to the functional decomposition of a top level DesignFunction. The DesignFunction is representing the design function used to describe the functionalities provided by a vehicle on the DesignLevel. At the DesignLevel, DesignFunctions are defined and structured according to the functional and hardware system design.&#xA;&#xA;Constraints:&#xA;[1] DesignFunctionTypes may only be used on DesignLevel.&#xA;&#xA;&#xA;&#xA;Extension: UML Class, specialization of SysML::Block"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="part" ordered="false"
+ upperBound="-1" eType="#//structure/functionmodeling/DesignFunctionPrototype"
+ changeable="false" volatile="true" transient="true" derived="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FunctionType" abstract="true" eSuperTypes="#//infrastructure/elements/Context platform:/plugin/org.eclipse.papyrus.sysml/model/sysml.ecore#//blocks/Block">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The abstract metaclass FunctionType abstracts the function component types that are used to model the functional structure, which is distinguished from the implementation of component types using AUTOSAR. The syntax of FunctionTypes is inspired from the concept of Block from SysML.&#xA;&#xA;FunctionBehavior and FunctionTrigger in the Behavior package are associated to a FunctionType.&#xA;&#xA;&#xA;Semantics:&#xA;The FunctionType abstracts the function component types that are used to model the functional structure on AnalysisLevel and DesignLevel.&#xA;Leaf functions of an EAST-ADL2 function hierarchy are called elementary Functions.&#xA;Elementary Functions have synchronous execution semantics:&#xA;1. Read inputs&#xA;2. Execute (duration: Execution time)&#xA;3. Write outputs&#xA;Execution is defined by a behavior that acts as a transfer function.&#xA;Subclasses of the abstract class FunctionType add their own semantics.&#xA;&#xA;If a behavior is attached to the FunctionType, the execution semantic for a discrete elementary FunctionType complies with the run-to-completion semantic. This has the following implications:&#xA;&#xA;1. Input that arrives at the input FunctionPorts after execution begins will be ignored until the next execution cycle.&#xA;&#xA;2. If more than one input value arrives per FunctionPort before execution begins the last value will override all previous ones in the public part of the input FunctionPort (single element buffers for input).&#xA;&#xA;3. The local part of a FunctionPort does not change its value during execution of the behavior.&#xA;&#xA;4. During an execution cycle only one output value can be sent per FunctionPort. If consecutive output values are produced on the same FunctionPort during a single execution cycle, the last value will override all previous ones on the output FunctionPort (single element buffers for output).&#xA;&#xA;5. Output will not be available at an output FunctionPort before execution ends.&#xA;&#xA;6. Elementary FunctionTypes may not produce any side effects (i.e., all data passes the FunctionPorts).&#xA;&#xA;&#xA;Constraints:&#xA;[1] Elementary FunctionTypes shall not have parts.&#xA;&#xA;Notation:&#xA;The FunctionType is shown as a solid-outline rectangle containing the name, with its FunctionPorts or PortGroups on the perimeter. Contained entities may be shown with its FunctionConnectors (White-box view)&#xA;&#xA;Extension: UML Class, specialization of SysML::Block"/>
+ </eAnnotations>
+ <eOperations name="getIcon" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Image"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isElementary" ordered="false"
+ lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
+ changeable="false" volatile="true" transient="true" defaultValueLiteral="false"
+ derived="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="port" ordered="false"
+ upperBound="-1" eType="#//structure/functionmodeling/FunctionPort" changeable="false"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Owned in- and out-flow ports.&#xD;&#xA;{derived from UML::EncapsulatedClassifier::ownedPort}"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="portGroup" ordered="false"
+ upperBound="-1" eType="#//structure/functionmodeling/PortGroup" changeable="false"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Grouping of ports owned by this element.&#xD;&#xA;{derived from UML::Class::nestedClassifier}"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="connector" ordered="false"
+ upperBound="-1" eType="#//structure/functionmodeling/FunctionConnector"
+ changeable="false" volatile="true" transient="true" derived="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FunctionPort" abstract="true" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The ports conserve variables for component interaction."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PortGroup" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The ADLPortGroup metaclass is used to collapse several ports to one. All ports that are part of a port group are graphically represented as a single port. Connectors connected to ports of a port group pair are graphically collapsed to a single line.&#xD;&#xA;The ADLPortGroup has no semantic meaning except that it makes graphical representation of the connected ports easier to read, and provides a means to logically organize several ports to one group.&#xD;&#xA;Connectors are still connected to the contained ports, but tool support may simplify connections by allowing semi-automatic or automatic connection to all ports of a port group. &#xD;&#xA;&#xD;&#xA;Semantics:&#xD;&#xA;The ADLPortGroup provides a means to organize ports and connectors. It does not add semantics. In the model, the ports contained in the port group are connected as individual ports."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="port" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//structure/functionmodeling/FunctionPort"
+ changeable="false" volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The grouped ports.&#xD;&#xA;{derived from UML::EncapsulatedClassifier::ownedPort} when this stereotype is applied on a Class. When the stereotype is applied on a Port the value is derived from the ports in the type."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Port" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Port"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="portGroup" ordered="false"
+ upperBound="-1" eType="#//structure/functionmodeling/PortGroup"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FunctionConnector" eSuperTypes="#//infrastructure/elements/EAElement #//structure/functionmodeling/AllocateableElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The FunctionConnector indicates that the connected FunctionPorts exchange signals or client-server requests/responses.&#xA;&#xA;Semantics:&#xA;The FunctionConnector connects a pair of FunctionFlowPorts or FunctionClientServerPorts. If two FunctionFlowPorts are connected, data elements of the type of the output FunctionFlowPort flow from the output FunctionFlowPort to the input FunctionFlowPort. If FunctionClientServerPorts are connected, the client calls the server according to the operations of the interfaces. The occurrence of the FunctionType that specifies the occurrence of the FunctionPrototype has to be identified by the FunctionConnector as well.&#xA;The FunctionConnector is normally routed according to the hardware topology and the allocation of source and destination. If there are redundant paths, a FunctionAllocation may be used to prescribe allocation.&#xA;&#xA;&#xA;Constraints:&#xA;[1] Can connect two FunctionFlowPorts of different direction when this is an assembly FunctionConnector.&#xA;&#xA;[2] Can connect two FunctionFlowPorts of the same direction when this is a delegation FunctionConnector.&#xA;&#xA;[3] Can connect two ClientServerPorts of different kind when this is an assembly FunctionConnector.&#xA;&#xA;[4] Can connect two ClientServerPorts of the same kind when this is a delegation FunctionConnector.&#xA;&#xA;[5] Can connect two FunctionFlowPorts with direction inout.&#xA;&#xA;Notation: FunctionConnector is shown as a solid line&#xA;&#xA;Extension: UML Connector"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="port" ordered="false"
+ upperBound="2" eType="#//structure/functionmodeling/FunctionPort" changeable="false"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The ports that are connected by this connector.&#xD;&#xA;{derived from UML::Connector::end}"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <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:EReference" name="port1_path" upperBound="-1"
+ eType="#//structure/functionmodeling/FunctionPrototype"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="port2_path" upperBound="-1"
+ eType="#//structure/functionmodeling/FunctionPrototype"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AllocateableElement" abstract="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The AllocateableElement is an abstract superclass for elements that are allocateable.&#xA;&#xA;Semantics:&#xA;The AllocateableElement abstracts all elements that are allocateable.&#xA;Subclasses of the abstract class AllocateableElement add their own semantics.&#xA;&#xA;Extension: abstract, no extension"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FunctionPrototype" abstract="true"
+ eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="FunctionPrototype represents a reference to the occurrence of a FunctionType when it acts as a part.&#xA;&#xA;The FunctionPrototype is typed by a FunctionType.&#xA;&#xA;FunctionTrigger in the Behavior package is associated to a FunctionPrototype.&#xA;&#xA;&#xA;&#xA;Semantics:&#xA;The FunctionPrototype represents an occurrence of the FunctionType that types it.&#xA;&#xA;Notation:&#xA;Shall be shown in the same style as the class specified as type, however it shall be clear that this is a part.&#xA;&#xA;Changes:&#xA;Renamed from ADLFunctionPart&#xA;&#xA;Extension: &#xA;To specialize SysML::BlockProperty, which extends Property"/>
+ </eAnnotations>
+ <eOperations name="getIcon" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Image"/>
+ <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="DesignFunctionPrototype" eSuperTypes="#//structure/functionmodeling/FunctionPrototype #//structure/functionmodeling/AllocateableElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The DesignFunctionPrototype represents references to the occurrence of the DesignFunctionType that types it when it acts as a part.&#xA;The DesignFunctionPrototype is typed by a DesignFunctionType .&#xA;&#xA;Semantics:&#xA;The DesignFunctionPrototype represents an occurrence of the DesignFunctionType that types it.&#xA;&#xA;Extension:&#xA;UML Property, specialization of SysML::BlockProperty"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false"
+ unique="false" lowerBound="1" eType="#//structure/functionmodeling/DesignFunctionType"
+ changeable="false" volatile="true" transient="true" derived="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FunctionalDevice" eSuperTypes="#//structure/functionmodeling/AnalysisFunctionType">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The FunctionalDevice represents an abstract sensor or actuator that encapsulates sensor/actuator dynamics and the interfacing software. The FunctionalDevice is the interface between the electronic architecture and the environment (connected by ClampConnectors). As such, it is a transfer function between the AnalysisFunction and the physical entity that it measures or actuates.&#xA;A Realization dependency can be used for traceability between LocalDeviceManagers and Sensors/Actuators that are represented by the FunctionalDevice.&#xA;&#xA;Semantics:&#xA;The behavior associated with the FunctionalDevice is the transfer function between the environment model representing the environment and an AnalysisFunction. The transfer function represents the sensor or actuator and its interfacing hardware and software (connectors, electronics, in/out interface, driver software, and application software).&#xA;&#xA;Constraints:&#xA;No additional constraints.&#xA;&#xA;Changes:&#xA;Now specializes AnalysisFunctionType.&#xA;&#xA;Extension: Class, specialization of SysML::Block"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AnalysisFunctionType" eSuperTypes="#//structure/functionmodeling/FunctionType">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The AnalysisFunctionType is a concrete FunctionType and therefore inherits the elementary function properties from the abstract metaclass FunctionType. The AnalysisFunctionType is used to model the functional structure on AnalysisLevel. The syntax of AnalysisFunctionTypes is inspired from the type-prototype pattern used by AUTOSAR.&#xA;&#xA;The AnalysisFunctions may interact with other AnalysisFunctions (i.e., also FunctionalDevices) through their FunctionPorts.&#xA;&#xA;Furthermore, an AnalysisFunction may be decomposed into (sub-)AnalysisFunctions. This allows breaking up hierarchically the functionalities provided by the parent AnalysisFunction into subfunctionalities.&#xA;&#xA;A FunctionBehavior may be associated with each AnalysisFunction. In the case where the AnalysisFunction is decomposed, the behavior is a specification for the composed behavior of the subAnalysisFunction. If the AnalysisFunction is not decomposed (i.e., if the AnalysisFunction is elementary), then the behavior is describing the behavior of the subAnalysisFunction, which is to be used when building the global behavior of the FunctionalAnalysisArchitecture by composition of the leaf behaviors.&#xA;&#xA;&#xA;Semantics:&#xA;The AnalysisFunctionType represents a node in a tree structure corresponding to the functional decomposition of a top level AnalysisFunction. The AnalysisFunction is representing the analysis function used to describe the functionalities provided by a vehicle on the AnalysisLevel. At the AnalysisLevel, AnalysisFunctions are defined and structured according to the functional requirements, i.e., the functionalities provided to the user. &#xA;&#xA;Constraints:&#xA;[1] AnalysisFunctionTypes may only be used on AnalysisLevel.&#xA;&#xA;&#xA;Extension: UML Class, specialization of SysML::Block"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="part" ordered="false"
+ upperBound="-1" eType="#//structure/functionmodeling/AnalysisFunctionPrototype"
+ changeable="false" volatile="true" transient="true" derived="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AnalysisFunctionPrototype" eSuperTypes="#//structure/functionmodeling/FunctionPrototype">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The AnalysisFunctionPrototype represents references to the occurrence of the AnalysisFunctionType that types it when it acts as a part.&#xA;&#xA;The AnalysisFunctionPrototype is typed by an AnalysisFunctionType.&#xA;&#xA;&#xA;Semantics:&#xA;The AnalysisFunctionPrototype represents an occurrence of the AnalysisFunctionType that types it.&#xA;&#xA;&#xA;Extension:&#xA;UML Property, specialization of SysML::BlockProperty"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false"
+ unique="false" lowerBound="1" eType="#//structure/functionmodeling/AnalysisFunctionType"
+ changeable="false" volatile="true" transient="true" derived="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FunctionFlowPort" eSuperTypes="platform:/plugin/org.eclipse.papyrus.sysml/model/sysml.ecore#//portandflows/FlowPort #//structure/functionmodeling/FunctionPort">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The FunctionFlowPort is a metaclass for flowports, inspired by the SysML FlowPort.&#xA;&#xA;Semantics:&#xA;FunctionFlowPorts are single buffer overwrite and nonconsumable.&#xA;&#xA;FunctionFlowPorts can be connected if their FunctionPort signatures match; i.e.:&#xA;&#xA;EADatatypes that are ValueTypes are compatible if&#xA;&#xA;* They have the same &quot;dimension&quot;.&#xA;&#xA;* They have the same &quot;unit&quot;.&#xA;&#xA;EADatatypes that are RangeableValueTypes are compatible if&#xA;&#xA;* The source EADatatype has the same or better &quot;accuracy&quot;.&#xA;&#xA;* They have the same baseRangeable.&#xA;&#xA;* The source EADatatype has the same or smaller &quot;maxValue&quot;.&#xA;&#xA;* The source EADatatype has the same or higher &quot;minValue&quot;.&#xA;&#xA;* The source EADatatype has the same or higher &quot;resolution&quot;.&#xA;&#xA;* They have the same &quot;significantDigits&quot;.&#xA;&#xA;EADatatypes that are EnumerationValueTypes are compatible if&#xA;&#xA;* They have the same baseEnumeration.&#xA;&#xA;FunctionFlowPort with direction=in, is called an input FunctionFlowPort:&#xA;&#xA;The input FunctionFlowPort indicates that the containing Function requires input data. The EADatatype of this data is defined by the associated EADatatype. The data is sampled at the invocation of the containing entity for discrete Functions. For continuous Functions, the input FunctionFlowPort represents a continuous input connection point.&#xA;&#xA;The input FunctionFlowPort declares a reception point of data. It represents a single element buffer, which is overridden with the latest data. The type of the data is defined by the associated EADatatype.&#xA;&#xA;FunctionFlowPort with direction=out, is called an output FunctionFlowPort:&#xA;&#xA;The output FunctionFlowPort indicates that the containing Function provides output data. The EADatatype of this data is defined by the associated EADatatype. The data is sent at the completion of the containing entity for discrete Functions. For continuous Functions, the output FunctionFlowPort represents a (time-)continuous output connection point.&#xA;&#xA;The output FunctionFlowPort declares a transmission point of data. The type of the data is defined by the associated EADatatype.&#xA;&#xA;&#xA;Extension: UML Port, specialization of SysML::FlowPort"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false"
+ unique="false" lowerBound="1" eType="#//infrastructure/datatypes/EADatatype"
+ changeable="false" volatile="true" transient="true" derived="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FunctionClientServerPort" eSuperTypes="#//structure/functionmodeling/FunctionPort">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The FunctionClientServerPort is a FunctionPort for client-server interaction. A number of FunctionClientServerPorts of clientServerType &quot;client&quot; can be connected to one FunctionClientServerPort of clientServerType &quot;server&quot;, i.e. when connected the multiplicity for the connection is n to 1 for client and server.&#xA;&#xA;Semantics: &#xA;The FunctionClientServerPort is a FunctionPort for client-server interaction.&#xA;&#xA;FunctionClientServerPorts are single buffer overwrite and nonconsumable.&#xA;&#xA;Constraints:&#xA;[1] A FunctionClientServerPort of clientServerType &quot;client&quot; can only be connected to one FunctionClientServerPort of clientServerType &quot;server&quot;.&#xA;&#xA;Extension: UML Port"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false"
+ lowerBound="1" eType="#//structure/functionmodeling/FunctionClientServerInterface"
+ changeable="false" volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The interface of this port.&#xD;&#xA;&#xD;&#xA;{derived from UML::TypedElement::type}"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <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="clientServerType" ordered="false"
+ unique="false" lowerBound="1" eType="#//structure/functionmodeling/ClientServerKind"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FunctionClientServerInterface" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The FunctionClientServerInterface is used to specify the operations in FunctionClientServerPorts.&#xA;&#xA;Semantics:&#xA;The operations of the FunctionClientServerInterface are required or provided through the FunctionClientServerPorts typed by the FunctionClientServerInterface.&#xA;&#xA;Extension: UML Interface"/>
+ </eAnnotations>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="operation" ordered="false"
+ upperBound="-1" eType="#//structure/functionmodeling/Operation" changeable="false"
+ volatile="true" transient="true" derived="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Operation" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The Operation is the provided/required operation of a FunctionClientServerInterface. It can specify its return values and arguments by EADatatypePrototypes.&#xA;&#xA;Semantics: &#xA;The Operation is the provided/required operation of a FunctionClientServerInterface.&#xA;&#xA;Extension: UML Operation"/>
+ </eAnnotations>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="argument" upperBound="-1"
+ eType="#//infrastructure/datatypes/EADatatypePrototype" changeable="false"
+ volatile="true" transient="true" derived="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="return" ordered="false"
+ eType="#//infrastructure/datatypes/EADatatypePrototype" changeable="false"
+ volatile="true" transient="true" derived="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="ClientServerKind">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This element is an enumeration for the kind of the FunctionClientServerPort, which can either be a &quot;client&quot; or a &quot;server&quot;.&#xA;&#xA;Semantics:&#xA;The ClientServerKind is an enumeration with the two literals &quot;client&quot; and &quot;server&quot;.&#xA;&#xA;Extension: &#xA;Enumeration, no extension."/>
+ </eAnnotations>
+ <eLiterals name="client"/>
+ <eLiterals name="server" value="1"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="EADirectionKind">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This element is an enumeration for the direction of a Port, which can either be &quot;in&quot;, &quot;out&quot;, or &quot;inout&quot;.&#xA;&#xA;Semantics:&#xA;The EADirectionKind is an enumeration with the three literals &quot;in&quot;, &quot;out&quot;, and &quot;inout&quot;.&#xA;&#xA;Extension: &#xA;Enumeration, no extension."/>
+ </eAnnotations>
+ <eLiterals name="in"/>
+ <eLiterals name="out" value="1"/>
+ <eLiterals name="inout" value="2"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BasicSoftwareFunctionType" eSuperTypes="#//structure/functionmodeling/DesignFunctionType">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The BasicSoftwareFunctionType is an abstraction of middleware functionality.&#xA;&#xA;Semantics:&#xA;The BasicSoftwareFunctionType is an abstraction of the middleware.&#xA;&#xA;Extension: &#xA;UML Class, specialization of SysML::Block"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="HardwareFunctionType" eSuperTypes="#//structure/functionmodeling/DesignFunctionType">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The HardwareFunctionType is the transfer function for the identified HardwareComponentType or a specification of an intended transfer function. HardwareFunctionType types DesignFunctionPrototypes in the FunctionalDesignArchitecture. The DesignFunctionPrototype is typically the end of the ClampConnector on DesignLevel.&#xA;&#xA;Prototypes typed by HardwareComponentType may be allocated to HardwareComponents in which case the HardwareFunctionType must match the HardwareFunctionType of the target HardwareComponent.&#xA;&#xA;DesignFunctionPrototypes typed by HardwareFunctionType may be allocated to HardwareComponents in which case the HardwareFunctionType must match the HardwareFunctionType of the target HardwareComponent.&#xA;&#xA;Constraints:&#xA;[1] A DesignFunctionPrototype typed by a HardwareFunctionType shall be connected to the EnvironmentModel via ClampConnectors and to BSWFunctions via FunctionConnectors.&#xA;&#xA;Semantics: &#xA;The HardwareFunctionHardwareFunctionType is the transfer function for hardware components such as sensors, actuators, amplifiers, etc or a specification of an intended transfer function. &#xA;&#xA;HardwareFunctions can be allocated to Sensors or Actuators, i.e. the interfacing element to the plant model.&#xA;&#xA;&#xA;Extension: &#xA;UML Class, specialization of SysML::Block"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hardwareComponent"
+ ordered="false" unique="false" eType="#//structure/hardwaremodeling/HardwareComponentType"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FunctionAllocation" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="FunctionAllocation represents an allocation constraint binding an AllocateableElement on an AllocationTarget.&#xA;&#xA;The same constraint could be expressed in a textual design constraint.&#xA;&#xA;Semantics:&#xA;AllocationTarget is specialized by HardwareComponentPrototype in the HardwareModeling package and AllocateableElement is specialized by the concrete elements DesignFunctionPrototype and FunctionConnector in the FunctionModeling package.&#xA;&#xA;Notation:&#xA;A FunctionAllocation is shown as a dependency (dashed line) with an &quot;allocation&quot; keyword attached to it.&#xA;&#xA;&#xA;Extension: Class, specializesDesignConstraint&#xA;target to AUTOSAR::ECUResourceTemplate::ECU&#xA;allocatedAutosarComponent to AUTOSAR::Components::ClientPort&#xA;&#xA;ToDo:&#xA;Cf. AUTOSAR SWMapping::MappingConstraint"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"
+ unique="false" lowerBound="1" eType="#//structure/hardwaremodeling/AllocationTarget"
+ changeable="false" volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The ECU where the functionality must be allocated."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="allocatedElement" ordered="false"
+ unique="false" lowerBound="1" eType="#//structure/functionmodeling/AllocateableElement"
+ changeable="false" volatile="true" transient="true" derived="true"/>
+ <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="allocatedElement_path"
+ upperBound="-1" eType="#//structure/functionmodeling/AllocateableElement"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="target_path" upperBound="-1"
+ eType="#//structure/hardwaremodeling/AllocationTarget"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Allocation" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The Allocation element contains functionAllocations. It can bundle functionAllocations that belong together, e.g., all functionAllocations for a simulation.&#xA;&#xA;Semantics:&#xA;The Allocation element contains functionAllocations, i.e., it can bundle functionAllocations that belong together.&#xA;&#xA;Extension: Class"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="functionAllocation"
+ ordered="false" upperBound="-1" eType="#//structure/functionmodeling/FunctionAllocation"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FunctionPowerPort" eSuperTypes="#//structure/functionmodeling/FunctionPort">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The FunctionPowerPort is a FunctionPort for denoting the physical interactions between environment and sensing/actuation functions.&#xA;&#xA;Semantics: &#xA;The FunctionPowerPort conserves physical variables in a dynamic process.&#xA;&#xA;The typing Datatype owns two datatypePrototypes called Across and Through, representing the exchanged physical variables of the FunctionPowerPort. In two or more directly connected function power ports, the Across variables always get the same value and the Through variables always sum up to zero.&#xA;&#xA;Constraints:&#xA;[1] The owner of a FunctionPowerPort is either a FunctionalDevice, a HardwareFunctionType, or a FunctionType for environment &#xA;&#xA;[2] Two connected FunctionPowerPort must have the same Datatype.&#xA;&#xA;[3] The typing Datatype shall have two datatypePrototypes called Across and Through, with Datatypes that are consistent and representing the variables of the PowerPort. &#xA;&#xA;&#xA;Extension: UML Port"/>
+ </eAnnotations>
+ <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="type" ordered="false"
+ unique="false" lowerBound="1" eType="#//infrastructure/datatypes/CompositeDatatype"
+ changeable="false" volatile="true" transient="true" derived="true"/>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="hardwaremodeling" nsURI="http://www.papyrusuml.org/EAST-ADL2/Structure/HardwareModeling/1"
+ nsPrefix="HardwareModeling">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The package HardwareModeling contains the elements to model physical entities of the embedded EE system. These elements allow capturing the hardware in sufficient detail to allow preliminary allocation decisions. &#xA;&#xA;The allocation decisions are based on requirements on timing, storage, data throughput, processing power, etc. that are defined in the Functional Analysis Architecture and the Functional Design Architecture.&#xA;&#xA;Conversely, the Functional Analysis Architecture and the Functional Design Architecture may be revised based on analysis using information from the Hardware Design Architecture. An example is control law design, where algorithms may be modified for expected computational and communication delays. Thus, the Hardware Design Architecture contains information about properties in order to support, e.g., timing analysis and performance in these respects."/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="HardwareConnector" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Hardware connectors represent wires that electrically connect the hardware components through its ports.&#xA;&#xA;Semantics:&#xA;The connector joins the two referenced ports electrically, with a resistance defined by the resistance attribute.&#xA;&#xA;Extension:&#xA;Connector"/>
+ </eAnnotations>
+ <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:EReference" name="port" ordered="false"
+ unique="false" lowerBound="2" upperBound="2" eType="#//structure/hardwaremodeling/HardwarePin"
+ volatile="true" transient="true" derived="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="port1_path" upperBound="-1"
+ eType="#//structure/hardwaremodeling/HardwareComponentPrototype"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="port2_path" upperBound="-1"
+ eType="#//structure/hardwaremodeling/HardwareComponentPrototype"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="HardwarePin" abstract="true" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="HardwarePin represents electrical connection points in the hardware architecture. Depending on modeling style, the actual wire or a logical connection can be considered.&#xA;&#xA;Semantics&#xA;Hardware pin represents an electrical connection point.&#xA;&#xA;Extension:&#xA;Port"/>
+ </eAnnotations>
+ <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="isGround" ordered="false"
+ unique="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Indicates that the pin is connected to ground."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="voltage" ordered="false"
+ unique="false" eType="#//infrastructure/datatypes/javalangFloat">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The maximal voltage in Volts provided by the pin. Shall not be defined if isGround=TRUE."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" ordered="false"
+ unique="false" lowerBound="1" eType="#//structure/functionmodeling/EADirectionKind">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The direction of current through the pin."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="impedance" ordered="false"
+ unique="false" eType="#//infrastructure/datatypes/javalangFloat">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The internal impedance in Ohms to ground of the component as seen through this pin."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="power" ordered="false"
+ unique="false" eType="#//infrastructure/datatypes/javalangFloat">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The maximal power in watts that can be provided by this pin or that is consumed."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="HardwareComponentPrototype" eSuperTypes="#//structure/hardwaremodeling/AllocationTarget">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Appear as parts of a HardwareComponentType and is itself typed by a HardwareComponentType. This allows for a reference to the occurrence of a HardwareComponentType when it acts as a part. The purpose is to support the definition of hierarchical structures, and to reuse the same type of Hardware at several places. For example, a wheel speed sensor may occur at all four wheels, but it has a single definition. &#xA;&#xA;Semantics:&#xA;The HardwareComponentPrototype represents an occurrence of a hardware element, according to the type of the HardwareComponentPrototype. &#xA;&#xA;Notation:&#xA;Shall be shown in the same style as the class specified as type, however it shall be clear that this is a part.&#xA;&#xA;Extension: Property"/>
+ </eAnnotations>
+ <eOperations name="getIcon" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Image"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false"
+ unique="false" lowerBound="1" eType="#//structure/hardwaremodeling/HardwareComponentType"
+ changeable="false" volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The type of the HWElement.&#xD;&#xA;{derived from UML::TypedElement::type}"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <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="AllocationTarget" abstract="true"
+ eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The AllocationTarget is a superclass for elements to which AllocateableElements can be allocated. &#xA;&#xA;Semantics:&#xA;An AllocationTarget is a resource element in the Hardware Design Architecture which may host functional behaviors in the Functional Design Architecture.&#xA;&#xA;Extension: abstract, no extension"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="IOHardwarePin" eSuperTypes="#//structure/hardwaremodeling/HardwarePin">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="IOHardwarePin represents an electrical connection point for digital or analog I/O. &#xA;&#xA;Semantics:&#xA;The IOHardwarePin represents an electrical pin or connection point. &#xA;&#xA;Notation:&#xA;IOHardwarePin is shown as a solid square with an IO inside. Its name may appear outside the square."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" ordered="false"
+ unique="false" lowerBound="1" eType="#//structure/hardwaremodeling/IOHardwarePinKind">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="kind defines whether the IOHardwarePort is digital, analog or PWM (Pulse Width Modulated)."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="IOHardwarePinKind">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="IOHardwarePinKind is an enumeration type representing different kinds of I/O Hardware Ports.&#xA;&#xA;Extension: &#xA;Enumeration, no extension."/>
+ </eAnnotations>
+ <eLiterals name="digital">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="I/O with fixed amplitude."/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="analog" value="1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="I/O with varying amplitude."/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="pwm" value="2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="PWM (Pulse Width Modulated) modulated I/O, i.e. a signal with fixed frequency and amplitude but varying duty cycle."/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="other" value="3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Another type of I/O port."/>
+ </eAnnotations>
+ </eLiterals>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PowerHardwarePin" eSuperTypes="#//structure/hardwaremodeling/HardwarePin">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="PowerHardwarePin represents a pin that is primarily intended for power supply, either providing or consuming energy.&#xA;&#xA;Semantics:&#xA;A PowerHardwarePin is primarily intended to be a power supply. The direction attribute of the pin defines whether it is providing or consuming energy &#xA;&#xA;Notation:&#xA;PowerHardwarePin is shown as a solid square with PWR inside. Its name may appear outside the square."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CommunicationHardwarePin" eSuperTypes="#//structure/hardwaremodeling/HardwarePin">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="CommunicationHardwarePin represents an electrical connection point that can be used to define how the wire harness is logically defined. &#xA;&#xA;Semantics:&#xA;The CommunicationHardwarePin represents the hardware connection point of a communication bus. &#xA;&#xA;Depending on modeling style, one or two pins may be defined for a dual-wire bus.&#xA;&#xA;Notation:&#xA;CommunicationHardwarePin is shown as a solid square with a C inside. Its name may appear outside the square."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Node" eSuperTypes="#//structure/hardwaremodeling/HardwareComponentType">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Node represents the computer nodes of the embedded EE system. Nodes consist of processor(s) and may be connected to sensors, actuators and other ECUs via a BusConnector.&#xA;&#xA;Node denotes an electronic control unit that acts as a computing element executing Functions. In case a single CPU-single core ECU is represented, it is sufficient to have a single, non-hierarchical Node. &#xA;&#xA;Semantics:&#xA;The Node element represents an ECU, i.e. an Electronic Control Unit and an allocation target of FunctionPrototypes.&#xA;&#xA;The Node executes its allocated FunctionPrototypes at the specified executionRate. The executionRate denotes how many execution seconds of an allocated functionPrototype´s execution time that is processed each real-time second. Actual execution time is thus found by dividing the parameters of the ExecutionTimeConstraint with executionRate.&#xA;&#xA;Example: If an ECU is 25% faster than a standard ECU (e.g., in a certain context, execution times are given assuming a nominal speed of 100 MHz; Our CPU is then 125 MHz), the executionRate is 1.25. An execution time of 5 ms would then become 4 ms on this ECU.&#xA;&#xA;Notation:&#xA;Node is shown as a solid-outline rectangle with Node at the top right. The rectangle contains the name, and its ports or port groups on the perimeter."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="executionRate" ordered="false"
+ unique="false" lowerBound="1" eType="#//infrastructure/datatypes/javalangFloat"
+ defaultValueLiteral="1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="ExecutionRate is used to compute an approximate execution time. A nominal execution time divided by executionRate provides the actual execution time to be used e.g. for timing analysis in feasibility studies."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="nonVolatileMemory"
+ ordered="false" unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The size in Bytes of the Node’s Non-Volatile memory (ROM, NRAM, EPROM, etc ."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="volatileMemory" ordered="false"
+ unique="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The size in Bytes of the Node’s Volatile memory (RAM)"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PowerSupply" eSuperTypes="#//structure/hardwaremodeling/HardwareComponentType">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="PowerSupply represents a hardware element that supplies power.&#xA;&#xA;Semantics:&#xA;PowerSupply denotes a power source that may be active (e.g., a battery) or passive (main relay).&#xA;&#xA;Notation:&#xA;PowerSupply is shown as a solid-outline rectangle with &quot;PWR&quot; at the top right. The rectangle contains the name, and its ports or port groups on the perimeter."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isActive" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Indicates if the PowerSupply is active or passive."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Sensor" eSuperTypes="#//structure/hardwaremodeling/HardwareComponentType">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Sensor represents a hardware entity for digital or analog sensor elements. The Sensor is connected electrically to the electrical entities of the Hardware Design Architecture. &#xA;&#xA;Semantics:&#xA;Sensor denotes an electrical sensor. The Sensor represents the physical and electrical aspects of sensor hardware. The logical aspect is represented by an HWFunctionType associated to the Sensor.&#xA;&#xA;Notation:&#xA;Sensor is shown as a Circle or oval. The circle contains the name, and its ports or port groups on the perimeter."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Actuator" eSuperTypes="#//structure/hardwaremodeling/HardwareComponentType">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The Actuator is the element that represents electrical actuators, such as valves, motors, lamps, brake units, etc. Non-electrical actuators such as the engine, hydraulics, etc. are considered part of the plant model (environment). Plant models are not part of the Hardware Design Architecture. &#xA;&#xA;Semantics:&#xA;The Actuator metaclass represents the physical and electrical aspects of actuator hardware. The logical aspect is represented by a HWFunctionType associated to the Actuator.&#xA;&#xA;Notation:&#xA;Actuator is shown as a solid-outline rectangle with double vertical borders. The rectangle contains the name, and its ports or port groups on the perimeter."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="LogicalBus" eSuperTypes="#//structure/hardwaremodeling/AllocationTarget">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The LogicalBus represents logical communication channels. It serves as an allocation target for connectors, i.e. the data exchanged between functions in the FunctionalDesignArchitecture. &#xA;&#xA;&#xA;Semantics:&#xA;The LogicalBus represents a logical connection that carries data from any sender to all receivers. Senders and receivers are identified by the wires of the LogicalBus, i.e. the associated HardwareConnectors. The available busSpeed represents the maximum amount of useful data that can be carried. The busSpeed has already deducted speed reduction resulting from frame overhead, timing effects, etc. &#xA;&#xA;Extension: &#xA;Class"/>
+ </eAnnotations>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="busSpeed" ordered="false"
+ unique="false" lowerBound="1" eType="#//infrastructure/datatypes/javalangFloat"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="busType" ordered="false"
+ unique="false" lowerBound="1" eType="#//structure/hardwaremodeling/LogicalBusKind"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="wire" unique="false"
+ upperBound="-1" eType="#//structure/hardwaremodeling/HardwareConnector"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="wire_path" upperBound="-1"
+ eType="#//structure/hardwaremodeling/HardwareComponentPrototype"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="LogicalBusKind">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="LogicalBusKind is an enumeration type representing different kinds of busses.&#xA;&#xA;Extension: &#xA;Enumeration, no extension."/>
+ </eAnnotations>
+ <eLiterals name="TimeTriggered">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Bus is time-triggered"/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="EventTriggered" value="1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Bus is event-triggered"/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="TimeandEventTriggered" value="2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Bus is both time and event-triggered"/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="other" value="3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Another type of bus communication"/>
+ </eAnnotations>
+ </eLiterals>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="HardwarePinGroup" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The HardwarePinGroup provides means to organize hardware pins to improve readability of the component interface and connectors between components. Tools may show the set of ports in the pin group as a single pin, join connectors that go between pins in pin groups to a single line. &#xA;&#xA;Semantics:&#xA;A HardwarePinGroup has no semantics, but is only a grouping mechanism that may affect visualization and port operations in tools.&#xA;&#xA;Extension:&#xA;Class"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Port" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Port"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="portGroup" ordered="false"
+ upperBound="-1" eType="#//structure/hardwaremodeling/HardwarePinGroup"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="port" ordered="false"
+ unique="false" upperBound="-1" eType="#//structure/hardwaremodeling/HardwarePin"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="HardwareComponentType" eSuperTypes="#//infrastructure/elements/Context">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The HardwareComponentType represents hardware element on an abstract level, allowing preliminary engineering activities related to hardware.&#xA;&#xA;Semantics:&#xA;The HardwareElementType is a structural entity that defines a part of an electrical architecture. Through its ports it can be connected to electrical sources and sinks. Its logical behavior, the transfer function, may be defined in an HWFunctionType referencing the HardwareElementType. This is typically connected through its ports to the environment model to participate in the end-to-end behavioral definition of a function. &#xA;&#xA;&#xA;Extension:&#xA;Class"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="connector" ordered="false"
+ unique="false" upperBound="-1" eType="#//structure/hardwaremodeling/HardwareConnector"
+ changeable="false" volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The HWConnectors.&#xD;&#xA;{derived from UML::StructuredClassifier::ownedConnector}"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="port" ordered="false"
+ upperBound="-1" eType="#//structure/hardwaremodeling/HardwarePin" changeable="false"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The Ports.&#xD;&#xA;{derived from UML::EncapsulatedClassifier::ownedPort}"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="part" ordered="false"
+ upperBound="-1" eType="#//structure/hardwaremodeling/HardwareComponentPrototype"
+ changeable="false" volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The HWElementPrototypes.&#xD;&#xA;{derived from UML::Classifier::attribute}"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="bus" ordered="false"
+ upperBound="-1" eType="#//structure/hardwaremodeling/LogicalBus"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="portGroup" ordered="false"
+ upperBound="-1" eType="#//structure/hardwaremodeling/HardwarePinGroup"/>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="systemmodeling" nsURI="http://www.papyrusuml.org/EAST-ADL2/Structure/SystemModeling/1"
+ nsPrefix="SystemModeling">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The ADLSystemModel is the top level container of an EAST-ADL2 model. It represents the electronics &amp; software of the vehicle, and its environment, and concepts related to the various abstraction level of models used in EAST-ADL2. It is mainly based on both concepts: Models and architectures.&#xD;&#xA;VehicleFeatureModel represents the features of the vehicle, i.e. the externally visible properties&#xD;&#xA;The AnalysisArchitecture is the abstract functional description of the vehicle electronics&#xD;&#xA;The DesignArchitecture contains the functional specification and hardware architecture of the vehicle electronics&#xD;&#xA;The Implementation Architecture contains the software architecture and components and the hardware architecture of the vehicle&#xD;&#xA;The Operational Architecture represents the actual software and electronics in the manufactured vehicle&#xD;&#xA;The word model vs. architecture is chosen rather informally. Architecture is used where this term is often used in practice, and where the construct is a complete (in some sense) reflection of the aspects that it captures. Model is used in other cases.&#xD;&#xA;These models/architectures contain further elements in a hierarchy.. Relations between these elements over the boundaries between the models/architectures are contained in the ADLSystemModel. This is possible because the SystemModel is a specialization of the ADLContext, and is thus able to contain relations. Typical relations are described in the sub-package CoreConstructs (see definition of ADLRelationship, ADLRealization and ADLSatisfy).&#xD;&#xA;&#xD;&#xA;Overview:&#xD;&#xA;The ADLSystemModel is the top level container of an EAST-ADL2 model. It represents the electronics &amp; software of the vehicle, and its environment, and concepts related to the various abstraction level of models used in EAST-ADL2. It is mainly based on both concepts: Models and architectures."/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="SystemModel" eSuperTypes="#//infrastructure/elements/Context">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="SystemModel is used to organize models/architectures according to their abstraction level; it can also hold with relationships between the different levels.&#xA;&#xA;Semantics:&#xA;The SystemModel represents the EE system of the vehicle, and concepts related to the various abstraction levels.&#xA;&#xA;Notation:&#xA;The default notation for a SystemModel is a solid-outline rectangle containing the SystemModel's name, and with compartments separating by horizontal lines containing features or other members of the SystemModel. Contained entities may also be shown with its connectors (White-box view).&#xA;&#xA;Changes: New class in EAST-ADL2&#xA;&#xA;Extension: Class"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="implementationLevel"
+ ordered="false" eType="#//structure/systemmodeling/ImplementationLevel">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The Implementation Architecture abstraction level."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="analysisLevel" ordered="false"
+ eType="#//structure/systemmodeling/AnalysisLevel">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The AnalysisArchitecture contained in the SystemModel and connected to the EnvironmentModel through ports-connectors"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="designLevel" ordered="false"
+ eType="#//structure/systemmodeling/DesignLevel">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The designArchitecture contained in the SystemModel and connected to the EnvironmentModel through ports-connectors"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="vehicleLevel" ordered="false"
+ eType="#//structure/systemmodeling/VehicleLevel">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The Vehicle Feature Model contained in the SystemModel."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ImplementationLevel" eSuperTypes="#//infrastructure/elements/Context">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="ImplementationLevel represents the software architecture and components, and the hardware architecture of the EE system in the vehicle. The ImplementationLevel is defined by the AUTOSAR System- and SoftwareArchitecture. For example, functions of the Functional Design Architecture will be realized by AUTOSAR SW-Components in the ImplementationLevel. Traceability is supported from implementation level elements (AUTOSAR) to upper level elements by Realization relationships.&#xA;&#xA;&#xA;Extension: Class"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="autosarSystem" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AnalysisLevel" eSuperTypes="#//infrastructure/elements/Context">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="AnalysisLevel represents the vehicle EE system in terms of its abstract functional definition. It includes the functional analysis architecture (FAA) which represents the abstract functional structure.&#xA;&#xA;Semantics:&#xA;AnalysisLevel represents the vehicle EE system in terms of its abstract functional definition. It defines the logical functionality and a logical decomposition of functionality down to the appropriate granularity.&#xA;&#xA;Notation:&#xA;The Analysis Architecture is shown as a solid-outline rectangle containing the name, with its ports or port groups on the perimeter. Contained entities may be shown with its connectors (White-box view).&#xA;&#xA;Extension:&#xA;Class"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="functionalAnalysisArchitecture"
+ ordered="false" eType="#//structure/functionmodeling/AnalysisFunctionPrototype"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DesignLevel" eSuperTypes="#//infrastructure/elements/Context">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="DesignLevel represents the vehicle EE system on the design abstraction level. It includes primarily the Functional Design Architecture (FDA), and the HardwareDesignArchitecture (HDA).&#xA;&#xA;FDA represents a top level Function. It is supposed to implement all the functionalities of a vehicle, as specified by a Functional Analysis Architecture or a Vehicle level (if no Functional Analysis Architecture has been defined during the process).&#xA;&#xA;The design level in EAST-ADL2 includes the design architecture containing the functional specification and hardware architecture of the vehicle EE system. The design architecture includes the Functional Design Architecture representing a decomposition of functionalities analyzed on the analysis level. The decomposition has the purpose of making it possible to meet constraints regarding non-functional properties such as allocation, efficiency, reuse, or supplier concerns. There is an n-to-m mapping between entities of the design- and the ones on the analysis level. &#xA;&#xA;Non-transparent infrastructure functionality such as mode changes and error handling are also represented at the design level, such that their impact on applications' behaviors can be estimated.&#xA;&#xA;The Functional Design Architecture parts are typed by FunctionTypes and LocalDeviceManagers. The view of the HardwareArchitecture facilitates the realization of LocalDeviceManager as sensor/actuator HW elements.&#xA;&#xA;The HDA is the hardware design from a system perspective. The HDA has two purposes:&#xA;&#xA;1) It shows the physical entities and how they are connected.&#xA;&#xA;2) It is an allocation target for the Functions of the Functional Design Architecture.&#xA;&#xA;The HDA represents the hardware architecture of the embedded system. Its contained HW elements represent the physical aspects of the hardware entities and how they are connected. HardwareFunctionTypes associated to HW components represent the logical behavior of the contained HW elements. &#xA;&#xA;Semantics:&#xA;The DesignLevel is the representation of the vehicle EE system on the design abstraction level. It corresponds to the design of logical functions and boundaries extended in regards to resource commitment.&#xA;&#xA;Notation:&#xA;The DesignLevel is shown as a solid-outline rectangle containing the name, with its ports or port groups on the perimeter. Contained entities may be shown with its connectors (White-box view).&#xA;&#xA;&#xA;Extension: Class"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="functionalDesignArchitecture"
+ ordered="false" eType="#//structure/functionmodeling/DesignFunctionPrototype"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hardwareDesignArchitecture"
+ ordered="false" eType="#//structure/hardwaremodeling/HardwareComponentPrototype"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="allocation" ordered="false"
+ upperBound="-1" eType="#//structure/functionmodeling/Allocation"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="VehicleLevel" eSuperTypes="#//infrastructure/elements/Context">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="VehicleLevel represents an arbitrary set of feature models containing only VehicleFeatures.&#xA;&#xA;Constraints:&#xA;[1] All contained feature models are FeatureModels that only contain VehicleFeatures.&#xA;&#xA;Semantics:&#xA;The VehicleLevel contains the technical feature models.&#xA;&#xA;Extension: class."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="technicalFeatureModel"
+ ordered="false" upperBound="-1" eType="#//structure/featuremodeling/FeatureModel"/>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="vehiclefeaturemodeling" nsURI="http://www.papyrusuml.org/EAST-ADL2/Structure/VehicleFeatureModeling/1"
+ nsPrefix="VehicleFeatureModeling">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="At the highest abstraction level, i.e. the vehicle level, EAST-ADL2 provides support for classification and definition of product lines (the entire vehicle for a car maker or some of its sub-systems for suppliers). The different possible configurations of the embedded electronic architecture are captured on a high abstraction level in terms of features. A feature in this sense is a characteristic or trait that individual variants of the vehicle may or may not have.&#xA;&#xA;The specification of the features themselves, together with their forms of realization, the dependencies between them and the requirements to be respected for their realization is performed at the vehicle level and it should be done independently of any product line. This would be the basis for a consistent reuse of features in different product lines and projects. At this level, a feature represents particular high level requirements to be realized in all product line members that respect some conditions, e.g., US cars with elegance trim and engine size higher than 2.4."/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="DeviationAttributeSet" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="DeviationAttributeSet specifies the set of rules of allowed deviations from the reference model in a referring model. These rules are important, because they make sure that the different FeatureModels, referring to one reference model, follow specific rules for deviation, so a later integration into one FeatureModel might be possible.&#xA;&#xA;Extension:&#xA;DataType"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="allowChangeAttribute"
+ ordered="false" lowerBound="1" eType="#//structure/vehiclefeaturemodeling/DeviationPermissionKind"
+ defaultValueLiteral="YES"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="allowChangeCardinality"
+ ordered="false" lowerBound="1" eType="#//structure/vehiclefeaturemodeling/DeviationPermissionKind"
+ defaultValueLiteral="YES"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="allowChangeDescription"
+ ordered="false" lowerBound="1" eType="#//structure/vehiclefeaturemodeling/DeviationPermissionKind"
+ defaultValueLiteral="YES"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="allowChangeName" ordered="false"
+ lowerBound="1" eType="#//structure/vehiclefeaturemodeling/DeviationPermissionKind"
+ defaultValueLiteral="YES"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="allowMove" ordered="false"
+ lowerBound="1" eType="#//structure/vehiclefeaturemodeling/DeviationPermissionKind"
+ defaultValueLiteral="YES"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="allowReduction" ordered="false"
+ lowerBound="1" eType="#//structure/vehiclefeaturemodeling/DeviationPermissionKind"
+ defaultValueLiteral="YES"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="allowRefinement" ordered="false"
+ lowerBound="1" eType="#//structure/vehiclefeaturemodeling/DeviationPermissionKind"
+ defaultValueLiteral="YES"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="allowRegrouping" ordered="false"
+ lowerBound="1" eType="#//structure/vehiclefeaturemodeling/DeviationPermissionKind"
+ defaultValueLiteral="YES"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="allowRemoval" ordered="false"
+ lowerBound="1" eType="#//structure/vehiclefeaturemodeling/DeviationPermissionKind"
+ defaultValueLiteral="YES"/>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="feature" ordered="false"
+ unique="false" lowerBound="1" eType="#//structure/vehiclefeaturemodeling/VehicleFeature"
+ eOpposite="#//structure/vehiclefeaturemodeling/VehicleFeature/deviationAttributeSet">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The deviation attributes belong to vehicle features that are part of a reference feature model in the context of multi-level feature models. The attribute can constrain the allowed deviation for the respective referring features."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="DeviationPermissionKind">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Possible values for deviation attributes.&#xD;&#xA;&#xD;&#xA;Semantics:&#xD;&#xA;DeviationPermissionKind has no specific semantics. Further subclasses of DeviationPermissionKind will add semantics appropriate to the concept they represent."/>
+ </eAnnotations>
+ <eLiterals name="no">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The deviation is not allowed."/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="subtree" value="1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="In case of deviation attribute &quot;allowMove&quot;: the parent of the VehicleFeature may be changed, but the original parent must remain a predecessor (i.e. moving the VehicleFeature itself is allowed but it may only be moved further down within the same subtree).&#xA;&#xA;In case of deviation attribute &quot;allowReduction&quot;: the children of the VehicleFeature may be moved elsewhere, but they must remain successors of the VehicleFeature (i.e. moving them away is allowed but they may only be moved further down within the same subtree).&#xA;&#xA;This kind is only applicable to deviation attributes &quot;allowMove&quot; and &quot;allowReduction&quot;."/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="append" value="2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The name, description or other attribute may only be changed by appending text without changing the original text. This kind is only applicable to deviation attributes &quot;allowChangeName&quot;, &quot;allowChangeDescription&quot; and &quot;allowChangeAttribute&quot;."/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="subset" value="3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The cardinality may only be changed such that the new cardinality is a subset of the original cardinality. This kind is only applicable to deviation attribute &quot;allowChangeCardinality&quot;."/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="yes" value="4">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The deviation is allowed."/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="widen" value="5">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Feature groups may only be widened, i.e. it is only legal to add features into a feature group that were not grouped before, but not to ungroup features. This kind is only applicable to deviation attribute 'allowRegrouping'."/>
+ </eAnnotations>
+ </eLiterals>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="VehicleFeature" eSuperTypes="#//structure/featuremodeling/Feature">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="VehicleFeature represents a special kind of feature intended for use on the vehicle level. The main difference to features in general is that they provide support for the multi-level concept (with their DeviationAttributeSet) and several additional attributes with meta-information specific to the vehicle level viewpoint.&#xA;&#xA;&#xA;Constraints:&#xA;[1] VehicleFeatures can only be contained in FeatureModels on VehicleLevel.&#xA;&#xA;Semantics:&#xA;A VehicleFeature is a functional or non-functional characteristic, constraint or property that can be present or not in a vehicle product line on the level of the complete system, i.e. vehicle.&#xA;&#xA;Extension:&#xA;Class"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDesignVariabilityRationale"
+ ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isCustomerVisible"
+ ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isRemoved" ordered="false"
+ lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="deviationAttributeSet"
+ ordered="false" eType="#//structure/vehiclefeaturemodeling/DeviationAttributeSet"
+ eOpposite="#//structure/vehiclefeaturemodeling/DeviationAttributeSet/feature">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The deviation attributes belong to vehicle features that are part of a reference feature model in the context of multi-level feature models. The attribute can constrain the allowed deviation for the respective referring features."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="featuremodeling" nsURI="http://www.papyrusuml.org/EAST-ADL2/Structure/FeatureModeling/1"
+ nsPrefix="FeatureModeling">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This package describes the basic feature modeling that is employed on the vehicle level as well as on the artifact levels, i.e. on AnalysisLevel and below. Details of feature modeling that are specific to the vehicle level are factored out and documented separately in the package VehicleFeatureModeling."/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="FeatureModel" eSuperTypes="#//infrastructure/elements/Context">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="FeatureModel denotes a model owning Features. The FeatureModel can be used to describe variability and commonality of a specified EE-System at any abstraction level in the SystemModel.&#xA;&#xA;The FeatureModel can be used either to describe the variability within a particular Function or to describe the overall variability of a vehicle (cf. VehicleLevel). The FeatureModel describing internal variability of a FunctionType refers to the VehicleLevel by a «realizes» link (informative).&#xA;&#xA;Note, however, that a FeatureModel per definition does not always have to define variability. If a feature model contains only mandatory features, then its purpose is completely unrelated to variability. The features in such a FeatureModel could serve, for example, as invariant &quot;coarse-grained requirements&quot;. The most important example is the core technical feature model on vehicle level which is also used for SystemModels that do not contain any variability at all. However, most uses of feature models in EAST-ADL2 are primarily motivated by variability definition and management.&#xA;&#xA;A public, local FeatureModel of an artifact element realizes a VehicleFeature of the VehicleLevel.&#xA;&#xA;&#xA;Semantics:&#xA;The FeatureModel has no specific semantics. Further subclasses of FeatureModel will add semantics appropriate to the concept they represent.&#xA;&#xA;&#xA;Extension:&#xA;Package"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="rootFeature" ordered="false"
+ upperBound="-1" eType="#//structure/featuremodeling/Feature"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="featureLink" ordered="false"
+ upperBound="-1" eType="#//structure/featuremodeling/FeatureLink"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="featureConstraint"
+ ordered="false" upperBound="-1" eType="#//structure/featuremodeling/FeatureConstraint"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Feature" eSuperTypes="#//structure/featuremodeling/FeatureTreeNode">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A Feature represents a characteristic or trait of some object of consideration. The actual object of consideration depends on the particular purpose of the feature's containing feature model.&#xA;&#xA;Example 1: The core technical feature model on vehicle level defines the technical properties of the complete-system, i.e. vehicle. So its object of consideration is the vehicle as a whole and therefore its features represent characteristics or traits of the vehicle as a whole.&#xA;&#xA;Example 2: The public feature model of some function F in the FDA defines the features of this particular software function. So its object of consideration is function F and therefore its features represent characteristics or traits of this function F.&#xA;&#xA;&#xA;Semantics:&#xA;Feature is a (non)functional characteristic, constraint or property that can be present or not in a (vehicle) product line.&#xA;&#xA;&#xA;Extension:&#xA;Class"/>
+ </eAnnotations>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="cardinality" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The Cardinality describes for a feature its cardinality. In the context of a feature group it describes the variability behavior of the group (e.g. a cardinality of 1 in a feature group means that one of the child features has to be selected). Cardinalities for features: A cardinality of 0..1 at a feature means that this feature is optional. A cardinality of 1 means that this feature is mandatory and a cardinality of 0..n with n>1 means that this feature may be instantiated more than once in the product to be realized.&#xA;Note that allowing cardinalities >1 has far-reaching consequences for how features are applied. If this is not desired-needed in a certain project, cardinalities >1 can be prohibited by specifying a complianceLevel in FeatureModel."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="requiredBindingTime"
+ ordered="false" eType="#//structure/featuremodeling/BindingTime">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The required binding time could possibly deviate from the actual binding time but reflects the intended binding time and actual binding time can be later adapted to the required binding time, if surrounding constraints allow a change."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="actualBindingTime"
+ ordered="false" lowerBound="1" eType="#//structure/featuremodeling/BindingTime">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The actual binding time, independent of the required binding time."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="featureParameter" ordered="false"
+ eType="#//infrastructure/datatypes/EADatatypePrototype"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="childNode" ordered="false"
+ upperBound="-1" eType="#//structure/featuremodeling/FeatureTreeNode"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FeatureTreeNode" abstract="true"
+ eSuperTypes="#//infrastructure/elements/Context">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The abstract base class for all nodes in a feature tree.&#xA;&#xA;&#xA;Semantics:&#xA;FeatureTreeNode has no specific semantics. Further subclasses of FeatureTreeNode will add semantics appropriate to the concept they represent.&#xA;&#xA;&#xA;Extension: &#xA;abstract, no extension"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BindingTime" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The motivation for attributing features and variable elements with binding times is that binding times encapsulate important information about the variability under view:&#xA;&#xA;Variability that must be bound (determined, decided) very early in the system development may not be visible in one single feature model but only in comparison with different feature models in the context of multi-level feature trees; late bound variability is variability providing the driver with choices for current equipment configuration.&#xA;&#xA;Binding times are important because they describe if the variability must be decided during system development or if the variability is determined by a customer or if the variability itself is part of the product features that are sold to the customer. Possible binding times are:&#xA;&#xA;-&#x9;SystemDesignTime&#xA;-&#x9;CodeGenerationTime&#xA;-&#x9;PreCompileTime&#xA;-&#x9;LinkTime&#xA;-&#x9;PostBuild&#xA;-&#x9;Runtime&#xA;&#xA;Note that a binding time is never a particular point in time such as April 2nd, 2011, but always a certain stage in the overall development, production and shipment process as represented by the above values.&#xA;&#xA;Each feature must have a binding time (association requiredBindingTime) and may have one further binding time (association actualBindingTime).&#xA;&#xA;The required binding time describes the binding time that the feature is intended to have. But due to technical conditions it may occur that the actually realized binding time of the feature differs from the originally intended binding time. In this case one has to provide information about the actual binding time. In the rationale it must be described by what the required binding time is motivated and what the reasons are for a (different) actual binding time.&#xA;&#xA;Extension:&#xA;Class."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false"
+ lowerBound="1" eType="#//structure/featuremodeling/BindingTimeKind" defaultValueLiteral="systemDesignTime">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The kind of the binding time, see enumeration of binding times."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <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:EEnum" name="BindingTimeKind">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="BindingTimeKind represents the set of possible binding times."/>
+ </eAnnotations>
+ <eLiterals name="systemDesignTime">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Variability will be bound during development of the EE-System.&#xA;&#xA;From AUTOSAR:&#xA;* Designing the VFB.&#xA;* Software Component types (portinterfaces).&#xA;* SWC Prototypes and the Connections between SWCprototypes.&#xA;* Designing the Topology&#xA;* ECUs and interconnecting Networks&#xA;* Designing the Communication Matrix and Data Mapping"/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="codeGenerationTime" value="1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Variability will be bound during code generation.&#xA;&#xA;From AUTOSAR:&#xA;* Coding by hand, based on requirements document.&#xA;* Tool based code generation, e.g. from a model.&#xA;* The model may contain variants.&#xA;* Only code for the selected variant(s) is actually generated."/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="precompileTime" value="2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Variability will be bound during or immediately prior to code compilation.&#xA;&#xA;From AUTOSAR:&#xA;This is typically the C-Preprocessor. Exclude parts of the code from the compilation process, e.g., because they are not required for the selected variant, because they are incompatible with the selected variant, because they require resources that are not present in the selected variant. Object code is only generated for the selected variant(s). The code that is excluded at this stage code will not be available at later stages."/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="linkTime" value="3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Variability will be bound during linking.&#xA;&#xA;From AUTOSAR:&#xA;Configure what is included in object code, and what is omitted&#xA;Based on which variant(s) are selected&#xA;E.g. for modules that are delivered as object code (as opposed to those that are delivered as source code)"/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="postBuild" value="4">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Variability will be bound at certain occasions after shipment, for example when the vehicle is in a workshop."/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="runtime" value="5">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Variability will be bound by the customer after shipment by way of vehicle configuration.&#xA;&#xA;Variability with such a late binding time can also be seen as a special functionality of the system which is not documented as variability at all. However, it is sometimes advantageous to represent such cases as variability in order to be able to seamlessly include them in the overall variability management activities."/>
+ </eAnnotations>
+ </eLiterals>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FeatureLink" eSuperTypes="#//infrastructure/elements/Relationship">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A FeatureLink resembles a Relationship between two Features referred to as 'start' and 'end' feature (such as &quot;feature S requires feature E&quot; or &quot;S excludes E&quot;).&#xA;&#xA;The type of the FeatureLink specifies the precise semantics of the relationship. There are several predefined types, for example &quot;needs&quot; states that S requires E. In addition, user-defined types are allowed as well. For user-defined types, attribute 'customType' provides a unique identifier of the custom link type and attribute 'isBidirectional' states whether the link is uni- or bidirectional.&#xA;&#xA;FeatureLinks are similar to FeatureConstraints but much more restricted. The rationale for having FeatureLinks in addition to FeatureConstraints is that in many cases FeatureLinks are sufficient and tools can deal with them more easily and appropriately (e.g. they can easily be presented visually as arrows in a diagram).&#xA;&#xA;&#xA;Semantics:&#xA;The FeatureLink is a relationship between Features that may constraint the selection of Features involved in the relationship.&#xA;&#xA;&#xA;Constraints:&#xA;[1] The start and end Features of a FeatureLink must be contained in the FeatureModel that contains the FeatureLink.&#xA;&#xA;Extension:&#xA;AssociationClass"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isBidirectional" ordered="false"
+ eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="customType" ordered="false"
+ lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Dependency" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Dependency"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="start" ordered="false"
+ unique="false" lowerBound="1" eType="#//structure/featuremodeling/Feature"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="end" ordered="false"
+ unique="false" lowerBound="1" eType="#//structure/featuremodeling/Feature"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_AssociationClass"
+ ordered="false" unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//AssociationClass"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false"
+ unique="false" lowerBound="1" eType="#//structure/featuremodeling/VariabilityDependencyKind"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FeatureConstraint" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Captures a constraint on the containing feature model's configuration which is too complex to be expressed by way of a FeatureLink. In general, all constraints that can be expressed by a FeatureLink can also be expressed by a FeatureConstraint, but not vice versa."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="criterion" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Constraint" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Constraint"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FeatureGroup" eSuperTypes="#//structure/featuremodeling/FeatureTreeNode">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="FeatureGroup is a specialization of the FeatureTreeNode, enabling grouping of several Features. It specifies with its cardinality how these grouped features can be combined. For example, a FeatureGroup owning the two Features A and B, with a cardinality of [1] means that A and B are alternative.&#xA;&#xA;&#xA;Semantics:&#xA;FeatureGroup is a grouping entity for sibling Features to reflect variability for a set of Features.&#xA;&#xA;&#xA;Extension:&#xA;Class"/>
+ </eAnnotations>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="cardinality" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The Cardinality describes for a feature group its cardinality. It describes the variability behavior of the group (e.g. a cardinality of 1 in a feature group means that one of the child features has to be selected)."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="childFeature" ordered="false"
+ lowerBound="2" upperBound="-1" eType="#//structure/featuremodeling/Feature"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="VariabilityDependencyKind">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This enumeration encapsulates the available types of constraints that can be applied to a FeatureLink or VariationGroup (the latter is applicable only if the variability extension is used).&#xA;&#xA;Semantics:&#xA;Predefined kinds of constraints that can be associated to a FeatureLink or VariationGroup.&#xA;&#xA;Extension: &#xA;Enumeration, no extension."/>
+ </eAnnotations>
+ <eLiterals name="needs">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="When used in a FeatureLink: if the FeatureLink's start feature S is selected, then also its end feature E must be selected: not (S and not E). Always unidirectional.&#xA;&#xA;When used in a VariationGroup: assuming the ordered association variableElement in meta-class VariationGroup refers to elements VE1, VE2, ..., VEn, this kind states that VE1 requires (i.e. may not appear without) all other elements VE2, VE3, ..., VEn."/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="optionalAlternative" value="1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="When used in a FeatureLink: the FeatureLink's start feature S and end feature E are incompatible and must never be both selected in a single configuration: not (S and E). Always bidirectional.&#xA;&#xA;When used in a VariationGroup: this kind states that at most(!) one element of the elements denoted by association variableElement of the VariationGroup must be selected in any valid final system configuration."/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="custom" value="2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="When used in a FeatureLink: the attribute customType in the FeatureLink defines the custom feature link type as explained there.&#xA;&#xA;When used in a VariationGroup: this kind states that the dependency between the elements denoted by association variableElement of the VariationGroup will be defined by a logical expression in attribute 'constraint' of the VariationGroup."/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="mandatoryAlternative" value="3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="When used in a FeatureLink: either the FeatureLink's start feature S or its end feature E must be selected in any configuration: S xor E. Always bidirectional.&#xA;&#xA;When used in a VariationGroup: this kind states that exactly(!) one element of the elements denoted by association variableElement of the VariationGroup must be selected in any valid final system configuration."/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="suggests" value="4">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Weak form of &quot;needs&quot;. &#xA;&#xA;When used in a FeatureLink: if the FeatureLink's start feature S is selected, then usually(!) also its end feature E must be selected. You can select S without E but you should have a good reason to do so. Always unidirectional.&#xA;&#xA;When used in a VariationGroup: accordingly as above."/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="impedes" value="5">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Weak from of &quot;excludes&quot;.&#xA;&#xA;When used in a FeatureLink: the FeatureLink's start feature S and its end feature E must usually(!) not be selected in a single configuration. You can select S together with E but you should have a good reason to do so. Always bidirectional.&#xA;&#xA;When used in a VariationGroup: accordingly as above."/>
+ </eAnnotations>
+ </eLiterals>
+ </eClassifiers>
+ </eSubpackages>
+ </eSubpackages>
+ <eSubpackages name="behavior" nsURI="http://www.papyrusuml.org/EAST-ADL2/Behavior/1"
+ nsPrefix="Behavior">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This chapter describes the behavioral constructs of the EAST-ADL2 language. What we mean by behavior here is either a function performing some computation on provided data (FlowPort interaction) or the execution of a service called upon by another function (in a ClientServer interaction).&#xA;&#xA;The execution of the behavior assumes a strict run-to-completion, single buffer-overwrite management of data. That is each execution starts with the reading of data, which are not stored locally and are constantly replaced by fresher data arriving on ports. The function then performs some calculation and finally outputs some data on the output ports. The execution is non-concurrent: only one behavior is active at any point in time and not preemptable.&#xA;&#xA;A FunctionBehavior in EAST-ADL2 is mainly a reference point to some description provided else where in a tool-dependent format, as depicted in the Diagram for FunctionBehavior below. This enables to re-use current behavior descriptions contained in the tools currently used by automotive companies and suppliers. Given that, requirement and traceability information can be provided for behavior in relation to the rest of the EAST-ADL2 model. A list of typical tool format is provided as an enumeration, FunctionBehaviorKind. Depending on the EAST-ADL2 language implementation such a behavior description can be provided in the model itself, for instance when using a UML-implementation of the EAST-ADL2, UML behaviors can be used. Yet it shall be noted that the behavior described shall be compliant with the execution semantics of an EAST-ADL2 function.&#xA;&#xA;The rest of the behavioral constructs (see the first following Diagram of the behavior of a function) relate to the organization of the triggering of behaviors attached to functions. At a high level one can define activation Modes which may span across the whole architecture. Such Modes can be regrouped in exclusive sets. Whenever a FunctionTrigger or a FunctionBehavior refers to a Mode, this means its activation is dependent on the Mode being active or not. Thus different execution configurations can be defined.&#xA;&#xA;The triggering of behavior itself, defined by FunctionTrigger, can be either time or event-based and be either type-wise or prototype-wise to allow further adjustments of functions in a particular context. Events and timing constraint that are defined in separate sections of the language (see Events, Time and TimingConstraints sections)."/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="FunctionBehavior" eSuperTypes="#//infrastructure/elements/Context">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="FunctionBehavior represents the behavior of a particular FunctionType - referred to by the association to FunctionType. What is meant by behavior is a transfer function performing some data computation (in case of FlowPort interaction) or an operation that can be called by another function (in case of ClientServer interaction). The representation property indicates the kind of representation used to describe the behavior (see FunctionBehaviorKind). The representation itself (e.g defined in an external model file) is identified by a URL String in the path property. If the representation is provided in the same model file as the system itself, the path property is not used. It is merely a placeholder with the purpose of containing information about and links to the external behavioral model.&#xA;&#xA;FunctionBehavior may refer to execution modes - by the association to the element Mode. This is not mandatory, however when provided, the relation indicates the list of execution Modes in which the FunctionBehavior can potentially be executed (see element Mode).&#xA;&#xA;The triggering of a FunctionBehavior is unknown to the behavior. It is defined by FunctionTriggers (see this element).&#xA;&#xA;Note that the association between FunctionBehavior and FunctionType is specified as a one-way navigable link from FunctionBehavior to FunctionType: what this means is that the EAST-ADL2 language specification does not require that a FunctionType be aware of the FunctionBehavior it is assigned to. Only the navigation from behavior to function is mandatory, the implementation of a reverse link might however be provided depending on the tool support.&#xA;&#xA;Although each FunctionBehavior can refer to at most one FunctionType, note that several FunctionBehaviors can be referring to the same FunctionType. In this case when a FunctionType has several behaviors, only one behavior shall be active at any given time instant, i.e. no concurrent behaviors are allowed in EAST-ADL2 functions. For instance we cannot have one active behavior in Simulink and one in Modelica. Both can be referenced in the same function but at any given time, only one is executable. Conditions such as modes, etc. must prevent two behaviors being potentially active.&#xA;&#xA;Note also that FunctionBehaviors are assigned to FunctionTypes and not to FunctionPrototypes. This means that among a set of FunctionPrototypes, which share the same type, behaviors are also shared. However when a FunctionBehavior refer to Modes, which are referred to by different FunctionTriggers, different triggering conditions can be provided among a set of FunctionPrototypes for the same set of behaviors - see FunctionTrigger.&#xA;&#xA;In the case where the identified FunctionType is decomposed in parts, the behavior is a specification for the composed behavior of the FunctionType. &#xA;&#xA;&#xA;Semantics:&#xA;Though the representation provided to a FunctionBehavior follows the semantics of the behavioral representation used (for instance SIMULINK, ASCET, etc.). Externally, in relation to the EAST-ADL2 model, however, the FunctionBehavior has synchronous execution semantics:&#xA;1. Read inputs from input ports&#xA;2. Execute Behavior with fixed inputs (run to completion)&#xA;3. Provide outputs to output ports&#xA;&#xA;The data transfer between the EAST-ADL2 ports and the FunctionBehavior is representation specific and considered part of the execution of the FunctionBehavior.&#xA;&#xA;&#xA;&#xA;Notation:&#xA;FunctionBehavior appears, if shown in a diagram, as a solid-outline rectangle with &quot;Behavior&quot; at the top right. The rectangle contains the name. &#xA;&#xA;&#xA;Extension: Behavior"/>
+ </eAnnotations>
+ <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:EAttribute" name="path" ordered="false"
+ unique="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The path to the file or model entity containing the ExternalBehavior"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="representation" ordered="false"
+ unique="false" lowerBound="1" eType="#//behavior/FunctionBehaviorKind">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The type of behavior that the ExternalBehavior represents."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="mode" ordered="false"
+ unique="false" upperBound="-1" eType="#//behavior/Mode"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="function" ordered="false"
+ unique="false" eType="#//structure/functionmodeling/FunctionType"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="FunctionBehaviorKind">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="FunctionBehaviorKind is an enumeration which lists the various representations, used to describe a FunctionBehavior. It is used as a property of a FunctionBehavior. Several representations are listed; however one can always extend this list by using the literal OTHER. &#xA;&#xA;Semantics:&#xA;Distinction between UML and MARTE comes from the slight differences in the behavioral definitions (namely concerning data-flow oriented behaviors).&#xA;&#xA;It shall be noted that though one can use several languages to provide a representation of a FunctionBehavior, the semantics shall remain compliant with the overall EAST-ADL2 execution semantics.&#xA;&#xA;Extension: &#xA;Enumeration, no extension."/>
+ </eAnnotations>
+ <eLiterals name="ASCET"/>
+ <eLiterals name="OTHER" value="1"/>
+ <eLiterals name="SCADE" value="2"/>
+ <eLiterals name="SDL" value="3"/>
+ <eLiterals name="SIMULINK" value="4"/>
+ <eLiterals name="STATEMATE" value="5"/>
+ <eLiterals name="MARTE" value="6"/>
+ <eLiterals name="UML" value="7"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Mode" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Modes are a way to introduce various configurations in the system to account for different states of the system, or of a hardware entity, or an application. The use of modes can be used to filter different views of the model.&#xA;&#xA;Modes are characterized by a Boolean condition provided as a String which evaluates to true when the Mode is active.&#xA;&#xA;As far as behavior is concerned, Modes enable to logically organize a set of triggers and behaviors over a set of functions. Modes are both referred to by FunctionTriggers and FunctionBehaviors, thus capturing this organization (see FunctionTrigger and FunctionBehavior).&#xA;&#xA;Modes can be further organized in mutually exclusive sets with ModeGroups (see that element).&#xA;&#xA;Semantics:&#xA;The Mode is active if and only if the condition is true."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="condition" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ <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="Behavior" eSuperTypes="#//infrastructure/elements/Context">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Behavior is a container of FunctionBehaviors, it enables to regroup the behaviors assigned to functions in a particular context on which TraceableSpecifications can be applied. This can take any appropriate form depending on the language implementation (for instance in a UML implementation it could be a Package).&#xA;&#xA;The collection of functional behaviors can be done across the EAST-ADL2 abstraction levels.&#xA;&#xA;Semantics:&#xA;This element has the same role and semantics as Context, but for behavioral aspects.&#xA;&#xA;Extension: BehavioredClassifier"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="behavior" ordered="false"
+ upperBound="-1" eType="#//behavior/FunctionBehavior"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="functionTrigger" ordered="false"
+ upperBound="-1" eType="#//behavior/FunctionTrigger"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="modeGroup" ordered="false"
+ unique="false" upperBound="-1" eType="#//behavior/ModeGroup"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FunctionTrigger" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="FunctionTrigger represents the triggering parameters necessary to define the execution of an identified FunctionType or FunctionPrototype. When referring to a FunctionType, a FunctionTrigger applies to all FunctionPrototypes of the given type. When referring to a FunctionPrototype, the trigger is only valid for this particular FunctionPrototype.&#xA;&#xA;Triggering is defined either as event-driven or time-driven - depending on the property triggerPolicy. If set to TIME, the timing constraint is defined with an event constraint associated with the Function’s or FunctionPrototype’s EventFunction. The function event refers to the activation of the function. If set to EVENT, one or several ports of the Function triggers the function, i.e. activates the function. In both cases, a triggerCondition is provided in the form of a Boolean expression that must evaluate to true for the function to execute. The triggerCondition syntax and grammar is unspecified.&#xA;&#xA;In addition a FunctionTrigger may refer to a list of Modes in which the trigger will be considered as potentially active. Because of FunctionBehaviors may also refer to Modes, it is thus possible to arrange various function configurations for which different sets of triggers and behaviors are active. And this, at various level of granularity, either with a type-wise scope (by referring to a FunctionType) or specifically at prototype level (by referring to a FunctionPrototype).&#xA;&#xA;Note that several FunctionTriggers may be assigned to the same Function (Type or Prototype), for instance to define alternative trigger conditions and/or timing constraints.&#xA;&#xA;&#xA;Semantics:&#xA;Association Mode defines in which modes the trigger is active&#xA;&#xA;It is possible to have multiple triggers on a function, e.g. a slow period complemented with an event trigger allows fast response when needed but a minimal execution rate.&#xA;&#xA;&#xA;Constraints:&#xA;[1] The port association must not be empty when triggerPolicy is EVENT.&#xA;&#xA;[2] The port association is empty when triggerPolicy is TIME.&#xA;&#xA;[3] Function and functionPrototype are mutually exclusive associations. A FunctionTrigger either identifies a FunctionType or a FunctionPrototype as its target function, but not both.&#xA;&#xA;[4] Only FunctionFlowPort of FlowDirection=in shall be referred to in the association port and at least one of them shall trigger the function&#xA;&#xA;Extension:&#xA;Class"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="triggerCondition" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="An OCL expression that allows release of the ADLFunctionType only if it evaluates to TRUE."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="triggerPolicy" ordered="false"
+ unique="false" lowerBound="1" eType="#//behavior/TriggerPolicyKind">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Defines whether time or trigger events on ports makes the Function execute"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="mode" ordered="false"
+ unique="false" upperBound="-1" eType="#//behavior/Mode"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="function" ordered="false"
+ unique="false" eType="#//structure/functionmodeling/FunctionType"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="port" ordered="false"
+ unique="false" upperBound="-1" eType="#//structure/functionmodeling/FunctionPort"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="functionPrototype" ordered="false"
+ unique="false" eType="#//structure/functionmodeling/FunctionPrototype"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="TriggerPolicyKind">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="TriggerPolicyKind represents an enumeration for triggering policies.&#xA;&#xA;Semantics:&#xA;The TriggerPolicyKind contains EVENT and TIME as possible triggering policies. &#xA;&#xA;Extension: &#xA;Enumeration, no extension."/>
+ </eAnnotations>
+ <eLiterals name="EVENT">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Triggering by event."/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="TIME" value="1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Triggering by time."/>
+ </eAnnotations>
+ </eLiterals>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ModeGroup" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="ModeGroups serve as container of Modes. The set of Modes in a ModeGroup are mutually exclusive. This means that only one Mode of a ModeGroup is active at any point in time. A precondition in the form of a Boolean expression is assigned to the ModeGroup so that ModeGroups can be switched on and off as a whole."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="precondition" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="mode" ordered="false"
+ unique="false" lowerBound="1" upperBound="-1" eType="#//behavior/Mode"/>
+ <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>
+ </eSubpackages>
+ <eSubpackages name="requirements" nsURI="http://www.papyrusuml.org/EAST-ADL2/Requirements/1"
+ nsPrefix="Requirements">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A requirement expresses a condition or capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification or other formally imposed properties.&#xA;&#xA;Requirements can be introduced in different phases of the development process for different reasons. They could be introduced by marketing people, control engineers, system engineers, software engineers, Driver/OS developers, basic software developers or hardware engineers. This leads to the fact that requirements have many sources, and requirements are of many types (at different level of detail) and have several relations between them. Under these conditions the number of requirements can become quickly unmanageable if appropriate management does not exist. Note that, requirements can change during the project development and the changes should be taken into account. Requirements are organized hierarchically through several kinds of refinement relations.&#xA;&#xA;EAST-ADL2 has constructs that deal with these problems. Some of these constructs deals with general issues in software development and have been already addressed in the past by general processes. As done for the structure part of EAST-ADL2, the requirements part will be compliant with UML2. The EAST-ADL2 adapts existing concepts whenever possible and develops new ones otherwise. Support for requirements modeling is provided by the EAST-ADL2 on two levels: a generic level and specializing levels (e.g. Dependability.SafetyRequirement) where specialized requirement entities are provided which are intended for certain special uses.&#xA;&#xA;Elements inspired by SysML are Requirement, Satisfy, Refine, DeriveRequirement, (Verify)"/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="QualityRequirement" eSuperTypes="#//requirements/Requirement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="QualityRequirements are the kind of requirements that are used to introduce externally visible properties of the system considered as a whole.&#xA;The attribute qualityRequirementType allows a more specific classification.&#xA;&#xA;&#xA;&#xA;Extension: &#xA;Class, specializes Requirement"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="qualityRequirementType"
+ ordered="false" lowerBound="1" eType="#//requirements/QualityRequirementKind"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Requirement" eSuperTypes="platform:/plugin/org.eclipse.papyrus.sysml/model/sysml.ecore#//requirements/Requirement #//requirements/RequirementSpecificationObject">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The Requirement represents a capability or condition that must (or should) be satisfied. A Requirement can also specify an informal constraint, e.g. &quot;The development of the component X must be according to the standard Y&quot;, or &quot;The realization of this function as a software component must adhere to the scope and external interface as specified by this function&quot;. It will be used to unite the common properties of specific requirement types. A Requirement may either be directly associated to a Context (by inheriting from TraceableSpecification or it may be included in a RequirementContainer, which represents a larger unit or module of specification information.&#xA;&#xA;The traceability between Requirement entities, and other specification or design entities, will be ensured by the relationship dependencies described in the Infrastructure part of this specification.&#xA;&#xA;Semantics:&#xA;The Requirement metaclass applies to the EAElement that is associated to the Requirement through the Satisfy relation.&#xA;&#xA;Notation:&#xA;Requirement is shown as a solid rectangle with Req top right and its name.&#xA;&#xA;Changes:&#xA;Renamed from Requirement, name clash with SysML&#xA;ToDo:&#xA;Check the attributes specified in EAST.&#xA;&#xA;Extension:&#xA;To specialize SysML::Requirement, which extends Class"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="formalism" ordered="false"
+ eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Specifies the language used for the requirement statement."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="url" ordered="false"
+ unique="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Reference to possible external file containing the requirement statement."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="mode" ordered="false"
+ unique="false" upperBound="-1" eType="#//behavior/Mode"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RequirementSpecificationObject" abstract="true"
+ eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="In general it is a standard practice (e.g. using IBM Rational DOORS) to define requirements and also rationales, explanations and other requirement related information as direct successors or predecessors of an appropriate requirement. Thus, requirements and requirement related information are generalized to RequirementSpecificationObject which in turn can be referenced by the structuring container structure (RequirementContainer)."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="referencingContainer"
+ ordered="false" lowerBound="1" upperBound="-1" eType="#//requirements/RequirementsContainer"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RequirementsContainer" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="RequirementContainer represents a larger unit or module of specification information. It is used to share several Requirements which are semantically related to each other. Also, a RequirementContainer structure will be used for structuring requirement specification objects (Requirements, Rationals etc.). Thus, to preserve the ordering of requirement specification objects the ordering of child containers is very important here.&#xA;&#xA;In addition to sharing related Requirements, the RequirementContainer allows to define relations between its contained Requirements and also a grouping of them.&#xA;&#xA;Furthermore, the RequirementContainer allows introducing additional user attribute definitions by way of UserAttributeElementTypes or UserAttributeTemplates which are valid only locally inside this RequirementContainer. These are additional in that they are used in addition to the user attribute definitions which are provided globally for the entire EAST-ADL2 repository.&#xA;&#xA;An EAST-ADL2 system model may contain a forest of RequirementContainer (see parent child relationship). Only non root RequirementContainer which have a parentContainer are allowed to reference a RequirementSpecificationObject.&#xA;The RequirementContainer with its parent child containment relationship and the reference to RequirementSpecificationObject is the basis element for structuring requirement information into a forest structure.&#xA;&#xA;Constraints:&#xA;[1] Only non root RequirementContainer (parentContainer must be set) which have a parentContainer are allowed to reference a RequirementSpecificationObject.&#xA;&#xA;Notation:&#xA;RequirementContainer is shown as a solid-outline rectangle containing the name. Contained entities may also be shown inside (White-box view)&#xA;&#xA;Extension: Package"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="childContainer" upperBound="-1"
+ eType="#//requirements/RequirementsContainer" eOpposite="#//requirements/RequirementsContainer/parentContainer">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Sub containers of a requirement container. Sub containers may have references (each time max. 1) to requirement specification objects. To preserve the original ordering of requirement specifiaction objects, the ordering of Sub containers is very important here."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="parentContainer" ordered="false"
+ unique="false" eType="#//requirements/RequirementsContainer" eOpposite="#//requirements/RequirementsContainer/childContainer">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The Parent container of a container. If there is no parent, the container is a root container and thus cannot have a reference to a requirement specification object."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="containedReqSpecObject"
+ ordered="false" unique="false" eType="#//requirements/RequirementSpecificationObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="QualityRequirementKind">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="QualityRequirementKind represents an enumeration with enumeration literals describing various types of quality requirements.&#xA;&#xA;Extension: &#xA;Enumeration, no extension."/>
+ </eAnnotations>
+ <eLiterals name="ergonomy"/>
+ <eLiterals name="configurability" value="1"/>
+ <eLiterals name="integrity" value="2"/>
+ <eLiterals name="safety" value="3"/>
+ <eLiterals name="other" value="4"/>
+ <eLiterals name="security" value="5"/>
+ <eLiterals name="humanMachineInterface" value="6"/>
+ <eLiterals name="timing" value="7"/>
+ <eLiterals name="availability" value="8"/>
+ <eLiterals name="reliability" value="9"/>
+ <eLiterals name="confidentiality" value="10"/>
+ <eLiterals name="maintainability" value="11"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RequirementsRelatedInformation" eSuperTypes="#//requirements/RequirementSpecificationObject">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This is a placeholder for all objects which are not Requirements (such as Rational, Explanations, Related Material etc...). E.g. an element of type RequirementsRelatedInformation which is a rational of an element of type Requirement will directly succeeding this requirement as a sibling element (see structuring of requirement elements via RequirementContainer).&#xA;&#xA;Semantics:&#xA;This metaclass can be used to represents information this is not a requirement but is related to requirements and is often provided together with a set of requirements in a requirements specification."/>
+ </eAnnotations>
+ <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="RequirementsRelationship" abstract="true"
+ eSuperTypes="#//infrastructure/elements/Relationship">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A relation between two or more requirements. Source and target requirements of the relation are distinguished, which means that the relation is directed (from source to target). If such a distinction does not make sense, then use a ReqGroup instead.&#xA;The standard case will be a relation with one source and one target requirement. However, it is possible to have several source and-or several target requirements so that general n:m relations can be expressed with instances of this class.&#xA;The semantic of a concrete requirement relation is not defined by the EAST-ADL2 and therefore needs to be provided by the modeler. In particular, three ways are conceivable:&#xA;1) The user attributes of the relation can be used to specify its meaning, for example with a user attribute called relationType which is set to values such as needs or excludes.&#xA;2) The uaType (user attributeable element type) can be used. Certain types will be used for certain relation semantics.&#xA;3) ReqRelationGroups can be used, i.e. all relations with an excludes meaning are put in one relation group and all with a needs meaning are put in another"/>
+ </eAnnotations>
+ <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="Satisfy" eSuperTypes="#//requirements/RequirementsRelationship platform:/plugin/org.eclipse.papyrus.sysml/model/sysml.ecore#//requirements/Satisfy">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The Satisfy is a relationship metaclass, which signifies relationship between Requirements and an element intended to satisfy the Requirement.&#xA;&#xA;Semantics:&#xA;The Satisfy metaclass signifies a satisfied requirement/satisfied by relationship between a set of Requirements and a set of satisfying entities, where the modification of the supplier Requirements may impact the satisfying client entities. The Satisfy metaclass implies the semantics that the satisfying client entities are not complete, without the supplier Requirement.&#xA;&#xA;Constraints:&#xA;[1] The EAElement in the association satisfiedBy may not be a Requirement or RequirementContainer.&#xA;[2] An element of type Satisfy is only allowed to have associations to either elements of type UseCase (see satisfiedUseCase) or elements of type Requirement (see satisfiedRequirement). Not both at the same time!&#xA;&#xA;Notation:&#xA;A Satisfy relationship is shown as a dashed line with a arrowhead at the end that corresponds to the satisfied Requirement or UseCaseUseCase. The entity at the tail of the arrow (the satisfying EAElement or the satisfying ARElement) depends on the entity at the arrowhead (the satisfied Requirement or UseCaseUseCase).&#xA;&#xA;Extension:&#xA;To specialize SysML::Satisfy, which extends Realization."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="satisfiedRequirement"
+ ordered="false" upperBound="-1" eType="#//requirements/Requirement" changeable="false"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="List of satisfied ADL requirements, which are satisfied by the client ADL entities.&#xD;&#xA;{derived from UML::DirectedRelationship::target}"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="satisfiedBy" ordered="false"
+ upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"
+ changeable="false" volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="List of satisfied ADL use cases, which are satisfied by the client ADL entities or satisfied by the client AUTOSAR elements.&#xA;{derived from UML::Dependency::client}"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="satisfiedBy_path" upperBound="-1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="satisfiedUseCase" ordered="false"
+ upperBound="-1" eType="#//requirements/UseCase"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="UseCase" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_UseCase" ordered="false"
+ lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//UseCase"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="include" ordered="false"
+ upperBound="-1" eType="#//requirements/Include" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="extend" ordered="false"
+ upperBound="-1" eType="#//requirements/Extend" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="extensionPoint" ordered="false"
+ upperBound="-1" eType="#//requirements/ExtensionPoint" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Include" eSuperTypes="#//infrastructure/elements/Relationship">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Include" ordered="false"
+ lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Include"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="addition" ordered="false"
+ lowerBound="1" eType="#//requirements/UseCase"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Extend" eSuperTypes="#//infrastructure/elements/Relationship">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Extend" ordered="false"
+ lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Extend"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="extendedCase" ordered="false"
+ lowerBound="1" eType="#//requirements/UseCase"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="extensionLocation" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//requirements/ExtensionPoint"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ExtensionPoint" eSuperTypes="#//requirements/RedefinableElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_ExtensionPoint"
+ ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ExtensionPoint"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RedefinableElement" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_RedefinableElement"
+ ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//RedefinableElement"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Refine" eSuperTypes="#//requirements/RequirementsRelationship platform:/plugin/org.eclipse.uml2.uml.profile.l2/model/L2.ecore#//Refine">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The Refine is a relationship metaclass, which signifies a dependency relationship in-between Requirements and EAElements, showing the relationship when a client EAElement refines the supplier Requirement.&#xA;&#xA;Semantics:&#xA;The Refine metaclass signifies a refined requirement/refined by relationship between a Requirement and an EAElement, where the modification of the supplier Requirement may impact the refining client EAElement. The Refine metaclass implies the semantics that the refining client EAElement is not complete, without the supplier Requirement. &#xA;&#xA;Constraints:&#xA;[1] The property refinedBy must not have the types Requirement or RequirementContainer.&#xA;&#xA;Notation:&#xA;A Refine relationship is shown as a dashed arrow between the Requirements and EAElement. The entity at the tail of the arrow (the refining EAElement) depends on the Requirement at the arrowhead (the refined Requirement).&#xA;&#xA;Extension: specializes UML2 stereotype Refine, which extends Dependency."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="refinedRequirement" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//requirements/Requirement" changeable="false"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="List of refined requirements.&#xD;&#xA;{derived from UML::DirectedRelationship::target}"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="refinedBy" ordered="false"
+ lowerBound="1" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"
+ changeable="false" volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="List of ADLEntity participating to the refinement of the refined ADL requirements.&#xD;&#xA;{derived from UML::Dependency::client}"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <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="refinedBy_path" upperBound="-1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DeriveRequirement" eSuperTypes="#//requirements/RequirementsRelationship platform:/plugin/org.eclipse.papyrus.sysml/model/sysml.ecore#//requirements/DeriveReqt">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="ADLDeriveReqt signifies a dependency relationship in-between two sets of ADL requirements, showing the relationship when a set of derived client ADL requirement (client requirement) is derived from a set of ADL requirements (supplier requirement). It inherits from SysML::DeriveReqt which extends Dependency.&#xD;&#xA;&#xD;&#xA;Semantics:&#xD;&#xA;ADLDeriveReqt signifies a derived/derived by relationship between ADLRequirements, where the modification of the supplierADLRequirement may impact the derived client ADLRequirement. ADLDeriveReqt implies the semantics that the derived client ADLRequirement is not complete, without the supplier ADLRequirement."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="derived" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//requirements/Requirement" changeable="false"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The set of ADL requirements derived from the supplier ADL requirement.&#xD;&#xA;{derived from UML::DirectedRelationship::target}"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="derivedFrom" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//requirements/Requirement" changeable="false"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The set of ADL requirements that the client ADL requirement are derived from.&#xD;&#xA;{derived from UML::DirectedRelationship::source}"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RequirementsRelationGroup" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="RequirementsRelationGroup represents a group of relations between Requirements."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="relation" ordered="false"
+ unique="false" upperBound="-1" eType="#//requirements/RequirementsLink">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The relations that are grouped by this relation group. Note that this is not a containment association, i.e. a single relation may be grouped by several ReqRelationGroups."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RequirementsLink" eSuperTypes="#//requirements/RequirementsRelationship">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="RequirementsLink represents a relation between two or more Requirements. Source and target Requirements of the relation are distinguished, which means that the relation is directed (from source to target). If such a distinction does not make sense, then use a RequirementsGroup instead.&#xA;&#xA;The standard case will be a relation with one source and one target Requirement. However, it is possible to have several source and/or several target Requirements so that general relations can be expressed with instances of this metaclass.&#xA;&#xA;The semantic of a concrete Requirement relation can be provided by the modeler. In particular, three ways are conceivable:&#xA;&#xA;(1) The user attributes of the relation can be used to specify its meaning, for example with a user attribute called &quot;relationType&quot; which is set to values such as &quot;needs&quot; or &quot;excludes&quot;.&#xA;&#xA;(2) The UserAttributeElementType can be used. Certain types will be used for certain relation semantics.&#xA;&#xA;(3) RequirementsRelationGroups can be used, i.e. all relations with an &quot;excludes&quot; meaning are put in one relation group and all with a &quot;needs&quot; meaning are put in another."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isBidirectional" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
+ unique="false" lowerBound="1" upperBound="-1" eType="#//requirements/Requirement"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"
+ unique="false" lowerBound="1" upperBound="-1" eType="#//requirements/Requirement"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RequirementsModel" eSuperTypes="#//infrastructure/elements/Context">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The collection of requirements, their relationships, and usecases. This collection can be done across the EAST-ADL2 abstraction levels."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="useCase" ordered="false"
+ upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//UseCase"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="requirement" ordered="false"
+ upperBound="-1" eType="#//requirements/RequirementSpecificationObject"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="requirementContainer"
+ ordered="false" upperBound="-1" eType="#//requirements/RequirementsContainer"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="operationalSituation"
+ ordered="false" unique="false" upperBound="-1" eType="#//requirements/OperationalSituation"/>
+ <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"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="OperationalSituation" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <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="Actor" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Actor" ordered="false"
+ lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Actor"/>
+ </eClassifiers>
+ <eSubpackages name="verificationvalidation" nsURI="http://www.papyrusuml.org/EAST-ADL2/Requirements/VerificationValidation/1"
+ nsPrefix="VerificationValidation">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A multitude of different verification and validation (V&amp;V) techniques, methods and tools are applied during the development of EE-Systems. Different techniques are applicable at different abstraction levels. Also, the technique of choice depends on the properties to validate and/or verify. Furthermore, each partner in a project may develop and employ his own V&amp;V processes and activities. Hence it is impossible to introduce in the EAST-ADL2 a way to model all the objects that can be required by all the possible V&amp;V techniques. As a consequence, EAST-ADL2 furnishes just the means for planning, organizing and describing V&amp;V activities on a fairly abstract level, and for defining the links between those V&amp;V activities, the satisfied and verified requirements, and the objects modeling the system (Functional Analysis Architecture, Functional components, Logical Tasks, etc.). The common parts of all V&amp;V techniques are described by the EAST-ADL2, which includes: the results expected from the V&amp;V activities, the actual results which were obtained when applying the V&amp;V techniques, how the V&amp;V activities are constrained. Information that is specific to an individual V&amp;V technique is not described in EAST-ADL2, but a place for storing this information is provided.&#xA;&#xA;Single V&amp;V techniques may be used only once or at several stages during an overall V&amp;V effort. Some of them are specific to one modeling design stage; others can be applied at various design stages.&#xA;&#xA;A set of V&amp;V techniques and activities is necessary in order to achieve a complete verification and validation of a given system. Often these techniques and activities are employed and performed by many different teams and departments, frequently even by different companies. This raises the demand for an overall planning and organization of all V&amp;V related information.&#xA;&#xA;A very important notion of V&amp;V support in EAST-ADL2 is the distinction of abstract and concrete V&amp;V information:&#xA;&#xA;(1) On the abstract level, verification and validation information is defined without referring to a concrete testing environment and without specifying stimuli and the expected outcome of a particular VVProcedure on a detailed technical level.&#xA;&#xA;(2) On the concrete level, verification and validation information specifies a concrete testing environment and provides all necessary details for testing, e.g. stimuli and expected outcomes, on a concrete technical level applicable to that testing environment.&#xA;&#xA;In accordance to the &quot;what vs. how&quot; definition of requirements one could say: the abstract level defines what needs to be done to verify and validate a certain system, but not precisely how this is done. Conversely, the concrete level defines the precise technical details for particular testing environments. So all abstract VVCases and VVProcedures for a certain system together form sort of a &quot;to-do&quot;-list, which describes what needs to be done when actually testing the system with a concrete testing environment, but in a form applicable to all conceivable testing environments to all conceivable testing environments."/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="VVStimuli" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="VVStimuli represents the input values to the testing environment represented by VVTarget in order to perform the corresponding VVProcedure.&#xA;&#xA;Since this entity only occurs on the concrete level (i.e. within the context of a ConcreteVVCase), the input values must be provided in a form such that they are directly applicable to the VVTarget(s) defined for the containing ConcreteVVCase.&#xA;&#xA;&#xA;Extension: Class"/>
+ </eAnnotations>
+ <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="VVIntendedOutcome" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Expected output of the testing environment represented by VVTarget when triggered by the corresponding VVStimuli of the containing ConcreteVVProcedure.&#xA;Since this entity only occurs on the concrete level (i.e. within the context of a ConcreteVVCase), the output must be provided in a form such that it can directly be compared to the output of the VVTarget(s) defined for the containing ConcreteVVCase."/>
+ </eAnnotations>
+ <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="VVActualOutcome" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="VVActualOutcome represents the actual output of the testing environment represented by VVTarget when triggered by the VVStimuli of the ConcreteVVProcedure which is defined by the association 'performedVVProcedure' of the containing VVLog. It should be equivalent to the VVIntendedOutcome defined by association 'intendedOutcome'&#xA;&#xA;&#xA;Extension: Class"/>
+ </eAnnotations>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="intendedOutcome" ordered="false"
+ unique="false" eType="#//requirements/verificationvalidation/VVIntendedOutcome">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Denotes the VVIntendedOutcome that must be matched by this actual outcome."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="VVCase" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="VVCase represents a V&amp;V effort, i.e. it specifies concrete test subjects and targets and provides stimuli and the expected outcome on a concrete technical level."/>
+ </eAnnotations>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="vvCase" ordered="false"
+ unique="false" upperBound="-1" eType="#//requirements/verificationvalidation/VVCase"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="abstractVVCase" ordered="false"
+ unique="false" eType="#//requirements/verificationvalidation/VVCase"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="vvTarget" ordered="false"
+ unique="false" lowerBound="1" upperBound="-1" eType="#//requirements/verificationvalidation/VVTarget"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="vvSubject" ordered="false"
+ unique="false" lowerBound="1" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="vvLog" ordered="false"
+ upperBound="-1" eType="#//requirements/verificationvalidation/VVLog"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="vvProcedure" upperBound="-1"
+ eType="#//requirements/verificationvalidation/VVProcedure">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The abstract VV procedures for this AbstractVVCase."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="VVTarget" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="VVTarget represents a concrete testing environment in which or on which a particular V&amp;V activity can be performed. This can be physical hardware or it can be pure software in case of a test by way of design level simulations.&#xA;&#xA;Usually, a VVTarget will be a realization of one or more elements. However, there are cases in which this is not true, for example when a VVTarget represents parts of the system's environment. Therefore the association to element has a minimum cardinality of 0.&#xA;&#xA;VVTargets can be reused across several ConcreteVVCases."/>
+ </eAnnotations>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="element" ordered="false"
+ unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="VVLog" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="ConcreteVVCase represents the precise description of a V&amp;V effort on a concrete technical level and thus provides all necessary information to actually perform this V&amp;V effort. However, it does not represent the actual execution of the effort. &#xA;&#xA;This is the purpose of the VVLog. Each VVLog metaclass represents a certain execution of a ConcreteVVCase.&#xA;&#xA;For example, if the HIL test of the wiper system with a certain set of stimuli was performed on Friday afternoon and, for checkup, again on Monday, then there will be one ConcreteVVCase describing the HIL test and two VVLogs describing the test result from Friday and Monday respectively.&#xA;&#xA;&#xA;Extension: Class"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="date" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Date and time when this log was captured."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="vvActualOutcome" ordered="false"
+ upperBound="-1" eType="#//requirements/verificationvalidation/VVActualOutcome">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Set of outcome results."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="performedVVProcedure"
+ ordered="false" unique="false" lowerBound="1" eType="#//requirements/verificationvalidation/VVProcedure"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="VVProcedure" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="VVProcedure represents an individual task in the context of an overall V&amp;V effort (represented by a VVCase), which has to be performed in order to achieve that effort's overall objective. Just as is the case for VVCases, the definition of VVProcedures is separated in two levels: an abstract and a concrete level represented by the entities AbstractVVProcedure and ConcreteVVProcedure.&#xA;&#xA;The concreteVVProcedure metaclass represents such a task on a concrete level, i.e. it is defined with a concrete testing environment in mind and provides stimuli and an expected outcome of the procedure in a form which is directly applicable to this testing environment.&#xA;&#xA;Extension: Class"/>
+ </eAnnotations>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="abstractVVProcedure"
+ ordered="false" unique="false" eType="#//requirements/verificationvalidation/VVProcedure"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="concreteVVProcedure"
+ ordered="false" unique="false" upperBound="-1" eType="#//requirements/verificationvalidation/VVProcedure"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="vvIntendedOutcome"
+ ordered="false" upperBound="-1" eType="#//requirements/verificationvalidation/VVIntendedOutcome"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="vvStimuli" ordered="false"
+ upperBound="-1" eType="#//requirements/verificationvalidation/VVStimuli"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="VerificationValidation" eSuperTypes="#//infrastructure/elements/Context">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The collection of verification and validation elements. This collection can be done across the EAST-ADL2 abstraction levels."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="verify" ordered="false"
+ upperBound="-1" eType="#//requirements/verificationvalidation/Verify"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="vvCase" ordered="false"
+ upperBound="-1" eType="#//requirements/verificationvalidation/VVCase"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="vvTarget" ordered="false"
+ upperBound="-1" eType="#//requirements/verificationvalidation/VVTarget"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Verify" eSuperTypes="#//requirements/RequirementsRelationship platform:/plugin/org.eclipse.papyrus.sysml/model/sysml.ecore#//requirements/Verify">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The Verify is a relationship metaclass, which signifies a dependency relationship between a Requirement and a VVCase, showing the relationship when a client VVCase verifies the supplier Requirement.&#xA;&#xA;Semantics:&#xA;The Verify metaclass signifies a refined requirement/verified by relationship between a Requirement and a VVCase, where the modification of the supplier Requirement may impact the verifying client VVCase. The Verify metaclass implies the semantics that the verifying client VVCase is not complete, without the supplier Requirement. &#xA;&#xA;Notation:&#xA;A Verify relationship is shown as a dashed arrow between the Requirements and VVCase.&#xA;&#xA;Extension:&#xA;To specializes SysML::Verify, which specializes the UML stereotype Trace, which extends Dependency."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="verifiedByProcedure"
+ ordered="false" upperBound="-1" eType="#//requirements/verificationvalidation/VVProcedure">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The procedures used to verify the requirements."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="verifiedByCase" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//requirements/verificationvalidation/VVCase"
+ changeable="false" volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The verification that verifies the supplier requirement(s).&#xD;&#xA;{derived from UML::DirectedRelationship::source}"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="verifiedRequirement"
+ ordered="false" lowerBound="1" upperBound="-1" eType="#//requirements/Requirement"
+ changeable="false" volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The set of ADL requirements which the client VV cases verify.&#xD;&#xA;{derived from UML::DirectedRelationship::target}"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </eSubpackages>
+ </eSubpackages>
+ <eSubpackages name="timing" nsURI="http://www.papyrusuml.org/EAST-ADL2/Timing/1"
+ nsPrefix="Timing">
+ <eClassifiers xsi:type="ecore:EClass" name="TimingDescription" abstract="true"
+ eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="An abstract metaclass describing the timing events and their relations within the model."/>
+ </eAnnotations>
+ <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="TimingConstraint" abstract="true"
+ eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="TimingConstraint is an abstract entity that identifies a mode.&#xA;&#xA;Constraints:&#xA;[1] upper shall be greater or equal to lower.&#xA;&#xA;&#xA;Semantics:&#xA;The TimingConstraint does not describe what is classically referred to as a design constraint but has the role of a property, requirement, or a validation result. It is a requirement if this TimingConstraint refines a Requirement (by the Refine relationship). The TimingConstraint is a validation result if it realizes a VVActualOutcome, it is an intended validation result if it realizes a VVIntendedOutcome, and in other cases it denotes a property."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="mode" ordered="false"
+ unique="false" upperBound="-1" eType="#//behavior/Mode">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The mode where the TimingConstraint is valid."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="upper" ordered="false"
+ unique="false" eType="#//timing/TimeDuration"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="lower" ordered="false"
+ unique="false" eType="#//timing/TimeDuration"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Constraint" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Constraint"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TimeDuration" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="CseCodeType &#xA;0:&#x9;1 µsec &#x9;&#x9;Time&#x9;&#xA;1:&#x9;10 µsec&#x9;&#x9;Time&#x9;&#xA;2:&#x9;100 µsec&#x9;Time&#x9;&#xA;3:&#x9;1 msec&#x9;&#x9;Time&#x9;&#xA;4:&#x9;10 msec&#x9;&#x9;Time&#x9;&#xA;5:&#x9;100 msec&#x9;Time&#x9;&#xA;6:&#x9;1 sec&#x9;&#x9;Time&#x9;&#xA;7:&#x9;10 sec&#x9;&#x9;Time&#x9;&#xA;8:&#x9;1 min&#x9;&#x9;Time&#x9;&#xA;9:&#x9;1 h&#x9;&#x9;Time&#x9;&#xA;10:&#x9;1 d&#x9;&#x9;Time&#x9;&#xA;&#xA;100:&#x9;Angular degrees&#x9;&#x9;&#x9;Angle&#x9;&#xA;101:&#x9;Revolutions 360 degrees&#x9;Angle&#x9;&#xA;102:&#x9;Cycle 720 degrees&#x9;&#x9;Angle&#x9;e.g. in case of IC engines&#xA;103:&#x9;Cylinder segment&#x9;&#x9;Combustion&#x9;e.g. in case of IC engines&#xA;998:&#x9;When frame available&#x9;Time&#x9;Source defined in the ASAP 2 keyword, FRAME&#xA;999:&#x9;Always if there is new value&#x9;&#x9;Calculation of a new upper range limit after receiving a new partial value, e.g. when calculating a complex trigger condition&#xA;1000:&#x9;Non deterministic&#x9;&#x9;Without fixed scaling&#xA;&#xA;If, for example, the value in swCseCodeFactor is 360 and the value in swCseCode is 100, this is equivalent to the value 1 in swCseCodeFactor and the value 101 in swCseCode.&#xA;&#xA;CseCodeType is from AUTOSAR and MSR/ASAM.&#xA;&#xA;Note that we have set the cseCodeType for 1 µsec to 0 (error in AUTOSAR R3). And have changed cseCodeType 2 to 100 µsec (error in MSR)."/>
+ </eAnnotations>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="cseCode" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Within TIMMO this is normally time, note that when it is expressed as angle it can be converted to time."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="cseCodeFactor" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer"
+ defaultValueLiteral="1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Is normally equal to 1."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
+ unique="false" lowerBound="1" eType="#//infrastructure/datatypes/javalangFloat">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The actual value complemented with the cseCode."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Timing" eSuperTypes="#//infrastructure/elements/Context">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The collection of timing constraints and their descriptions in the form of events and event chains. This collection can be done across the EAST-ADL2 abstraction levels."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="timingConstraint" ordered="false"
+ upperBound="-1" eType="#//timing/TimingConstraint"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="timingDescription" ordered="false"
+ upperBound="-1" eType="#//timing/TimingDescription"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EventChain" eSuperTypes="#//timing/TimingDescription">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The purpose of event chains is to describe the temporal behavior of a number of steps to be taken to respond to one or more events accordingly. [An event chain is also used to express that a temporal requirement/constraint is imposed on a number of steps to respond to one or more events accordingly (-> requirement).] Such events could be observed in a given system and are categorized into stimuli and responses.&#xA;&#xA;Event chains can refer to other event chains which are then called event chain segments or strands. Segments are sequential event chains refining an EventChain, while strands define parallel event chains that refine an EventChain. An EventChain can be both a segment and a strand at the same time. An event chain respectively event chain segment can be atomic which means it is not refined to other event chains.&#xA;&#xA;Constraints:&#xA;[1] The cardinality of strand shall be either 0 or greater than 1. Rationale: Only values > 1 express true parallelism.&#xA;&#xA;Semantics:&#xA;An EventChain references two groups of events: stimulus and response. The semantics is that each event in the stimulus group somehow causes, or at least affects the value of all events in the response group. However, since questions about causality and value influence clearly involve the semantics of the underlying structural model, this aspect of an EventChain is semantically outside its scope. Instead, delay constraint semantics are defined solely in terms of the times at which the stimulus and response events occur, independently of whether there actually exists a causal connection between these events in the structural model."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="segment" unique="false"
+ upperBound="-1" eType="#//timing/EventChain">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Referred EventChains that are not parallel and in sequence refines this EventChain."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="strand" ordered="false"
+ unique="false" upperBound="-1" eType="#//timing/EventChain">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Parallel EventChains refining this EventChain."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="response" ordered="false"
+ unique="false" lowerBound="1" upperBound="-1" eType="#//timing/Event">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The Response element is the entity to describe an event that is a response to a stimulus that occurred before."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="stimulus" ordered="false"
+ unique="false" lowerBound="1" upperBound="-1" eType="#//timing/Event">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The Stimulus element is the entity to describe an event that stimulates the steps to be taken to respond to this event."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Event" abstract="true" eSuperTypes="#//timing/TimingDescription">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="An Event (E) is supposed to denote a distinct form of state change in a running system, taking place at distinct points in time called occurrences of the event. An event may also report a [current] state. In that case, the event occurs periodically. For example, the &quot;driver door has been opened&quot; is an event indicating a state change; whereas the &quot;driver door is open&quot; is an event reporting a state.&#xA;&#xA;A running system can be observed by identifying certain forms of state changes to watch for, and for each such observation point, noting the times when changes occur. This notion of observation also applies to a hypothetical predicted run of a system or a system model from a timing perspective, the only information that needs to be in the output of such a prediction is a sequence of times for each observation point, indicating the times that each event is predicted to occur.&#xA;&#xA;The occurrence of an event either stimulates an execution, or is caused by an execution [as a response to another event that occurred before]. In the first case the event is called Stimulus (S) and in the latter case it is called Response (R). Stimuli always precede responses; and responses in turn always succeed stimuli.&#xA;&#xA;An event occurs instantaneously, which means that an event occurs at a time instant without any duration. In addition, an event can appear any number of times and the subsequent occurrences may follow a specific pattern, like periodic, sporadic, or in sudden bursts. Each of these occurrences has a unique time instant. &#xA;&#xA;The distinction between an event and its occurrence is usually obvious from the considered context (causal and temporal). The event is not defined by its occurrences, but rather by a description expressing its purpose.&#xA;&#xA;&#xA;Constraints:&#xA;[1] In the case that the event reports a [current] state (isStateChange is FALSE), the event must have a periodic event model [or a pattern model]. Rationale: The [current] state shall be reported consistently and periodically."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isStateChanged" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
+ defaultValueLiteral="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This attribute indicates whether the event reports a state change or a [current] state. If the boolean value is TRUE, then the event reports a state change (no over-undersampling). &#xA;If the boolean value is FALSE, then the event reports a [current] state. &#xA;By default, the value of this attribute is TRUE."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ExecutionTimeConstraint" eSuperTypes="#//timing/TimingConstraint">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="ExecutionTimeConstraint expresses the execution time of a function under the assumption of a nominal CPU that executes 1 &quot;function second&quot; per second. Function allocation will decide the actual execution time by multiplication with the relative speed of the host CPU. &#xA;&#xA;Example:&#xA;The ECU is 20% faster than a standard ECU (e.g. in a certain context, execution times are given assuming a nominal speed of 100 MHz; Our CPU is then 120 MHz) &#xA;&#xA;The function is activated by a time trigger or a port trigger. The function starts execution some time after activation, depending on e.g. interference and blocking from other functions on the same resource&#xA;Immediately on start, the function reads input data on all ports. Functions write data at the latest when the execution time has elapsed (which is after the execution time plus any blocking and interference time). &#xA;&#xA;Constraints:&#xA;[1] An ExecutionTimeConstraint either identifies a FunctionType or a FunctionPrototype as its target function.&#xA;[2] variation shall be a value between 0 and upper-lower.&#xA;&#xA;Semantics:&#xA;lower (from TimingConstraint) denotes the minimal best case execution time.&#xA;upper (from TimingConstraint) denotes the maximal worst case execution time.&#xA;variation denotes the allowed variation in execution time, i.e. maximal minimal execution time.&#xA;&#xA;Example:&#xA;lower=5&#xA;upper=10&#xA;variation=2&#xA;best case execution time of 6 and worst case of 7 is within this constraint&#xA;best case execution time of 6 and worst case of 9 violates this constraint&#xA;&#xA;If a measured value is characterized, variation is not used, as it is always upper-lower, e.g. lower=6 and upper=9 above. In this example, the ExecutionTimeConstraint would be a Realization of a VVActualOutcome."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="variation" ordered="false"
+ unique="false" lowerBound="1" eType="#//timing/TimeDuration"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="targetDesignFunctionType"
+ ordered="false" unique="false" eType="#//structure/functionmodeling/DesignFunctionType"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="targetDesignFunction"
+ ordered="false" lowerBound="1" eType="#//structure/functionmodeling/DesignFunctionType"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="targetDesignFunctionPrototype"
+ ordered="false" lowerBound="1" eType="#//structure/functionmodeling/DesignFunctionPrototype"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PrecedenceConstraint" eSuperTypes="#//timing/TimingConstraint">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The PrecedenceConstraint represents a particular constraint applied on the execution sequence of functions.&#xA;&#xA;Semantics:&#xA;The semantics for the PrecedenceConstraint metaclass is to define an association relationship between Functions, indicating the association relationship such that all predecessors have completed before the successors are started.&#xA;&#xA;Note: Without a precedence relation, Functions are executed according to their data dependencies, if these are uni-directional. For bi-directional data dependencies, execution order is not defined unless the PrecedenceDependency relationship is used.&#xA;&#xA;Notation:&#xA;PrecedenceConstraint is shown as a dashed arrow with &quot;Precedes&quot; next to it. It points from preceeding to the successive entity.&#xA;&#xA;Changes:&#xA;Renamed from Precedes&#xA;&#xA;Extension: &#xA;The PrecedenceConstraint extends UML2 metaclass Class and Dependency."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="successive" lowerBound="1"
+ upperBound="-1" eType="#//structure/functionmodeling/FunctionPrototype"
+ changeable="false" volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The function prototypes that must be executed after preceding was executed.&#xD;&#xA;{derived from UML::DirectedRelationship::target}"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="preceding" ordered="false"
+ lowerBound="1" eType="#//structure/functionmodeling/FunctionPrototype" changeable="false"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The function prototype that must be executed first.&#xD;&#xA;{derived from UML::DirectedRelationship::source}"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Dependency" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Dependency"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="successive_path" upperBound="-1"
+ eType="#//structure/functionmodeling/FunctionPrototype"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="preceding_path" upperBound="-1"
+ eType="#//structure/functionmodeling/FunctionPrototype"/>
+ </eClassifiers>
+ <eSubpackages name="timingconstraints" nsURI="http://www.papyrusuml.org/EAST-ADL2/Timing/TimingConstraints/1"
+ nsPrefix="TimingConstraints">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This section describes the timing constraints."/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="DelayConstraint" abstract="true"
+ eSuperTypes="#//timing/TimingConstraint">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="DelayConstraints give bounds on system timing attributes, i.e. end-to-end delays, periods, etc.&#xA;&#xA;A DelayConstraint can specify one or several of an upper bound, a lower bound or a nominal value and jitter. The jitter is evenly distributed around the nominal (nominal - jitter/2 .. nominal + jitter/2). The bound will be measured in a given unit.&#xA;&#xA;Constraints:&#xA;[1] At least Upper or Nominal must be specified. Rationale: At least one value is needed to work with.&#xA;&#xA;Semantics:&#xA;Lower (from TimingConstraint) denotes the minimum value of the given bound.&#xA;Upper (from TimingConstraint) denotes the maximum value of the given bound.&#xA;Variation around the nominal value can be expressed by means of an upper and lower bound, or by means of a jitter value.&#xA;For example, [lower=10, upper=20, nominal=15] is equal to [nominal=15, jitter=10].&#xA;&#xA;&#xA;Extension:&#xA;abstract, no extension"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="jitter" ordered="false"
+ unique="false" eType="#//timing/TimeDuration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Jitter is the range within which a value varies."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="nominal" ordered="false"
+ unique="false" eType="#//timing/TimeDuration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The recurring distance between each occurrence."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="scope" ordered="false"
+ unique="false" eType="#//timing/EventChain"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AgeTimingConstraint" eSuperTypes="#//timing/timingconstraints/DelayConstraint">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Different tolerances on over-/undersampling can be identified when the solution has been modeled.&#xA;&#xA;An age constraint is of interest in control engineering when looking back through the system.&#xA;&#xA;In case of over- or undersampling, there is no one-to-one relation possible between the occurrences of stimuli and responses of the associated event chain. Thus, the age constraint defines the semantic of which delay must be constrained.&#xA;&#xA;The attribute upper is applicable in worst-case analysis.&#xA;&#xA;The attribute lower is applicable in best-case analysis."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EventConstraint" abstract="true"
+ eSuperTypes="#//timing/TimingConstraint">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="An EventConstraint describes the basic characteristics of the way an event occurs over time."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="event" ordered="false"
+ unique="false" eType="#//timing/Event"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="offset" ordered="false"
+ unique="false" eType="#//timing/TimeDuration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="In addition an event model may specify an offset, which delays the start of the first period - the occurrence of the very first event - by the given amount of time."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InputSynchronizationConstraint"
+ eSuperTypes="#//timing/timingconstraints/AgeTimingConstraint">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="InputSynchronizationConstraint is a language entity that expresses a timing constraint on the input synchronization among the set of stimulus events.&#xA;&#xA;Semantics:&#xA;The parameters of InputSynchronizationConstraint, see TimingConstraint, constrain the time from the first stimulus until last stimulus (i.e., maximum skew between these stimuli). A join point is identified by the response event in the scope EventChain.&#xA;&#xA;Constraints:&#xA;[1] The set of FunctionFlowPorts referenced by the events should contain only FlowPorts with direction = in. The rationale for this is that the events shall relate to data on FunctionFlowPorts which is considered (or shall be) temporally consistent.&#xA;&#xA;[2] The scope EventChain shall contain exactly one response Event.&#xA;&#xA;[3] The semantics of this constraint requires that there is more than one stimulus Event in the scope EventChain (each refering to a different FlowPort with direction = in).&#xA;&#xA;Extension: Class"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="width" ordered="false"
+ unique="false" lowerBound="1" eType="#//timing/TimeDuration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The width of the sliding window."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="OutputSynchronizationConstraint"
+ eSuperTypes="#//timing/timingconstraints/ReactionConstraint">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="OutputSynchronizationConstraint is a language entity that expresses a timing constraint on the output synchronization among the set of response events.&#xA;&#xA;Semantics:&#xA;The parameters of OutputSynchronizationConstraint, see TimingConstraints, constrain the time from the first response until last response (i.e., maximum skew between these responses). A fork point is identified by the stimulus event in the scope EventChain.&#xA;&#xA;Constraints:&#xA;[1] The set of FunctionFlowPorts referenced by the events should contain only OutFlowPorts. The rationale for this is that the events shall relate to data on FunctionFlowPorts which is considered (or shall be) temporally consistent.&#xA;&#xA;[2] The scope EventChain shall contain exactly one stimulus Event.&#xA;&#xA;[3] The semantics of this constraint require that there is more than one response Events in the scope EventChain.&#xA;&#xA;&#xA;Extension: Class"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="width" ordered="false"
+ unique="false" lowerBound="1" eType="#//timing/TimeDuration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The width of the sliding window."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ReactionConstraint" eSuperTypes="#//timing/timingconstraints/DelayConstraint">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="ReactionConstraint is used to impose a timing constraint on an event chain in order to specify bounds for reacting on the occurrence of a stimulus or stimuli. The intention of this constraint is to look forward in time.&#xA;&#xA;Compare AgeTimingConstraint."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SporadicEventConstraint" eSuperTypes="#//timing/timingconstraints/EventConstraint">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The Sporadic Event Constraint describes that an event occurs occasionally. In general it is supposed that the event eventually occurs. Indeed, it is also known that some of the events do not occur for whatsoever reasons.&#xA;&#xA;Note! The parameters minimum inter-arrival time and maximum inter-arrival time must reference the same point in time. Typically, this is the point in time that specifies the beginning of the period subject to consideration."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="jitter" ordered="false"
+ unique="false" eType="#//timing/TimeDuration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The optional parameter jitter specifies the maximal possible time interval the occurrence of an event can vary (formerly: be delayed). By nature, a sporadic event is supposed to occur at any time, thus it is one of the characteristic that the occurrence is jittery."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="period" ordered="false"
+ unique="false" lowerBound="1" eType="#//timing/TimeDuration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The period specifies the ideal time interval between two subsequent occurrences of the event."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="maximumInterArrivalTime"
+ ordered="false" unique="false" eType="#//timing/TimeDuration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The optional parameter maximum inter-arrival time specifies the maximal possible time interval between two consecutive occurrences of an event.&#xA;The maximum inter-arrival time may be used to describe different cases:&#xA;(1) The maximum inter-arrival time is equal to the duration of the period.&#xA;(2) The maximum inter-arrival time is used to specify a point in time within the period that immediately follows the period subject to consideration.&#xA;(3) The maximum inter-arrival time is used to specify a point in time within one of the subsequent periods that follow the period subject to consideration."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="minimumInterArrivalTime"
+ ordered="false" unique="false" lowerBound="1" eType="#//timing/TimeDuration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The minimum inter-arrival time specifies is the minimal possible time interval between two consecutive occurrences of an event."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PeriodicEventConstraint" eSuperTypes="#//timing/timingconstraints/EventConstraint">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The PeriodicEventConstraint describes that an event occurs periodically."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="jitter" ordered="false"
+ unique="false" lowerBound="1" eType="#//timing/TimeDuration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The jitter specifies the maximal possible time interval the occurrence of an event can vary (formerly: be delayed)."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="period" ordered="false"
+ unique="false" lowerBound="1" eType="#//timing/TimeDuration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The period specifies the ideal time interval between two subsequent occurrences of the event."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="minimumInterArrivalTime"
+ ordered="false" unique="false" lowerBound="1" eType="#//timing/TimeDuration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The minimum inter-arrival time specifies the minimal possible time interval between two consecutive occurrences of an event."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PatternEventConstraint" eSuperTypes="#//timing/timingconstraints/EventConstraint">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The [Concrete] Pattern Event Constraint describes that an event occurs following a known pattern. The pattern event model is characterized by the following parameters:"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="period" ordered="false"
+ unique="false" lowerBound="1" eType="#//timing/TimeDuration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The period specifies the time interval within the event occurs any number of times following a pattern."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="minimumInterArrivalTime"
+ ordered="false" unique="false" lowerBound="1" eType="#//timing/TimeDuration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The minimum inter-arrival time specifies the minimal possible time interval between two consecutive occurrences of the event within the given period."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="occurence" unique="false"
+ lowerBound="1" upperBound="-1" eType="#//timing/TimeDuration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The set occurrence (1..n) specifies the offset for each occurrence of the event in the specified period. Each occurrence is specified from the beginning of the period"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="jitter" ordered="false"
+ unique="false" lowerBound="1" eType="#//timing/TimeDuration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The jitter specifies maximal possible time interval the occurrence of the events within the given period can vary (formerly: can be delayed)."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ArbitraryEventConstraint" eSuperTypes="#//timing/timingconstraints/EventConstraint">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The Arbitrary Event Model describes that an event occurs occasionally, singly, irregular or randomly. The primary purpose of this event model is to abstract event occurrences captured by data acquisition tools (background debugger, trace analyzer, etc.) during the operation of a system.&#xA;&#xA;Constraints:&#xA;[1] The number of elements in the sets minimum inter-arrival time and maximum inter-arrival time must be the same. Rationale: Consistent specification of arrival times."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="minimumInterArrivalTime"
+ ordered="false" unique="false" lowerBound="1" upperBound="-1" eType="#//timing/TimeDuration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The set of minimum inter-arrival times specifies the minimum inter-arrival time between two and more subsequent occurrences of the event. The first element in the set specifies the minimum inter-arrival time between two subsequent occurrences of the event among the given occurrences. The second element in the set specifies the minimum inter-arrival time between three subsequent occurrences of the event among the given occurrences; and so forth."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="maximumInterArrivalTime"
+ ordered="false" unique="false" lowerBound="1" upperBound="-1" eType="#//timing/TimeDuration">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The set of maximum inter-arrival times specifies the maximum inter-arrival time between two and more subsequent occurrences of the event. The first element in the set specifies the maximum inter-arrival time between two subsequent occurrences of the event among the given occurrences. The second element in the set specifies the maximum inter-arrival time between three subsequent occurrences of the event among the given occurrences; and so forth."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="events" nsURI="http://www.papyrusuml.org/EAST-ADL2/Timing/Events/1"
+ nsPrefix="Events">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This section describes the concept of events for EAST-ADL2."/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="EventFunctionFlowPort" eSuperTypes="#//timing/Event">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Event that refers to the triggering of the Function at a flow port, i.e., when data is sent or received."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="port" ordered="false"
+ unique="false" lowerBound="1" eType="#//structure/functionmodeling/FunctionPort"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="port_path" upperBound="-1"
+ eType="#//structure/functionmodeling/FunctionPrototype"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EventFunctionClientServerPort" eSuperTypes="#//timing/Event">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Event that refers to the triggering of the Function at a client/server port, i.e., when the input data is sent / received, or when the output data is produced / received.&#xA;&#xA;Constraints:&#xA;[1] eventKind is sentRequest or receivedResponse for a FunctionClientServerPort of type client. Rationale: Only these values make sense for client ports.&#xA;&#xA;[2] eventKind is receivedRequest or sentResponse for a FunctionClientServerPort of type server. Rationale: Only these values make sense for server ports."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="eventKind" ordered="false"
+ unique="false" lowerBound="1" eType="#//timing/events/EventFunctionClientServerPortKind"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="port" ordered="false"
+ unique="false" lowerBound="1" eType="#//structure/functionmodeling/FunctionClientServerPort"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="port_path" upperBound="-1"
+ eType="#//structure/functionmodeling/FunctionPrototype"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="EventFunctionClientServerPortKind">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Possible values of eventKind.&#xA;&#xA;Extension: &#xA;Enumeration, no extension."/>
+ </eAnnotations>
+ <eLiterals name="receivedRequest"/>
+ <eLiterals name="sentResponse" value="1"/>
+ <eLiterals name="sentRequest" value="2"/>
+ <eLiterals name="receivedResponse" value="3"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EventFunction" eSuperTypes="#//timing/Event">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="An event of a Function refers to the triggering of the Function, i.e., when the input data is consumed, data transformation is performed on that input data by the function, and output data is produced. It is used in conjunction with FunctionTrigger (see that concept) to define a time-driven triggering for a function. In this case the FunctionTrigger points to the EventFunction of the function and defines a triggerPolicy set to TIME. The timing constraint associated to the EventFunction provides information about the period. &#xA;&#xA;Compare categories of AUTOSAR runnables:&#xA;&#xA;1a triggering only on start and finish (this type of event)&#xA;&#xA;1b triggering allowed anytime during the execution (events on ports, see EventInFlowPort)&#xA;&#xA;&#xA;Constraints:&#xA;[1] An EventFunction either identifies a FunctionType or a FunctionPrototype as its target function."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="function" ordered="false"
+ unique="false" eType="#//structure/functionmodeling/FunctionPrototype"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="functionType" ordered="false"
+ unique="false" eType="#//structure/functionmodeling/FunctionType"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="function_path" upperBound="-1"
+ eType="#//structure/functionmodeling/FunctionPrototype"/>
+ </eClassifiers>
+ </eSubpackages>
+ </eSubpackages>
+ <eSubpackages name="interchange" nsURI="http://www.papyrusuml.org/EAST-ADL2/Interchange/1"
+ nsPrefix="Interchange">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The interchange part of an EAST-ADL2 system model is for exchanging model data with external stakeholders. E.g. it provides elements (see RIFArea) for importing resp. exporting requirements specifications into resp. out of an EAST-ADL2 system model."/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="RIFArea" abstract="true" eSuperTypes="#//infrastructure/elements/Context">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="An extra allocated part of the EAST-ADL2 System Model that contains Requirement Specific Data (Container, Reqs etc...) from RIF Import resp. RIF Export.&#xA;&#xA;Especially for the context of requirement engineering and considering the possibility to import/export requirement related data via RIF, the feature uuid will be used to check that two elements are semantically the same and thus should stay together in reference via a Multi-Level reference link.&#xA;&#xA;Since requirement data to be imported/exported will be put into RIFArea, requirement data elements which are not inside RIFArea and have semantically equal element in the RIFAreas (such elements have the same uuid value) will be connected with the appropriate elements in the RIFArea using Multi-Level reference links."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="rootRequirementContainer"
+ unique="false" upperBound="-1" eType="#//requirements/RequirementsContainer"/>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="interchangeReqSpecObject"
+ ordered="false" unique="false" upperBound="-1" eType="#//requirements/RequirementSpecificationObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RIFExportArea" eSuperTypes="#//interchange/RIFArea">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Contains (clones of) requirement specific data to be exported in RIF format."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RIFImportArea" eSuperTypes="#//interchange/RIFArea">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Contains requirement specific data to be imported from an external RIF file.&#xA;&#xA;If an element will be imported from external the uuid will be taken from the given external exchange data file, because the identifier is global unique and shall not be changed somewhere."/>
+ </eAnnotations>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="environment" nsURI="http://www.papyrusuml.org/EAST-ADL2/Environment/1"
+ nsPrefix="Environment">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The Environment model is used to describe the environment of the vehicle electric and electronic architecture. It is modeled by continuous functions representing the system environment."/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="Environment" eSuperTypes="#//infrastructure/elements/Context">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The collection of the environment functional description. This collection can be done across the EAST-ADL2 abstraction levels.&#xA;&#xA;An environment model can contain functionPrototypes given by either AnalysisFunction or DesignFunction. The environment model does not have abstraction levels as in the system model (e.g., analysisLevel, designLevel).&#xA;&#xA;A functionPrototype of the environment model can have interactions with FAA FunctionalDevice and an FDA HardwareFunction through the ClampConnector."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="environmentModel" ordered="false"
+ eType="#//structure/functionmodeling/FunctionPrototype"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="clampConnector" ordered="false"
+ upperBound="-1" eType="#//environment/ClampConnector"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ClampConnector" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The clamp connector connects ports across function boundaries and containment hierarchies. It is used to connect from an EnvironmentModel to the FunctionalAnalysisArchitecture, the FunctionalDesignArchitecture, the autosarSystem or another EnvironmentModel. Typically, the EnvironmentModel contains physical ports, which restrict the valid ports in the FunctionalAnalysisArchitecture to those on FunctionalDevices and in the FunctionalDesignArchitecture to those on HardwareFunctions. In case the connection concerns logical interaction, this restriction does not apply. The ClampConnector is always an assembly connector, never a delegation connector.&#xA;&#xA;Constraints:&#xA;[1] Can connect two FunctionFlowPorts of different direction.&#xA;[2] Can connect two ClientServerPorts of different kind.&#xA;[3] Can connect two FunctionFlowPorts with direction inout.&#xA;[4] Cannot connect ports in the same SystemModel."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="port" ordered="false"
+ lowerBound="2" upperBound="2" eType="#//structure/functionmodeling/FunctionPort"
+ changeable="false" volatile="true" transient="true" derived="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"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="port1_path" upperBound="-1"
+ eType="#//structure/functionmodeling/FunctionPrototype"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="port2_path" upperBound="-1"
+ eType="#//structure/functionmodeling/FunctionPrototype"/>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="dependability" nsURI="http://www.papyrusuml.org/EAST-ADL2/Dependability/1"
+ nsPrefix="Dependability">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Dependability of a system is the ability to avoid service failures that are more frequent and more severe than is acceptable. Dependability includes several aspects, namely Availability, Reliability, Safety, Integrity and Maintainability. The Dependability package includes support for defining and classifying safety requirements through preliminary Hazard Analysis Risk Assessment, tracing and categorizing safety requirements according to role in safety life-cycle, formalizing safety requirements using safety constraints, formalizing and assessing fault propagation through error models and organizing evidence of safety in a Safety Case.&#xA;The support for safety is designed to support the automotive standard for Functional Safety, ISO/DIS 26262."/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="HazardousEvent" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The HazardousEvent metaclass represents a combination of a Hazard and a specific situation, the latter being characterized by operating mode and operational situation in terms of a particular use case, environment and traffic. &#xA;&#xA;Semantics:&#xA;The HazardousEvent denotes a combination of a Hazard and an operational situation. The controllability and severity attributes shall be consistent with the operational situation and operational scenario, and the Exposure shall reflect the likelihood of the operational situation and scenario.&#xA;&#xA;Notation:&#xA;The Hazard is shown as a solid-outline rectangle with &quot;Haz&quot; at the top right. It contains the name of the Hazard and optionally the name of the source entity.&#xA;&#xA;Extension: &#xA;UML::Class"/>
+ </eAnnotations>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="controllability" ordered="false"
+ unique="false" lowerBound="1" eType="#//dependability/ControllabilityClassKind"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="exposure" ordered="false"
+ unique="false" lowerBound="1" eType="#//dependability/ExposureClassKind"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="hazardClassification"
+ ordered="false" unique="false" lowerBound="1" eType="#//dependability/safetyconstraints/ASILKind"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="severity" ordered="false"
+ unique="false" lowerBound="1" eType="#//dependability/SeverityClassKind"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="classificationAssumptions"
+ ordered="false" unique="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hazard" ordered="false"
+ unique="false" lowerBound="1" upperBound="-1" eType="#//dependability/Hazard"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="traffic" ordered="false"
+ unique="false" upperBound="-1" eType="#//requirements/OperationalSituation"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="environment" ordered="false"
+ unique="false" upperBound="-1" eType="#//requirements/OperationalSituation"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="operationalSituationUseCase"
+ ordered="false" unique="false" lowerBound="1" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//UseCase"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="operatingMode" ordered="false"
+ unique="false" upperBound="-1" eType="#//behavior/Mode"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="externalMeasures" ordered="false"
+ unique="false" upperBound="-1" eType="#//requirements/Requirement"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="ControllabilityClassKind">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The ControllabilityClassKind is an enumeration metaclass with enumeration literals indicating controllability attributes C0, C1, C2 or C3 in accordance with ISO26262.&#xA;&#xA;Semantics:&#xA;The semantics is defined at each enumeration literal and fully defined in the ISO26262 standard.&#xA;&#xA;Extension: &#xA;Enumeration, no extension."/>
+ </eAnnotations>
+ <eLiterals name="C1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Simply controllable"/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="C2" value="1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Normally controllable"/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="C3" value="2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Difficult to control or uncontrollable"/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="C0" value="3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Controllable in general"/>
+ </eAnnotations>
+ </eLiterals>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="ExposureClassKind">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The ExposureClassKind is an enumeration metaclass with enumeration literals indicating the probability attributes E1, E2, E3 or E4 in accordance with ISO26262.&#xA;&#xA;Semantics:&#xA;The semantics is defined at each enumeration literal and fully defined in the ISO26262 standard.&#xA;&#xA;Extension: &#xA;Enumeration, no extension."/>
+ </eAnnotations>
+ <eLiterals name="E1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Rare events&#xD;&#xA;Situations that occur less often yhan once a year for the great majority of drivers"/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="E2" value="1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Sometimes&#xD;&#xA;Situations that occur a few times a year for the great majority of drivers"/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="E3" value="2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Quite often&#xD;&#xA;Situations that occur once a month or more often for an average driver"/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="E4" value="3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Often&#xD;&#xA;All situations that occur during almost every drive on average"/>
+ </eAnnotations>
+ </eLiterals>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="SeverityClassKind">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The SeverityClassKind is an enumeration metaclass with enumeration literals indicating the severity attributes S0, S1, S2 or S3 in accordance with ISO26262.&#xA;&#xA;Semantics:&#xA;The semantics is defined at each enumeration literal and fully defined in the ISO26262 standard.&#xA;&#xA;Extension: &#xA;Enumeration, no extension."/>
+ </eAnnotations>
+ <eLiterals name="S0">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="No injuries."/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="S1" value="1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Light and moderate injuries"/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="S2" value="2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Severe and life-threatening injuries (survival probable)"/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="S3" value="3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Life-threatening injuries (survival uncertain), fatal injuries"/>
+ </eAnnotations>
+ </eLiterals>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Hazard" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The Hazard represents a condition or state in the system that may contribute to accidents. It is usually a failure of some kind, but may also be a result of nominal operation. &#xA;The Hazard does not address hazards as electric shock, fire, smoke, heat, radiation, toxicity, flammability, reactivity, corrosion, release of energy, and similar hazards unless directly caused by malfunctioning behaviour of E/E safety related systems..&#xA;The Hazard metaclass is contained in the context, as Hazard specializes ADLTraceableSpecification. The context describes the element of the system where this hazard occur."/>
+ </eAnnotations>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="malfunction" ordered="false"
+ unique="false" lowerBound="1" upperBound="-1" eType="#//dependability/FeatureFlaw"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="item" ordered="false"
+ unique="false" lowerBound="1" upperBound="-1" eType="#//dependability/Item"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FeatureFlaw" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="FeatureFlaw denotes an abstract failure of a set of items, i.e. an inability to fulfill one or several of its requirements.&#xA;&#xA;Semantics:&#xA;FeatureFlaw represents functional anomalies derivable from each foreseeable source. nonFulfilledRequirements identifies those requirements that corresponds to the FeatureFlaw.&#xA;&#xA;Extension:&#xA;UML::Class"/>
+ </eAnnotations>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="item" ordered="false"
+ unique="false" lowerBound="1" upperBound="-1" eType="#//dependability/Item"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="nonFulfilledRequirement"
+ ordered="false" unique="false" upperBound="-1" eType="#//requirements/Requirement"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Item" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The Item entity identifies the scope of safety information and the safety assessment, i.e. the part of the system onto which the ISO26262 related information applies. Safety analyses are carried out on the basis of an item definition and the safety concepts are derived from it.&#xA;&#xA;Semantics:&#xA;Item represents the scope of safety information and the safety assessment trough its reference to one or several Features.&#xA;&#xA;Extension:&#xA;UML::Class"/>
+ </eAnnotations>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="developmentCategory"
+ ordered="false" unique="false" lowerBound="1" eType="#//dependability/DevelopmentCategoryKind">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="It shall be determined whether the item is a modification of an existing item or if it is a new development."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="vehicleFeature" ordered="false"
+ unique="false" lowerBound="1" upperBound="-1" eType="#//structure/vehiclefeaturemodeling/VehicleFeature"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="DevelopmentCategoryKind">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="DevelopmentCategoryKind in an enumeration with enumeration literals indicating whether the item is a modification of an existing item or if it is a new development.&#xA;&#xA;Semantics:&#xA;The semantics is defined at each enumeration literal and fully defined in the ISO26262 standard.&#xA;&#xA;Extension: &#xA;Enumeration, no extension."/>
+ </eAnnotations>
+ <eLiterals name="modificationOfExistingItem">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="In case of a modification the relevant lifecycle sub-phases and activities shall be determined."/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="newItemDevelopment" value="1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="In case of a new development, the entire lifecycle shall be passed through."/>
+ </eAnnotations>
+ </eLiterals>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Dependability" eSuperTypes="#//infrastructure/elements/Context">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="functionalSafetyConcept"
+ ordered="false" unique="false" upperBound="-1" eType="#//dependability/safetyrequirement/FunctionalSafetyConcept"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="safetyGoal" ordered="false"
+ unique="false" upperBound="-1" eType="#//dependability/safetyrequirement/SafetyGoal"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="technicalSafetyConcept"
+ ordered="false" unique="false" upperBound="-1" eType="#//dependability/safetyrequirement/TechnicalSafetyConcept"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hazardousEvent" ordered="false"
+ unique="false" upperBound="-1" eType="#//dependability/HazardousEvent"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="featureFlaw" ordered="false"
+ unique="false" upperBound="-1" eType="#//dependability/FeatureFlaw"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="item" ordered="false"
+ unique="false" upperBound="-1" eType="#//dependability/Item"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="eADatatype" ordered="false"
+ unique="false" upperBound="-1" eType="#//infrastructure/datatypes/EADatatype"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="faultFailure" ordered="false"
+ unique="false" upperBound="-1" eType="#//dependability/safetyconstraints/FaultFailure"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="quantitativeSafetyConstraint"
+ ordered="false" unique="false" upperBound="-1" eType="#//dependability/safetyconstraints/QuantitativeSafetyConstraint"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="safetyConstraint" ordered="false"
+ unique="false" upperBound="-1" eType="#//dependability/safetyconstraints/SafetyConstraint"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="safetyCase" ordered="false"
+ unique="false" upperBound="-1" eType="#//dependability/safetycase/SafetyCase"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="errorModelType" ordered="false"
+ unique="false" upperBound="-1" eType="#//dependability/errormodel/ErrorModelType"/>
+ </eClassifiers>
+ <eSubpackages name="errormodel" nsURI="http://www.papyrusuml.org/EAST-ADL2/Dependability/ErrorModel/1"
+ nsPrefix="ErrorModel">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The EAST-ADL2 sub-package for error modeling provides support for safety engineering by representing possible, incorrect behaviors of a system in its operation (e.g., component errors and their propagations).&#xA;Abnormal behaviors of architectural elements as well as their instantiations in a particular product context can be represented, forming a basis for safety analysis through external techniques and tools. Through the integration with other language constructs, definitions of error behaviors and hazards can be traced to the specifications of safety requirements, and further to the subsequent functional and non-functional requirements on error handing and hazard mitigations as well as to the necessary V&amp;V efforts. &#xA;Error behaviors are treated as a separated view, orthogonal to the nominal architecture model. This separation of concern in modeling is considered necessary in order to avoid some undesired effects of error modeling, such as the risk of mixing nominal and erroneous behavior in regards to the comprehension, reuse, and system synthesis (e.g., code generation)."/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="ErrorBehavior" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="ErrorBehavior represents the descriptions of failure logics or semantics that the target element identified by the ErrorModelType exhibits. Typically the target is a system, a function, a software component, or a hardware device.&#xA;Each ErrorBehavior description relates the occurrences of internal faults and incoming external faults to failures. The faults and failures that the errorBehavior propagated to and from the target element are declared through the ports of the error model.&#xA;&#xA;Semantics: &#xA;ErrorBehavior defines the error propagation logic of its containing ErrorModelType.&#xA;The ErrorBehavior description represents the error propagations from internal faults or incoming faults to external failures. Faults are identified by the internalFault and externalFault associations respectively. The propagated failures are identified by the externalFailure association. &#xA;The ErrorBehavior is defined in the failureLogic string, either directly or as a url referencing an external specification. &#xA;The failureLogic can be based on different formalisms, depending on the analysis techniques and tools available. This is indicated by its type:ErrorBehaviorKind attribute. The failureLogic attribute contains the actual failure propagation logic. &#xA;&#xA;Extension:&#xA;UML:Behavior"/>
+ </eAnnotations>
+ <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:EAttribute" name="failureLogic" ordered="false"
+ unique="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The error logic description based on an external formalism or the path to the file or model entity containing the external error logic description."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" ordered="false"
+ unique="false" lowerBound="1" eType="#//dependability/errormodel/ErrorBehaviorKind">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The type of formalism applied for the error behavior description."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="internalFault" ordered="false"
+ unique="false" upperBound="-1" eType="#//dependability/errormodel/InternalFaultPrototype">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The occurrences of internal faults."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="owner" ordered="false"
+ unique="false" eType="#//dependability/errormodel/ErrorModelType" eOpposite="#//dependability/errormodel/ErrorModelType/errorBehaviorDescription"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="externalFailure" ordered="false"
+ unique="false" lowerBound="1" upperBound="-1" eType="#//dependability/errormodel/FailureOutPort"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="externalFault" ordered="false"
+ unique="false" upperBound="-1" eType="#//dependability/errormodel/FaultInPort"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="processFault" ordered="false"
+ unique="false" upperBound="-1" eType="#//dependability/errormodel/ProcessFaultPrototype"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="ErrorBehaviorKind">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The ErrorBehaviorKind metaclass represents an enumeration of literals describing various types of formalisms used for specifying error behavior.&#xA;&#xA;Semantics:&#xA;ErrorBehaviorKind represents different formalisms for ErrorBehavior. The semantics is defined at each enumeration literal. &#xA;&#xA;Extension: &#xA;Enumeration, no extension."/>
+ </eAnnotations>
+ <eLiterals name="HIP_HOPS"/>
+ <eLiterals name="ALTARICA" value="1"/>
+ <eLiterals name="AADL" value="2"/>
+ <eLiterals name="OTHER" value="3"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InternalFaultPrototype" eSuperTypes="#//dependability/errormodel/Anomaly">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The InternalFault metaclass represents the particular internal conditions of the target component/system that are of particular concern for its fault/failure definition. &#xA;&#xA;Semantics:&#xA;The system anomaly represented by an InternalFault, which when activated, can cause errors and failures of the target element.&#xA;&#xA;Extension:&#xA;UML::Part / UML::Event"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Event" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Event"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Anomaly" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The Anomaly metaclass represents a Fault that may occur internally in an ErrorModel or being propagated to it, or a failure that is propagated out of an Error Model. The anomaly may represent different faults or failures depending on the range of its EADatatype. Typically, the EADatatype is an Enumeration, for example:&#xA;&#xA;BrakeAnomaly:&#xA;- BrakePressureTooLow&#xA;Semantics=&quot;brake pressure is below 20% of requested value&quot;&#xA;- Omission&#xA;Semantics=&quot;brake pressure is below 10% of maximal brake pressure&quot;&#xA;- Comission&#xA;Semantics=&quot;brake pressure exceeds requested value with more than 10% of maximal brake pressure&quot;&#xA;&#xA;Semantics may also be a more formal expression defining in the type of the nominal datatype what value range is considered a fault. This depends on the user and tooling available.&#xA;&#xA;Semantics:&#xA;An anomaly refers to a condition that deviates from expectations based on requirements specifications, design documents, user documents, standards, etc., or from someone's perceptions or experiences (ISO26262). The set of available faults or failures represented by the Anomaly is defined by its EADatatype, typically an enumeration type like {omission, commission}. It is an abstract class further specialized with metaclasses for different types of fault/failure.&#xA;&#xA;&#xA;Extension:&#xA;(UML::Part)"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="genericDescription"
+ ordered="false" unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ <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="type" ordered="false"
+ unique="false" lowerBound="1" eType="#//infrastructure/datatypes/EADatatype"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ErrorModelType" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="ErrorModelType and ErrorModelPrototype support the hierarchical composition of error models based on the type-prototype pattern also adopted for the nominal architecture composition. The purpose of the error models is to represent information relating to the anomalies of a nominal model element. &#xA;&#xA;An ErrorModelType represents the internal faults and fault propagations of the nominal element that it targets. &#xA;&#xA;Typically the target is a system/subsystem, a function, a software component, or a hardware device.&#xA;&#xA;ErrorModelType inherits the abstract metaclass TraceableSpecification, allowing the ErrorModelType to be referenced from its design context in a similar way as requirements, test cases and other specifications. &#xA;&#xA;Constraints:&#xA;An ErrorModelType without part shall have one errorBehaviorDescription&#xA;&#xA;Semantics:&#xA;The ErrorModelType represents a specification of the faults and fault propagations of its target element. &#xA;&#xA;Both types and prototypes may be targets, and the following cases are relevant:&#xA;- One nominal type: &#xA;The ErrorModelType represents the identified nominal type wherever this nominal type is instantiated. &#xA;- Several nominal types: &#xA;The ErrorModelType represents the identified nominal types individually, i.e. the same error model applies to all nominal types and is reused.&#xA;- One nominal prototype: &#xA;The ErrorModelType represents the identified nominal prototype whenever its context, i.e. its top-level composition is instantiated. &#xA;- Several nominal prototypes with instanceref: &#xA;The ErrorModelType represents the identified set of nominal prototypes (together) whenever their context, i.e. their top-level composition is instantiated. &#xA;&#xA;The fault propagation of an errorModelType is defined by its contained parts, the ErrorModelPrototypes and their connections. In case it contains both parts and an errorBehaviorDescription, the errorBehaviorDescription shall be consistent with the parts.&#xA;FaultFailurePropagationLinks define valid propagation paths in the ErrorModelType. In case the contained FaultInPorts and FailureOutPorts reference nominal ports, the connectivity of the nominal model may serve as a pattern for connecting ports in the ErrorModelType. &#xA;The ErrorModelType contains internalFaults and externalFaults, representing faults that are either propagated to externalFailures or masked, according to the definition of its fault propagation.&#xA;A processFault represents a flaw introduced during design, and may lead to any of the failures represented by the ErrorModelType. A processFault thus has a direct propagation to all externalFailures and cannot be masked. &#xA;&#xA;Extension:&#xA;(see ADLTraceableSpecfication)"/>
+ </eAnnotations>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="genericDescription"
+ ordered="false" unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"
+ defaultValueLiteral="NA"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="faultFailureConnector"
+ ordered="false" upperBound="-1" eType="#//dependability/errormodel/FaultFailurePropagationLink"
+ changeable="false" volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The links for the error propagations between subordinate error models.&#xD;{derived from UML::StructuredClassifier::ownedConnector}"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="part" ordered="false"
+ upperBound="-1" eType="#//dependability/errormodel/ErrorModelPrototype"
+ changeable="false" volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="{derived from UML::Classifier::attribute}"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="failure" ordered="false"
+ upperBound="-1" eType="#//dependability/errormodel/FailureOutPort" changeable="false"
+ volatile="true" transient="true" derived="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="externalFault" ordered="false"
+ upperBound="-1" eType="#//dependability/errormodel/FaultInPort" changeable="false"
+ volatile="true" transient="true" derived="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="internalFault" ordered="false"
+ upperBound="-1" eType="#//dependability/errormodel/InternalFaultPrototype"
+ changeable="false" volatile="true" transient="true" derived="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="processFault" ordered="false"
+ upperBound="-1" eType="#//dependability/errormodel/ProcessFaultPrototype"
+ changeable="false" volatile="true" transient="true" derived="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"
+ unique="false" upperBound="-1" eType="#//structure/functionmodeling/FunctionType"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hwTarget" ordered="false"
+ unique="false" upperBound="-1" eType="#//structure/hardwaremodeling/HardwareComponentType"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="errorBehaviorDescription"
+ ordered="false" lowerBound="1" upperBound="-1" eType="#//dependability/errormodel/ErrorBehavior"
+ eOpposite="#//dependability/errormodel/ErrorBehavior/owner"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FaultFailurePropagationLink" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The FaultFailurePropagationLink metaclass represents the links for the propagations of faults/failures across system elements. In particular, it defines that one error model provides the faults/failures that another error model receives.&#xA;&#xA;A fault/failure link can only be applied to compatible ports, either for fault/failure delegation within an error model or for fault/failure transmission across two error models. A FaultFailurePropagationLink can only connect fault/failure ports that have compatible types. &#xA;&#xA;Constraints:&#xA;[1] Only compatible fromPort-toPort pairs may be connectedNo additional constraints&#xA;&#xA;[2] Two fault/failure ports are compatible if the EADatatype of the fromPort represents a subset of the Fault/Failure set represented by the toPort’s EADatatype. &#xA;&#xA;&#xA;Semantics:&#xA;The FaultFailurePropagationLink defines a Failure propagation path, from the fromPort on one error model to the toPort of another error model. &#xA;&#xA;&#xA;Extension:&#xA;UML::Connector"/>
+ </eAnnotations>
+ <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="immediatePropagation"
+ ordered="false" unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
+ defaultValueLiteral="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="toPort" ordered="false"
+ lowerBound="1" eType="#//dependability/errormodel/FaultFailurePort" changeable="false"
+ volatile="true" transient="true" derived="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="fromPort" ordered="false"
+ lowerBound="1" eType="#//dependability/errormodel/FaultFailurePort" changeable="false"
+ volatile="true" transient="true" derived="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="fromPort_path" upperBound="-1"
+ eType="#//dependability/errormodel/ErrorModelPrototype"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="toPort_path" upperBound="-1"
+ eType="#//dependability/errormodel/ErrorModelPrototype"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FaultFailurePort" abstract="true"
+ eSuperTypes="#//dependability/errormodel/Anomaly">
+ <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="functionTarget" ordered="false"
+ unique="false" upperBound="-1" eType="#//structure/functionmodeling/FunctionPort"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hwTarget" ordered="false"
+ unique="false" upperBound="-1" eType="#//structure/hardwaremodeling/HardwarePin"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="functionTarget_path"
+ upperBound="-1" eType="#//structure/functionmodeling/FunctionPrototype"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hwTarget_path" upperBound="-1"
+ eType="#//structure/hardwaremodeling/HardwareComponentPrototype"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ErrorModelPrototype" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="ErrorModelType and ErrorModelPrototype support the hierarchical composition of error models based on the type-prototype pattern also adopted for the nominal architecture composition. The purpose of the error models is to represent information relating to the anomalies of a nominal model element. &#xA;&#xA;The ErrorModelPrototype is used to define hierarchical error models allowing additional detail or structure to the error model of a particular target. A hierarchal structure can also be defined when several ErrorModels are integrated to a larger ErrorModel representing a system integrated from several targets. &#xA;&#xA;Typically the target is a system/subsystem, a function, a software component, or a hardware device.&#xA;&#xA;&#xA;Semantics:&#xA;An ErrorModelPrototype represents a unique compositional occurrence of the ErrorModelType that types it in the containing ErrorModelType.&#xA;&#xA;Extension:&#xA;(See ADLFunctionPrototype)"/>
+ </eAnnotations>
+ <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="type" ordered="false"
+ lowerBound="1" eType="#//dependability/errormodel/ErrorModelType" changeable="false"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="{derived from UML::TypedElement::type}"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="target" 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="functionTarget" ordered="false"
+ unique="false" upperBound="-1" eType="#//structure/functionmodeling/FunctionPrototype"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hwTarget" ordered="false"
+ unique="false" upperBound="-1" eType="#//structure/hardwaremodeling/HardwareComponentPrototype"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="functionTarget_path"
+ upperBound="-1" eType="#//structure/functionmodeling/FunctionPrototype"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hwTarget_path" upperBound="-1"
+ eType="#//structure/hardwaremodeling/HardwareComponentPrototype" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FailureOutPort" eSuperTypes="#//dependability/errormodel/FaultFailurePort">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The FailureOutPort represents a propagation point for failures that propagate out from the containing ErrorModelType.The EADatatype of the FailureOutPort defines the range of valid failures.&#xA;&#xA;&#xA;Constraints:&#xA;[1] The direction of the nominal port must be out.&#xA;&#xA;Semantics:&#xA;The value range of a FailureOutPort represents failures that can propagate to FaultInPorts in other ErrorModels. The value range is defined by the FailureOutPort’s EADatatype.&#xA;&#xA;If nominal Ports HWTargets or FunctionTargets are referenced, the failures of the FailureOutPort correspond to data on these nominal ports.&#xA;&#xA;&#xA;Extension: &#xA;UML::Port"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FaultInPort" eSuperTypes="#//dependability/errormodel/FaultFailurePort">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The FaultInPort represents a propagation point for faults that propagate to the containing ErrorModelType. The EADatatype of the FaultInPort defines the range of valid failures.&#xA;&#xA;Constraints:&#xA;[1] The direction of the nominal port must be in.&#xA;&#xA;Semantics:&#xA;The value range of a FaultInPort represents faults propagated from a FailureOutPort in another ErrorModel. The value range is defined by the FaultInPort’s EADatatype.&#xA;&#xA;If nominal Ports HWTarget or FunctionTarget are referenced, the faults on the FaultInPort.&#xA;&#xA;&#xA;Extension: &#xA;UML::Port"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ProcessFaultPrototype" eSuperTypes="#//dependability/errormodel/Anomaly">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The ProcessFaultPrototype metaclass represents the anomalies that the target component/system can have due to design or implementation flaws (e.g., incorrect requirements, buffer size configuration, scheduling, etc.). &#xA;&#xA;Semantics: &#xA;The ProcessFaultPrototype metaclass represents the anomalies that the target component/system can have due to design or implementation flaws (e.g., incorrect requirements, buffer size configuration, scheduling, etc.).&#xA;&#xA;Extension:&#xA;UML::Part / UML::Event"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Event" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Event"/>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="safetyrequirement" nsURI="http://www.papyrusuml.org/EAST-ADL2/Dependability/SafetyRequirement/1"
+ nsPrefix="SafetyRequirement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This subprofile defines a set of stereotypes concerning the definition of safety requirements inked to ISO26262 norm.&#xD;&#xA;&#xD;&#xA;Overview:&#xD;&#xA;This subprofile defines a set of stereotypes concerning the definition of safety requirements linked to the ISO26262 norm."/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="FunctionalSafetyConcept" eSuperTypes="#//requirements/RequirementsContainer">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="FunctionalSafetyConcept represents the set of functional safety requirements that together fulfils a SafetyGoal in accordance with ISO 26262.&#xA;&#xA;To comply with the SafetyGoals, the FunctionalSafetyConcept specifies the basic safety mechanisms and safety measures in the form of functional safety requirements.&#xA;&#xA;Constraints:&#xA;[1] Contained functionalSafetyRequirements shall not be of type SafetyGoal.&#xA;&#xA;Semantics:&#xA;The collection of requirements in the FunctionalSafetyConcept defines the requirements necessary to make the Item safe. The requirements are abstract and do not specify technical details."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="functionalSafetyRequirement"
+ unique="false" upperBound="-1" eType="#//requirements/Requirement"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SafetyGoal" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="SafetyGoal represents the top-level safety requirement defined in ISO26262. Its purpose is to define how to avoid its associated HazardousEvents, or reduce the risk associated with the hazardous event to an acceptable level.&#xA;The SafetyGoal is defined through one or several associated requirement elements.&#xA;An ASIL shall be assigned to each SafetyGoal, to represent the integrity level at which the SafetyGoal must be met.&#xA;Similar SafetyGoals can be combined into one SafetyGoal. If different ASILs are assigned to similar SafetyGoals, the highest ASIL shall be assigned to the combined SafetyGoal. &#xA;For every SafetyGoal, a safe state should be defined, either textually or by referencing a specific mode. The safe state is a system state to be maintained or to be reached when a potential source of its hazardous event is detected.&#xA;&#xA;Semantics:&#xA;SafetyGoal represents a safety Goal according to ISO26262. Requirements define the SafetyGoal and HazardousEvents identify the responsibility of each SafetyGoal. hazardClassification defines the integrity classification of the SafetyGoal and safeStates may be defined by a string or formalized through associated Modes.&#xA;&#xA;Notation:&#xA;SafetyGoal is a box with text SafetyGoal at the top left.&#xA;&#xA;Extension:&#xA;Class"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="derivedFrom" ordered="false"
+ unique="false" lowerBound="1" upperBound="-1" eType="#//dependability/HazardousEvent"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="safeStates" ordered="false"
+ unique="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="For every safety goal, a safe state should be defined, in order to declare a system state to be maintained or to be reached when the failure is detected and so to allow a failure mitigation action without any violation of the associated safety goal."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="requirement" ordered="false"
+ unique="false" lowerBound="1" upperBound="-1" eType="#//requirements/Requirement"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="hazardClassification"
+ ordered="false" unique="false" lowerBound="1" eType="#//dependability/safetyconstraints/ASILKind"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="safeModes" ordered="false"
+ unique="false" upperBound="-1" eType="#//behavior/Mode"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TechnicalSafetyConcept" eSuperTypes="#//requirements/RequirementsContainer">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="TechnicalSafetyConcept represents the set of technical safety requirements that together fulfils a FunctionalSafetyConcept and SafetyGoal in accordance with ISO 26262.&#xA;&#xA;These are derived from FunctionalSafetyConcepts i.e. TechnicalSafetyRequirements are derived from FunctionalSafetyRequirements.&#xA;&#xA;&#xA;Semantics:&#xA;The TechnicalSafetyConcept consists of the technical safety requirements and details the functional safety concept considering the functional concept and the preliminary architectural design. It corresponds to the Technical Safety Concept of ISO26262."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="technicalSafetyRequirement"
+ unique="false" upperBound="-1" eType="#//requirements/Requirement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="technicalSafety Requirements."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="safetyconstraints" nsURI="http://www.papyrusuml.org/EAST-ADL2/Dependability/SafetyConstraints/1"
+ nsPrefix="SafetyConstraints">
+ <eClassifiers xsi:type="ecore:EClass" name="FaultFailure" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The FaultFailure represents a certain fault or failure on its referenced Anomaly. The faultFailureValue specifies the value of the Anomaly that the FaultFailure corresponds to, i.e. one of the possible values of the Anomaly. &#xA;&#xA;Semantics:&#xA;A FaultFailure is defined as a certain value, faultFailureValue, occurring at the referenced Anomaly."/>
+ </eAnnotations>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="faultFailureValue"
+ ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="anomaly" ordered="false"
+ unique="false" eType="#//dependability/errormodel/Anomaly"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SafetyConstraint" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The SafetyConstraint metaclass represents the qualitative integrity constraints on a fault or failure. Thus, the system has same or better performance with respect to the constrained fault or failure, and depending on the role this is either a requirement or a property.&#xA;&#xA;Semantics:&#xA;A SafetyConstraint defines qualitative bounds on the constrainedFaultFailure in terms of safety integrity level, asilValue.&#xA;&#xA;Depending on role, the SafetyConstraint may define a required or an actual safety integrity level. &#xA;&#xA;&#xA;Extension:&#xA;(see ADLTraceableSpecification)"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="asilValue" ordered="false"
+ unique="false" lowerBound="1" eType="#//dependability/safetyconstraints/ASILKind"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="constrainedFaultFailure"
+ ordered="false" unique="false" lowerBound="1" upperBound="-1" eType="#//dependability/safetyconstraints/FaultFailure"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Constraint" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Constraint"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="QuantitativeSafetyConstraint" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The QuantitativeSafetyConstraint metaclass represents the quantitative integrity constraints on a fault or failure. Thus, the system has same or better performance with respect to the constrained fault or failure, and depending on the role this is either a requirement or a property.&#xA;&#xA;Semantics:&#xA;A QuantitativeSafetyConstraint provides information about the probabilistic estimates of target faults/failures, further specified by the failureRate and repairRate attribute.&#xA;&#xA;Extension:&#xA;(see ADLTraceableSpecification)"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="constrainedFaultFailure"
+ ordered="false" unique="false" lowerBound="1" upperBound="-1" eType="#//dependability/safetyconstraints/FaultFailure"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="failureRate" ordered="false"
+ unique="false" lowerBound="1" eType="#//infrastructure/datatypes/javalangFloat"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="repairRate" ordered="false"
+ unique="false" lowerBound="1" eType="#//infrastructure/datatypes/javalangFloat"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Constraint" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Constraint"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="ASILKind">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The ASILKind is an enumeration metaclass with enumeration literals indicating the level of safety integrity in accordance with ISO26262.&#xA;&#xA;Semantics:&#xA;The semantics is defined at each enumeration literal and fully defined in the ISO26262 standard.&#xA;&#xA;Extension: &#xA;Enumeration, no extension."/>
+ </eAnnotations>
+ <eLiterals name="ASIL_A">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="ASIL A, Lowest Safety Integrity Level."/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="ASIL_D" value="1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="ASIL D, Highest Safety Integrity Level."/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="ASIL_C" value="2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="ASIL C, second highest Safety Integrity Level."/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="ASIL_B" value="3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="ASIL B, second lowest Safety Integrity Level."/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="QM" value="4">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Quality Management only, no requirement according to ISO 26262."/>
+ </eAnnotations>
+ </eLiterals>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="safetycase" nsURI="http://www.papyrusuml.org/EAST-ADL2/Dependability/SafetyCase/1"
+ nsPrefix="SafetyCase">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Safety is a property of a system that is difficult to verify quantitatively since no clear measurement method exists that can be applied during the development. Not even exhaustive testing is feasible, as faults in electronics can have an intensity of 10^-9 faults/hour and still pose an unacceptable risk. Hence, it is only when enough field data have been collected from a system used in a particular context that it can be said to be safe enough. Nonetheless, safety must be addressed and assessed during development; restricted to qualitative reasoning about the safety of a product. A structured engineering method is thus needed to approach this problem. One such method is the so called safety case, which came originally from the nuclear industry."/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="SafetyCase" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="SafetyCase represents a safety case that communicates a clear, comprehensive and defensible argument that a system is acceptable safe to operate in a given context.&#xA;&#xA;Safety Cases are used in safety related systems, where failures can lead to catastrophic or at least dangerous consequences."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="safetyCase" ordered="false"
+ upperBound="-1" eType="#//dependability/safetycase/SafetyCase" containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Attached SafetyCases"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="stage" ordered="false"
+ lowerBound="1" eType="#//dependability/safetycase/LifecycleStageKind"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="context" ordered="false"
+ lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ground" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//dependability/safetycase/Ground"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="warrant" ordered="false"
+ upperBound="-1" eType="#//dependability/safetycase/Warrant"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="claim" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//dependability/safetycase/Claim"/>
+ <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:EEnum" name="LifecycleStageKind">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The SafetyCase should be initiated at the earliest possible stage in the safety program so that hazards are identified and dealt with while the opportunities for their exclusion exist. &#xA;&#xA;The LifecycleStageKind is an enumeration metaclass with enumeration literals indicating safety case life cycle stage.&#xA;&#xA;Semantics:&#xA;The safety case is one incremental safety case, rather than several complete new ones. The safety case lifecycle stage has the following meanings:&#xA;&#xA;- The preliminary safety case is started when development of the system is started. After this stage discussions with the customer can commence about possible safety issues (hazards). &#xA;&#xA;- The interim safety case is situated after the first system design and tests.&#xA;&#xA;- The operational safety case is prior to in-service use. &#xA;&#xA;Extension: &#xA;Enumeration, no extension."/>
+ </eAnnotations>
+ <eLiterals name="PreliminarySafetyCase"/>
+ <eLiterals name="InterimSafetyCase" value="1"/>
+ <eLiterals name="OperationalSafetyCase" value="2"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Ground" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Claim is based on Grounds (evidences) - specific facts about a precise situation that clarify and make good the Claim. &#xA;&#xA;Ground represents statements that explain how the SafetyCase Ground clarifies and make good the Claim.&#xA;&#xA;Ground has associations to the entities that are the evidences in the SafetyCase.&#xA;&#xA;Semantics:&#xA;Ground (evidence) is information that supports the Claim that the safety requirements and objectives are met i.e. used as the basis of the safety argument.&#xA;&#xA;Solution is evidence that the sub-goals have been met. This can be achieved by decomposing all goal claims to a level where direct reference to evidences was felt possible.&#xA;&#xA;The evidences address different aspects of the goal. It always has to be ensured that each of them is defensible enough to confirm the underlying statement."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="safetyEvidence" ordered="false"
+ unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Safety evidence in system model."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="justification" ordered="false"
+ upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Comment"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Warrant" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Warrant represents argumentation of the facts to the Claim in general ways.&#xA;&#xA;The Warrant entity has associations to the decomposed goals and to the evidences for the SafetyCase.&#xA;&#xA;Semantics:&#xA;The overall objective of an argument is to lead the evidence to the claim.&#xA;&#xA;Arguments are actions of inferring a conclusion from premised propositions. An argument is considered valid if the conclusion can be logically derived from its premises. An argument is considered sound if it is valid and all premises are true.&#xA;&#xA;A goal decomposition strategy breaks down a goal into a number of sub-goals. It is recommended that the strategies are of specific form."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="decomposedGoal" ordered="false"
+ unique="false" upperBound="-1" eType="#//dependability/safetycase/Claim"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="evidence" ordered="false"
+ unique="false" upperBound="-1" eType="#//dependability/safetycase/Ground"/>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="justification" ordered="false"
+ upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Comment"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Claim" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Claim represents a statement the truth of which needs to be confirmed.&#xA;&#xA;Claim has associations to the strategy for goal decomposition and to supported arguments. It also holds associations to the evidences for the SafetyCase.&#xA;&#xA;Semantics:&#xA;Goal-based development provides the claim what should be achieved.&#xA;&#xA;Goal is what the argument must show to be true."/>
+ </eAnnotations>
+ <eAnnotations source="duplicates">
+ <contents xsi:type="ecore:EReference" name="goalDecompositionStrategy" ordered="false"
+ unique="false" upperBound="-1" eType="#//dependability/safetycase/Warrant">
+ <eAnnotations source="redefines" references="#//dependability/safetycase/Claim/goalDecompositionStrategy"/>
+ </contents>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="safetyRequirement"
+ ordered="false" unique="false" upperBound="-1" eType="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Safety requirements and objectives in system model."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="supportedArgument"
+ ordered="false" unique="false" upperBound="-1" eType="#//dependability/safetycase/Warrant"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="goalDecompositionStrategy"
+ ordered="false" unique="false" upperBound="-1" eType="#//dependability/safetycase/Warrant"/>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="justification" ordered="false"
+ upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Comment"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="evidence" ordered="false"
+ unique="false" lowerBound="1" upperBound="-1" eType="#//dependability/safetycase/Ground"/>
+ </eClassifiers>
+ </eSubpackages>
+ </eSubpackages>
+ <eSubpackages name="annex" nsURI="http://www.papyrusuml.org/EAST-ADL2/Annex/1" nsPrefix="Annex">
+ <eClassifiers xsi:type="ecore:EDataType" name="Dummy" instanceClassName="java.lang.String">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Dummy DataType, just added for code generation purpose.&#xD;&#xA;In other words, this data type for EMF generation of SysmlPackage and SysmlFactory&#xD;&#xA;java classes in the model code.&#xD;&#xA;&#xD;&#xA;Do not remove this !!!"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eSubpackages name="needs" nsURI="http://www.papyrusuml.org/EAST-ADL2/Annex/Needs/1"
+ nsPrefix="Needs">
+ <eClassifiers xsi:type="ecore:EClass" name="Stakeholder" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The stakeholder represents various roles with regard to the creation and use of architectural descriptions. Stakeholders include clients, users, the architect, developers, and evaluators. [IEEE 1471]"/>
+ </eAnnotations>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="responsibilities" ordered="false"
+ unique="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="successCriteria" ordered="false"
+ unique="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StakeholderNeed" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Stakeholder needs represent a list of the key problems as perceived by the stakeholder, and it gives the opportunity to establish traceability from artifacts created later, for example to provide rationales to design decisions or trade-off analysis."/>
+ </eAnnotations>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="need" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
+ <eAnnotations source="redefines" references="#//infrastructure/elements/TraceableSpecification/note"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="priority" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="stakeHolder" ordered="false"
+ unique="false" lowerBound="1" upperBound="-1" eType="#//annex/needs/Stakeholder"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="problemStatement" ordered="false"
+ unique="false" lowerBound="1" upperBound="-1" eType="#//annex/needs/ProblemStatement"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ProblemStatement" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The problem statement represents a brief statement summarizing the problem being solved which gives the opportunity to establish traceability from artifacts created later, for example to provide rationales to design decisions or trade-off analysis.&#xA;&#xA;The problem statement could be extended with further modeling of dependencies between different problems and deduction of root problems"/>
+ </eAnnotations>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="affects" ordered="false"
+ unique="false" upperBound="-1" eType="#//annex/needs/Stakeholder"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="impact" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="problem" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
+ <eAnnotations source="redefines" references="#//infrastructure/elements/TraceableSpecification/note"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="solutionBenefits" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ProductPositioning" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The problem positioning represents an overall brief statement summarizing, at the highest level, the unique position the product intends to fill in the marketplace which gives the opportunity to establish traceability from artifacts created later, for example to provide rationales to design decisions or trade-off analysis.&#xA;&#xA;Positioning is assumed to belong to a particular context, typically a system, but also for a smaller part of a system."/>
+ </eAnnotations>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="drivingNeeds" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="keyCapabilities" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="primaryCompetitiveAlternative"
+ ordered="false" unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="primaryDifferentiation"
+ ordered="false" unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="targetCustomers" ordered="false"
+ unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BusinessOpportunity" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The business opportunity represents a brief description of the business opportunity being met by developing the EE-System which establishes traceability from artifacts created later, for example to provide rationales to design decisions or trade-off analysis."/>
+ </eAnnotations>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="problemStatement" ordered="false"
+ unique="false" upperBound="-1" eType="#//annex/needs/ProblemStatement"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="productPositioning"
+ ordered="false" unique="false" upperBound="-1" eType="#//annex/needs/ProductPositioning"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="businessOpportunity"
+ ordered="false" unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String">
+ <eAnnotations source="redefines" references="#//infrastructure/elements/TraceableSpecification/note"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Concept" abstract="true" eSuperTypes="#//infrastructure/elements/EAElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="An abstract or general idea inferred or derived from specific instances. [Webster]"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Mission" eSuperTypes="#//annex/needs/Concept">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A mission is a use or operation for which a system is intended by one or more stakeholders to meet some set of objectives. [IEEE 1471]"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="VehicleSystem" eSuperTypes="#//annex/needs/Concept">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A collection of components organized to accomplish a specific function or set of functions. [IEEE 1471]"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="fulfills" ordered="false"
+ unique="false" lowerBound="1" upperBound="-1" eType="#//annex/needs/Mission"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hasAn" ordered="false"
+ unique="false" lowerBound="1" eType="#//annex/needs/Architecture"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="has" ordered="false"
+ unique="false" lowerBound="1" upperBound="-1" eType="#//annex/needs/Stakeholder"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Architecture" eSuperTypes="#//annex/needs/Concept">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution. [IEEE 1471]"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="describedBy" ordered="false"
+ unique="false" lowerBound="1" eType="#//annex/needs/ArchitecturalDescription"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ArchitecturalDescription" eSuperTypes="#//annex/needs/Concept">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A collection of products to document an architecture. [IEEE 1471]"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="aggregates" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//annex/needs/ArchitecturalModel"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="identifies" ordered="false"
+ unique="false" lowerBound="1" upperBound="-1" eType="#//annex/needs/Stakeholder"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ArchitecturalModel" eSuperTypes="#//annex/needs/Concept">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A view may consist of one or more architectural models. Each such architectural model is developed using the methods established by its associated architectural viewpoint. An architectural model may participate in more than one view. [IEEE 1471]"/>
+ </eAnnotations>
+ </eClassifiers>
+ </eSubpackages>
+ </eSubpackages>
+ <eSubpackages name="genericconstraints" nsURI="http://www.papyrusuml.org/EAST-ADL2/GenericConstraints/1"
+ nsPrefix="GenericConstraints">
+ <eClassifiers xsi:type="ecore:EClass" name="GenericConstraint" eSuperTypes="#//infrastructure/elements/TraceableSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The GenericConstraint denotes a property, requirement, or a validation result for the identified element of the model. The kind of GenericConstraint is described as one of the GenericConstraintKind literals.&#xA;&#xA;Example: If the attribute genericConstraintType is cableLength, the genericConstraintValue could be &quot;5 meters&quot; (value of a numerical datatype with unit &quot;meters&quot;).&#xA;&#xA;Semantics:&#xA;The GenericConstraint does not describe what is classically referred to as a design constraint but has the role of a property, requirement, or a validation result. It is a requirement if this GenericConstraint refines a Requirement (by the Refine relationship). The GenericConstraint is a validation result if it realizes a VVActualOutcome, it is an intended validation result if it realizes a VVIntendedOutcome, and in other cases it denotes a property.&#xA;&#xA;&#xA;&#xA;Extension: Class, Constraint"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="designConstraintType"
+ ordered="false" eType="#//genericconstraints/GenericConstraintKind" defaultValueLiteral=""/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Constraint" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Constraint"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="genericConstraintValue"
+ ordered="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"
+ unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="mode" ordered="false"
+ unique="false" upperBound="-1" eType="#//behavior/Mode"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="GenericConstraintKind">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Enumeration for different type of constraints."/>
+ </eAnnotations>
+ <eLiterals name="powerConsumption"/>
+ <eLiterals name="other" value="1"/>
+ <eLiterals name="pieceCost" value="2"/>
+ <eLiterals name="weight" value="3"/>
+ <eLiterals name="standard" value="4"/>
+ <eLiterals name="cableLength" value="5"/>
+ <eLiterals name="developmentCost" value="6"/>
+ <eLiterals name="functionAllocationDifferentNodes" value="7"/>
+ <eLiterals name="functionAllocationSameNode" value="8"/>
+ <eLiterals name="powerSupplyIndependent" value="9"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="GenericConstraintSet" eSuperTypes="#//infrastructure/elements/Context">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The collection of generic constraints. This collection can be done across the EAST-ADL2 abstraction levels."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="genericConstraint" ordered="false"
+ upperBound="-1" eType="#//genericconstraints/GenericConstraint"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TakeRateConstraint" eSuperTypes="#//genericconstraints/GenericConstraint">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
+ unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="takeRate" ordered="false"
+ unique="false" lowerBound="1" eType="#//infrastructure/datatypes/javalangFloat"/>
+ </eClassifiers>
+ </eSubpackages>
+</ecore:EPackage>
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadl.genmodel b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadl.genmodel
new file mode 100644
index 00000000000..0419b0e1201
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadl.genmodel
@@ -0,0 +1,1521 @@
+<?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.eastadl/src" modelPluginID="org.eclipse.papyrus.eastadl"
+ modelName="Eastadl" importerID="org.eclipse.emf.importer.ecore" complianceLevel="6.0"
+ copyrightFields="false" usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore platform:/plugin/org.eclipse.uml2.uml.profile.l2/model/L2.genmodel#//l2 platform:/plugin/org.eclipse.papyrus.sysml/model/sysml.genmodel#//sysml platform:/plugin/org.eclipse.uml2.types/model/Types.genmodel#//types platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml">
+ <foreignModel>eastadl.ecore</foreignModel>
+ <genPackages prefix="Eastadl" basePackage="org.eclipse.papyrus" disposableProviderFactory="true"
+ ecorePackage="eastadl.ecore#/">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//dummy"/>
+ <nestedGenPackages prefix="Variability" basePackage="org.eclipse.papyrus.eastadl"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//variability">
+ <genClasses ecoreClass="eastadl.ecore#//variability/VariationGroup">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//variability/VariationGroup/constraint"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//variability/VariationGroup/kind"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/VariationGroup/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/VariationGroup/variableElement"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/VariableElement">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/VariableElement/requiredBindingTime"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/VariableElement/actualBindingTime"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/VariableElement/reuseMetaInformation"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/VariableElement/optionalElement"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/VariableElement/base_Class"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/ReuseMetaInformation">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//variability/ReuseMetaInformation/information"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//variability/ReuseMetaInformation/isReusable"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ReuseMetaInformation/base_Class"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/ConfigurableContainer">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurableContainer/internalBinding"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurableContainer/variationGroup"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurableContainer/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurableContainer/base_Package"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurableContainer/configurableElement"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurableContainer/publicFeatureModel"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/InternalBinding"/>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//variability/ConfigurationDecisionModel">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurationDecisionModel/base_Package"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurationDecisionModel/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurationDecisionModel/rootEntry"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//variability/ConfigurationDecisionModelEntry">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//variability/ConfigurationDecisionModelEntry/isActive"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurationDecisionModelEntry/base_Class"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/Variability">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/Variability/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/Variability/base_Package"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/Variability/configurableContainer"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/Variability/configuration"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/Variability/productFeatureModel"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/Variability/decisionModel"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/Variability/variableElement"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/FeatureConfiguration">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/FeatureConfiguration/configuredFeatureModel"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/VehicleLevelBinding">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/VehicleLevelBinding/sourceVehicleFeatureModel"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/VehicleLevelBinding/targetFeatureModel"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/ConfigurationDecision">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//variability/ConfigurationDecision/effect"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//variability/ConfigurationDecision/criterion"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//variability/ConfigurationDecision/isEquivalence"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurationDecision/target"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurationDecision/selectionCriterion"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/SelectionCriterion">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/SelectionCriterion/source"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/SelectionCriterion/base_Class"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/ConfigurationDecisionFolder">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurationDecisionFolder/childEntry"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/ContainerConfiguration">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ContainerConfiguration/configuredContainer"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/PrivateContent">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/PrivateContent/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/PrivateContent/privateElement"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Infrastructure" basePackage="org.eclipse.papyrus.eastadl"
+ disposableProviderFactory="true" ecorePackage="eastadl.ecore#//infrastructure">
+ <genDataTypes ecoreDataType="eastadl.ecore#//infrastructure/Dummy"/>
+ <nestedGenPackages prefix="Datatypes" basePackage="org.eclipse.papyrus.eastadl.infrastructure"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//infrastructure/datatypes">
+ <genDataTypes ecoreDataType="eastadl.ecore#//infrastructure/datatypes/javalangFloat"/>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//infrastructure/datatypes/EADatatype">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/datatypes/EADatatype/base_DataType"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/EADatatypePrototype">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/datatypes/EADatatypePrototype/type"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/datatypes/EADatatypePrototype/base_Property"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/datatypes/EADatatypePrototype/base_Parameter"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//infrastructure/datatypes/ValueType">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/ValueType/semantics"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/ValueType/dimension"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/ValueType/unit"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//infrastructure/datatypes/RangeableDatatype"/>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/RangeableValueType">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/RangeableValueType/accuracy"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/RangeableValueType/resolution"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/RangeableValueType/significantDigits"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/EnumerationValueType">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/EnumerationValueType/isMultiValued"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/EnumerationValueType/literalSemantics"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/datatypes/EnumerationValueType/base_Enumeration"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/CompositeDatatype">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/datatypes/CompositeDatatype/datatypePrototype"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/EAString"/>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/EABoolean"/>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/EAFloat">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/EAFloat/min"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/EAFloat/max"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/EAInteger">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/EAInteger/min"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/EAInteger/max"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/EnumerationLiteral"/>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/Enumeration">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/datatypes/Enumeration/literal"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Userattributes" basePackage="org.eclipse.papyrus.eastadl.infrastructure"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//infrastructure/userattributes">
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/userattributes/UserAttributeElementType">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeElementType/extendedElementType"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeElementType/attribute"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeElementType/base_Class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/userattributes/UserAttributeElementType/validFor"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/userattributes/UserAttributeDefinition">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeDefinition/base_Class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/userattributes/UserAttributeDefinition/defaultValue"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeDefinition/type"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeDefinition/base_Property"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/userattributes/UserAttributeableElement">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeableElement/uaValue"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeableElement/uaType"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeableElement/attributedElement"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeableElement/base_NamedElement"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/userattributes/UserAttributeValue">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeValue/base_Class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/userattributes/UserAttributeValue/value"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeValue/base_Property"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeValue/definition"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Elements" basePackage="org.eclipse.papyrus.eastadl.infrastructure"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//infrastructure/elements">
+ <genClasses image="false" ecoreClass="eastadl.ecore#//infrastructure/elements/TraceableSpecification">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/elements/TraceableSpecification/note"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//infrastructure/elements/EAPackageableElement">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/EAPackageableElement/base_PackageableElement"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/elements/Realization">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/Realization/realized"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/Realization/realizedBy"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/Realization/base_Realization"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/Realization/realizedBy_path"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/Realization/realized_path"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//infrastructure/elements/Relationship"/>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//infrastructure/elements/Context">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/Context/traceableSpecification"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/Context/ownedRelationship"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/elements/MultiLevelReference">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/MultiLevelReference/base_Dependency"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/MultiLevelReference/referring"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/MultiLevelReference/reference"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/elements/Rationale"/>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/elements/EAPackage">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/EAPackage/subPackages"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/EAPackage/element"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/EAPackage/base_Package"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/elements/Comment">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/elements/Comment/body"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/Comment/base_Comment"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//infrastructure/elements/EAElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/elements/EAElement/name"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/EAElement/base_NamedElement"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/EAElement/ownedComment"/>
+ </genClasses>
+ </nestedGenPackages>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Structure" basePackage="org.eclipse.papyrus.eastadl"
+ disposableProviderFactory="true" ecorePackage="eastadl.ecore#//structure">
+ <genDataTypes ecoreDataType="eastadl.ecore#//structure/Dummy"/>
+ <nestedGenPackages prefix="Functionmodeling" basePackage="org.eclipse.papyrus.eastadl.structure"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//structure/functionmodeling">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//structure/functionmodeling/ClientServerKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/functionmodeling/ClientServerKind/client"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/functionmodeling/ClientServerKind/server"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//structure/functionmodeling/EADirectionKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/functionmodeling/EADirectionKind/in"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/functionmodeling/EADirectionKind/out"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/functionmodeling/EADirectionKind/inout"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/LocalDeviceManager"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/DesignFunctionType">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/DesignFunctionType/part"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionType">
+ <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/functionmodeling/FunctionType/isElementary"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionType/port"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionType/portGroup"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionType/connector"/>
+ <genOperations ecoreOperation="eastadl.ecore#//structure/functionmodeling/FunctionType/getIcon"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionPort"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/PortGroup">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/PortGroup/port"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/PortGroup/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/PortGroup/base_Port"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/PortGroup/portGroup"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionConnector">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionConnector/port"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionConnector/base_Connector"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionConnector/port1_path"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionConnector/port2_path"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//structure/functionmodeling/AllocateableElement"/>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionPrototype">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionPrototype/base_Property"/>
+ <genOperations ecoreOperation="eastadl.ecore#//structure/functionmodeling/FunctionPrototype/getIcon"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/DesignFunctionPrototype">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/DesignFunctionPrototype/type"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionalDevice"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/AnalysisFunctionType">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/AnalysisFunctionType/part"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/AnalysisFunctionPrototype">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/AnalysisFunctionPrototype/type"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionFlowPort">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionFlowPort/type"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionClientServerPort">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionClientServerPort/type"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionClientServerPort/base_Port"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/functionmodeling/FunctionClientServerPort/clientServerType"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionClientServerInterface">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionClientServerInterface/base_Interface"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionClientServerInterface/operation"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/Operation">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/Operation/base_Operation"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/Operation/argument"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/Operation/return"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/BasicSoftwareFunctionType"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/HardwareFunctionType">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/HardwareFunctionType/hardwareComponent"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionAllocation">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionAllocation/target"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionAllocation/allocatedElement"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionAllocation/base_Dependency"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionAllocation/allocatedElement_path"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionAllocation/target_path"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/Allocation">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/Allocation/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/Allocation/base_Package"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/Allocation/functionAllocation"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionPowerPort">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionPowerPort/base_Port"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionPowerPort/type"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Hardwaremodeling" basePackage="org.eclipse.papyrus.eastadl.structure"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//structure/hardwaremodeling">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//structure/hardwaremodeling/IOHardwarePinKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/hardwaremodeling/IOHardwarePinKind/digital"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/hardwaremodeling/IOHardwarePinKind/analog"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/hardwaremodeling/IOHardwarePinKind/pwm"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/hardwaremodeling/IOHardwarePinKind/other"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//structure/hardwaremodeling/LogicalBusKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/hardwaremodeling/LogicalBusKind/TimeTriggered"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/hardwaremodeling/LogicalBusKind/EventTriggered"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/hardwaremodeling/LogicalBusKind/TimeandEventTriggered"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/hardwaremodeling/LogicalBusKind/other"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/HardwareConnector">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareConnector/base_Connector"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareConnector/port"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareConnector/port1_path"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareConnector/port2_path"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//structure/hardwaremodeling/HardwarePin">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwarePin/base_Port"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/HardwarePin/isGround"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/HardwarePin/voltage"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/HardwarePin/direction"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/HardwarePin/impedance"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/HardwarePin/power"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/HardwareComponentPrototype">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareComponentPrototype/type"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareComponentPrototype/base_Property"/>
+ <genOperations ecoreOperation="eastadl.ecore#//structure/hardwaremodeling/HardwareComponentPrototype/getIcon"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//structure/hardwaremodeling/AllocationTarget"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/IOHardwarePin">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/IOHardwarePin/type"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/PowerHardwarePin"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/CommunicationHardwarePin"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/Node">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/Node/executionRate"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/Node/nonVolatileMemory"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/Node/volatileMemory"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/PowerSupply">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/PowerSupply/isActive"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/Sensor"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/Actuator"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/LogicalBus">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/LogicalBus/base_Class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/LogicalBus/busSpeed"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/LogicalBus/busType"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/LogicalBus/wire"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/LogicalBus/wire_path"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/HardwarePinGroup">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwarePinGroup/base_Port"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwarePinGroup/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwarePinGroup/portGroup"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwarePinGroup/port"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/HardwareComponentType">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareComponentType/connector"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareComponentType/port"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareComponentType/part"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareComponentType/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareComponentType/bus"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareComponentType/portGroup"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Systemmodeling" basePackage="org.eclipse.papyrus.eastadl.structure"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//structure/systemmodeling">
+ <genClasses ecoreClass="eastadl.ecore#//structure/systemmodeling/SystemModel">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/SystemModel/implementationLevel"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/SystemModel/analysisLevel"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/SystemModel/designLevel"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/SystemModel/vehicleLevel"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/SystemModel/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/SystemModel/base_Package"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/systemmodeling/ImplementationLevel">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/ImplementationLevel/autosarSystem"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/ImplementationLevel/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/ImplementationLevel/base_Package"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/systemmodeling/AnalysisLevel">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/AnalysisLevel/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/AnalysisLevel/base_Package"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/AnalysisLevel/functionalAnalysisArchitecture"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/systemmodeling/DesignLevel">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/DesignLevel/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/DesignLevel/base_Package"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/DesignLevel/functionalDesignArchitecture"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/DesignLevel/hardwareDesignArchitecture"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/DesignLevel/allocation"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/systemmodeling/VehicleLevel">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/VehicleLevel/base_Package"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/VehicleLevel/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/VehicleLevel/technicalFeatureModel"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Vehiclefeaturemodeling" basePackage="org.eclipse.papyrus.eastadl.structure"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//structure/vehiclefeaturemodeling">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationPermissionKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationPermissionKind/no"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationPermissionKind/subtree"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationPermissionKind/append"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationPermissionKind/subset"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationPermissionKind/yes"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationPermissionKind/widen"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/allowChangeAttribute"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/allowChangeCardinality"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/allowChangeDescription"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/allowChangeName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/allowMove"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/allowReduction"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/allowRefinement"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/allowRegrouping"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/allowRemoval"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/base_DataType"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/feature"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/vehiclefeaturemodeling/VehicleFeature">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/VehicleFeature/isDesignVariabilityRationale"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/VehicleFeature/isCustomerVisible"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/VehicleFeature/isRemoved"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/vehiclefeaturemodeling/VehicleFeature/deviationAttributeSet"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Featuremodeling" basePackage="org.eclipse.papyrus.eastadl.structure"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//structure/featuremodeling">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//structure/featuremodeling/BindingTimeKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/BindingTimeKind/systemDesignTime"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/BindingTimeKind/codeGenerationTime"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/BindingTimeKind/precompileTime"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/BindingTimeKind/linkTime"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/BindingTimeKind/postBuild"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/BindingTimeKind/runtime"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//structure/featuremodeling/VariabilityDependencyKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/VariabilityDependencyKind/needs"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/VariabilityDependencyKind/optionalAlternative"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/VariabilityDependencyKind/custom"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/VariabilityDependencyKind/mandatoryAlternative"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/VariabilityDependencyKind/suggests"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/VariabilityDependencyKind/impedes"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//structure/featuremodeling/FeatureModel">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureModel/base_Package"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureModel/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureModel/rootFeature"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureModel/featureLink"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureModel/featureConstraint"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/featuremodeling/Feature">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/Feature/base_Class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/featuremodeling/Feature/cardinality"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/Feature/requiredBindingTime"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/Feature/actualBindingTime"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/Feature/featureParameter"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/Feature/childNode"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//structure/featuremodeling/FeatureTreeNode"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/featuremodeling/BindingTime">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/featuremodeling/BindingTime/kind"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/BindingTime/base_Class"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/featuremodeling/FeatureLink">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/featuremodeling/FeatureLink/isBidirectional"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/featuremodeling/FeatureLink/customType"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureLink/base_Dependency"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureLink/start"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureLink/end"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureLink/base_AssociationClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/featuremodeling/FeatureLink/kind"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/featuremodeling/FeatureConstraint">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/featuremodeling/FeatureConstraint/criterion"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureConstraint/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureConstraint/base_Constraint"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/featuremodeling/FeatureGroup">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureGroup/base_Class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/featuremodeling/FeatureGroup/cardinality"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureGroup/childFeature"/>
+ </genClasses>
+ </nestedGenPackages>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Behavior" basePackage="org.eclipse.papyrus.eastadl"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//behavior">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//behavior/FunctionBehaviorKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/FunctionBehaviorKind/ASCET"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/FunctionBehaviorKind/OTHER"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/FunctionBehaviorKind/SCADE"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/FunctionBehaviorKind/SDL"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/FunctionBehaviorKind/SIMULINK"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/FunctionBehaviorKind/STATEMATE"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/FunctionBehaviorKind/MARTE"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/FunctionBehaviorKind/UML"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//behavior/TriggerPolicyKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/TriggerPolicyKind/EVENT"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/TriggerPolicyKind/TIME"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//behavior/FunctionBehavior">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/FunctionBehavior/base_Behavior"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//behavior/FunctionBehavior/path"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//behavior/FunctionBehavior/representation"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/FunctionBehavior/mode"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/FunctionBehavior/function"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//behavior/Mode">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//behavior/Mode/condition"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/Mode/base_Class"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//behavior/Behavior">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/Behavior/behavior"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/Behavior/functionTrigger"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/Behavior/modeGroup"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/Behavior/base_Package"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/Behavior/base_Class"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//behavior/FunctionTrigger">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//behavior/FunctionTrigger/triggerCondition"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/FunctionTrigger/base_Class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//behavior/FunctionTrigger/triggerPolicy"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/FunctionTrigger/mode"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/FunctionTrigger/function"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/FunctionTrigger/port"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/FunctionTrigger/functionPrototype"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//behavior/ModeGroup">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//behavior/ModeGroup/precondition"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/ModeGroup/mode"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/ModeGroup/base_Class"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Requirements" basePackage="org.eclipse.papyrus.eastadl"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//requirements">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//requirements/QualityRequirementKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/ergonomy"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/configurability"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/integrity"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/safety"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/other"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/security"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/humanMachineInterface"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/timing"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/availability"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/reliability"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/confidentiality"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/maintainability"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/QualityRequirement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//requirements/QualityRequirement/qualityRequirementType"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/Requirement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//requirements/Requirement/formalism"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//requirements/Requirement/url"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Requirement/mode"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//requirements/RequirementSpecificationObject">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementSpecificationObject/referencingContainer"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/RequirementsContainer">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsContainer/childContainer"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsContainer/parentContainer"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsContainer/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsContainer/base_Package"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsContainer/containedReqSpecObject"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/RequirementsRelatedInformation">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsRelatedInformation/base_Class"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//requirements/RequirementsRelationship">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsRelationship/base_Class"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/Satisfy">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Satisfy/satisfiedRequirement"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Satisfy/satisfiedBy"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Satisfy/satisfiedBy_path"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Satisfy/satisfiedUseCase"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/UseCase">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/UseCase/base_UseCase"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/UseCase/include"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/UseCase/extend"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/UseCase/extensionPoint"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/Include">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Include/base_Include"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Include/addition"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/Extend">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Extend/base_Extend"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Extend/extendedCase"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Extend/extensionLocation"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/ExtensionPoint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/ExtensionPoint/base_ExtensionPoint"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//requirements/RedefinableElement">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RedefinableElement/base_RedefinableElement"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/Refine">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Refine/refinedRequirement"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Refine/refinedBy"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Refine/base_Dependency"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Refine/refinedBy_path"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/DeriveRequirement">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/DeriveRequirement/derived"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/DeriveRequirement/derivedFrom"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/RequirementsRelationGroup">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsRelationGroup/relation"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsRelationGroup/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsRelationGroup/base_Package"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/RequirementsLink">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//requirements/RequirementsLink/isBidirectional"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsLink/source"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsLink/target"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/RequirementsModel">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsModel/useCase"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsModel/requirement"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsModel/requirementContainer"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsModel/operationalSituation"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsModel/base_Package"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/OperationalSituation">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/OperationalSituation/base_Class"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/Actor">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Actor/base_Actor"/>
+ </genClasses>
+ <nestedGenPackages prefix="Verificationvalidation" basePackage="org.eclipse.papyrus.eastadl.requirements"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//requirements/verificationvalidation">
+ <genClasses ecoreClass="eastadl.ecore#//requirements/verificationvalidation/VVStimuli">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVStimuli/base_Class"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/verificationvalidation/VVIntendedOutcome">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVIntendedOutcome/base_Class"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/verificationvalidation/VVActualOutcome">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVActualOutcome/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVActualOutcome/intendedOutcome"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/verificationvalidation/VVCase">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVCase/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVCase/vvCase"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVCase/abstractVVCase"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVCase/vvTarget"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVCase/vvSubject"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVCase/vvLog"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVCase/vvProcedure"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/verificationvalidation/VVTarget">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVTarget/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVTarget/element"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/verificationvalidation/VVLog">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//requirements/verificationvalidation/VVLog/date"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVLog/vvActualOutcome"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVLog/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVLog/performedVVProcedure"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/verificationvalidation/VVProcedure">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVProcedure/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVProcedure/abstractVVProcedure"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVProcedure/concreteVVProcedure"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVProcedure/vvIntendedOutcome"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVProcedure/vvStimuli"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/verificationvalidation/VerificationValidation">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VerificationValidation/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VerificationValidation/base_Package"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VerificationValidation/verify"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VerificationValidation/vvCase"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VerificationValidation/vvTarget"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/verificationvalidation/Verify">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/Verify/verifiedByProcedure"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/Verify/verifiedByCase"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/Verify/verifiedRequirement"/>
+ </genClasses>
+ </nestedGenPackages>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Timing" basePackage="org.eclipse.papyrus.eastadl" resource="XML"
+ disposableProviderFactory="true" ecorePackage="eastadl.ecore#//timing">
+ <genClasses image="false" ecoreClass="eastadl.ecore#//timing/TimingDescription">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/TimingDescription/base_Class"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//timing/TimingConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/TimingConstraint/mode"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/TimingConstraint/upper"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/TimingConstraint/lower"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/TimingConstraint/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/TimingConstraint/base_Constraint"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/TimeDuration">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/TimeDuration/base_DataType"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//timing/TimeDuration/cseCode"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//timing/TimeDuration/cseCodeFactor"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//timing/TimeDuration/value"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/Timing">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/Timing/timingConstraint"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/Timing/timingDescription"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/Timing/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/Timing/base_Package"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/EventChain">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/EventChain/segment"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/EventChain/strand"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/EventChain/response"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/EventChain/stimulus"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//timing/Event">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//timing/Event/isStateChanged"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/ExecutionTimeConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/ExecutionTimeConstraint/variation"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/ExecutionTimeConstraint/targetDesignFunctionType"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/ExecutionTimeConstraint/targetDesignFunction"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/ExecutionTimeConstraint/targeDesignFunctionPrototype"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/PrecedenceConstraint">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//timing/PrecedenceConstraint/successive"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//timing/PrecedenceConstraint/preceding"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/PrecedenceConstraint/base_Dependency"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/PrecedenceConstraint/successive_path"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/PrecedenceConstraint/preceding_path"/>
+ </genClasses>
+ <nestedGenPackages prefix="Timingconstraints" basePackage="org.eclipse.papyrus.eastadl.timing"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//timing/timingconstraints">
+ <genClasses image="false" ecoreClass="eastadl.ecore#//timing/timingconstraints/DelayConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/DelayConstraint/jitter"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/DelayConstraint/nominal"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/DelayConstraint/scope"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/timingconstraints/AgeTimingConstraint"/>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//timing/timingconstraints/EventConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/EventConstraint/event"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/EventConstraint/offset"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/timingconstraints/InputSynchronizationConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/InputSynchronizationConstraint/width"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/timingconstraints/OutputSynchronizationConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/OutputSynchronizationConstraint/width"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/timingconstraints/ReactionConstraint"/>
+ <genClasses ecoreClass="eastadl.ecore#//timing/timingconstraints/SporadicEventConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/SporadicEventConstraint/jitter"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/SporadicEventConstraint/period"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/SporadicEventConstraint/maximumInterArrivalTime"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/SporadicEventConstraint/minimumInterArrivalTime"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/timingconstraints/PeriodicEventConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/PeriodicEventConstraint/jitter"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/PeriodicEventConstraint/period"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/PeriodicEventConstraint/minimumInterArrivalTime"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/timingconstraints/PatternEventConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/PatternEventConstraint/period"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/PatternEventConstraint/minimumInterArrivalTime"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/PatternEventConstraint/occurence"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/PatternEventConstraint/jitter"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/timingconstraints/ArbitraryEventConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/ArbitraryEventConstraint/minimumInterArrivalTime"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/ArbitraryEventConstraint/maximumInterArrivalTime"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Events" basePackage="org.eclipse.papyrus.eastadl.timing"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//timing/events">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//timing/events/EventFunctionClientServerPortKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//timing/events/EventFunctionClientServerPortKind/receivedRequest"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//timing/events/EventFunctionClientServerPortKind/sentResponse"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//timing/events/EventFunctionClientServerPortKind/sentRequest"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//timing/events/EventFunctionClientServerPortKind/receivedResponse"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//timing/events/EventFunctionFlowPort">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/events/EventFunctionFlowPort/port"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/events/EventFunctionFlowPort/port_path"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/events/EventFunctionClientServerPort">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//timing/events/EventFunctionClientServerPort/eventKind"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/events/EventFunctionClientServerPort/port"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/events/EventFunctionClientServerPort/port_path"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/events/EventFunction">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/events/EventFunction/function"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/events/EventFunction/functionType"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/events/EventFunction/function_path"/>
+ </genClasses>
+ </nestedGenPackages>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Interchange" basePackage="org.eclipse.papyrus.eastadl"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//interchange">
+ <genClasses image="false" ecoreClass="eastadl.ecore#//interchange/RIFArea">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//interchange/RIFArea/rootRequirementContainer"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//interchange/RIFArea/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//interchange/RIFArea/interchangeReqSpecObject"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//interchange/RIFExportArea"/>
+ <genClasses ecoreClass="eastadl.ecore#//interchange/RIFImportArea"/>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Environment" basePackage="org.eclipse.papyrus.eastadl"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//environment">
+ <genClasses ecoreClass="eastadl.ecore#//environment/Environment">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//environment/Environment/environmentModel"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//environment/Environment/clampConnector"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//environment/Environment/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//environment/Environment/base_Package"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//environment/ClampConnector">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//environment/ClampConnector/port"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//environment/ClampConnector/base_Connector"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//environment/ClampConnector/port1_path"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//environment/ClampConnector/port2_path"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Dependability" basePackage="org.eclipse.papyrus.eastadl"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//dependability">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//dependability/ControllabilityClassKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/ControllabilityClassKind/C1"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/ControllabilityClassKind/C2"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/ControllabilityClassKind/C3"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/ControllabilityClassKind/C0"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//dependability/ExposureClassKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/ExposureClassKind/E1"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/ExposureClassKind/E2"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/ExposureClassKind/E3"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/ExposureClassKind/E4"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//dependability/SeverityClassKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/SeverityClassKind/S0"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/SeverityClassKind/S1"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/SeverityClassKind/S2"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/SeverityClassKind/S3"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//dependability/DevelopmentCategoryKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/DevelopmentCategoryKind/modificationOfExistingItem"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/DevelopmentCategoryKind/newItemDevelopment"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/HazardousEvent">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/HazardousEvent/base_Class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/HazardousEvent/controllability"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/HazardousEvent/exposure"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/HazardousEvent/hazardClassification"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/HazardousEvent/severity"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/HazardousEvent/classificationAssumptions"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/HazardousEvent/hazard"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/HazardousEvent/traffic"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/HazardousEvent/environment"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/HazardousEvent/operationalSituationUseCase"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/HazardousEvent/operatingMode"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/HazardousEvent/externalMeasures"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/Hazard">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Hazard/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Hazard/malfunction"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Hazard/item"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/FeatureFlaw">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/FeatureFlaw/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/FeatureFlaw/item"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/FeatureFlaw/nonFulfilledRequirement"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/Item">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Item/base_Class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/Item/developmentCategory"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Item/vehicleFeature"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/Dependability">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/base_Package"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/functionalSafetyConcept"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/safetyGoal"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/technicalSafetyConcept"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/hazardousEvent"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/featureFlaw"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/item"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/eADatatype"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/faultFailure"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/quantitativeSafetyConstraint"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/safetyConstraint"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/safetyCase"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/errorModelType"/>
+ </genClasses>
+ <nestedGenPackages prefix="Errormodel" basePackage="org.eclipse.papyrus.eastadl.dependability"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//dependability/errormodel">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//dependability/errormodel/ErrorBehaviorKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/errormodel/ErrorBehaviorKind/HIP_HOPS"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/errormodel/ErrorBehaviorKind/ALTARICA"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/errormodel/ErrorBehaviorKind/AADL"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/errormodel/ErrorBehaviorKind/OTHER"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/errormodel/ErrorBehavior">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorBehavior/base_Behavior"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/errormodel/ErrorBehavior/failureLogic"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/errormodel/ErrorBehavior/type"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorBehavior/internalFault"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorBehavior/owner"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorBehavior/externalFailure"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorBehavior/externalFault"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorBehavior/processFault"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/errormodel/InternalFaultPrototype">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/InternalFaultPrototype/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/InternalFaultPrototype/base_Event"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/errormodel/Anomaly">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/errormodel/Anomaly/genericDescription"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/Anomaly/base_Property"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/Anomaly/type"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/errormodel/ErrorModelType">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/base_Class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/errormodel/ErrorModelType/genericDescription"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/faultFailureConnector"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/part"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/failure"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/externalFault"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/internalFault"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/processFault"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/target"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/hwTarget"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/errorBehaviorDescription"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/errormodel/FaultFailurePropagationLink">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePropagationLink/base_Connector"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/errormodel/FaultFailurePropagationLink/immediatePropagation"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePropagationLink/toPort"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePropagationLink/fromPort"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePropagationLink/fromPort_path"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePropagationLink/toPort_path"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//dependability/errormodel/FaultFailurePort">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePort/base_Port"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePort/functionTarget"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePort/hwTarget"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePort/functionTarget_path"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePort/hwTarget_path"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/errormodel/ErrorModelPrototype">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelPrototype/base_Property"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelPrototype/type"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelPrototype/target"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelPrototype/functionTarget"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelPrototype/hwTarget"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelPrototype/functionTarget_path"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelPrototype/hwTarget_path"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/errormodel/FailureOutPort"/>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/errormodel/FaultInPort"/>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/errormodel/ProcessFaultPrototype">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ProcessFaultPrototype/base_Event"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Safetyrequirement" basePackage="org.eclipse.papyrus.eastadl.dependability"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//dependability/safetyrequirement">
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetyrequirement/FunctionalSafetyConcept">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyrequirement/FunctionalSafetyConcept/functionalSafetyRequirement"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetyrequirement/SafetyGoal">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyrequirement/SafetyGoal/derivedFrom"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/safetyrequirement/SafetyGoal/safeStates"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyrequirement/SafetyGoal/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyrequirement/SafetyGoal/requirement"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/safetyrequirement/SafetyGoal/hazardClassification"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyrequirement/SafetyGoal/safeModes"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetyrequirement/TechnicalSafetyConcept">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyrequirement/TechnicalSafetyConcept/technicalSafetyRequirement"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Safetyconstraints" basePackage="org.eclipse.papyrus.eastadl.dependability"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//dependability/safetyconstraints">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//dependability/safetyconstraints/ASILKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/safetyconstraints/ASILKind/ASIL_A"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/safetyconstraints/ASILKind/ASIL_D"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/safetyconstraints/ASILKind/ASIL_C"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/safetyconstraints/ASILKind/ASIL_B"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/safetyconstraints/ASILKind/QM"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetyconstraints/FaultFailure">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyconstraints/FaultFailure/base_Class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/safetyconstraints/FaultFailure/faultFailureValue"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyconstraints/FaultFailure/anomaly"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetyconstraints/SafetyConstraint">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/safetyconstraints/SafetyConstraint/asilValue"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyconstraints/SafetyConstraint/constrainedFaultFailure"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyconstraints/SafetyConstraint/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyconstraints/SafetyConstraint/base_Constraint"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetyconstraints/QuantitativeSafetyConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyconstraints/QuantitativeSafetyConstraint/constrainedFaultFailure"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/safetyconstraints/QuantitativeSafetyConstraint/failureRate"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/safetyconstraints/QuantitativeSafetyConstraint/repairRate"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyconstraints/QuantitativeSafetyConstraint/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyconstraints/QuantitativeSafetyConstraint/base_Constraint"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Safetycase" basePackage="org.eclipse.papyrus.eastadl.dependability"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//dependability/safetycase">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//dependability/safetycase/LifecycleStageKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/safetycase/LifecycleStageKind/PreliminarySafetyCase"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/safetycase/LifecycleStageKind/InterimSafetyCase"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/safetycase/LifecycleStageKind/OperationalSafetyCase"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetycase/SafetyCase">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/SafetyCase/safetyCase"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/safetycase/SafetyCase/stage"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/safetycase/SafetyCase/context"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/SafetyCase/ground"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/SafetyCase/warrant"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/SafetyCase/claim"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/SafetyCase/base_Class"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetycase/Ground">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Ground/safetyEvidence"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Ground/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Ground/justification"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetycase/Warrant">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Warrant/decomposedGoal"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Warrant/evidence"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Warrant/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Warrant/justification"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetycase/Claim">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Claim/safetyRequirement"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Claim/supportedArgument"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Claim/goalDecompositionStrategy"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Claim/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Claim/justification"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Claim/evidence"/>
+ </genClasses>
+ </nestedGenPackages>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Annex" basePackage="org.eclipse.papyrus.eastadl" disposableProviderFactory="true"
+ ecorePackage="eastadl.ecore#//annex">
+ <genDataTypes ecoreDataType="eastadl.ecore#//annex/Dummy"/>
+ <nestedGenPackages prefix="Needs" basePackage="org.eclipse.papyrus.eastadl.annex"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//annex/needs">
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/Stakeholder">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/Stakeholder/base_Class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/Stakeholder/responsibilities"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/Stakeholder/successCriteria"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/StakeholderNeed">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/StakeholderNeed/base_Class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/StakeholderNeed/need"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/StakeholderNeed/priority"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/StakeholderNeed/stakeHolder"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/StakeholderNeed/problemStatement"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/ProblemStatement">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/ProblemStatement/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/ProblemStatement/affects"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/ProblemStatement/impact"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/ProblemStatement/problem"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/ProblemStatement/solutionBenefits"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/ProductPositioning">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/ProductPositioning/base_Class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/ProductPositioning/drivingNeeds"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/ProductPositioning/keyCapabilities"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/ProductPositioning/primaryCompetitiveAlternative"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/ProductPositioning/primaryDifferentiation"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/ProductPositioning/targetCustomers"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/BusinessOpportunity">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/BusinessOpportunity/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/BusinessOpportunity/problemStatement"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/BusinessOpportunity/productPositioning"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/BusinessOpportunity/businessOpportunity"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//annex/needs/Concept"/>
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/Mission"/>
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/VehicleSystem">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/VehicleSystem/fulfills"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/VehicleSystem/hasAn"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/VehicleSystem/has"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/Architecture">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/Architecture/describedBy"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/ArchitecturalDescription">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/ArchitecturalDescription/aggregates"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/ArchitecturalDescription/identifies"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/ArchitecturalModel"/>
+ </nestedGenPackages>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Genericconstraints" basePackage="org.eclipse.papyrus.eastadl"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//genericconstraints">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//genericconstraints/GenericConstraintKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/powerConsumption"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/other"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/pieceCost"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/weight"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/standard"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/cableLength"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/developmentCost"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/functionAllocationDifferentNodes"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/functionAllocationSameNode"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/powerSupplyIndependent"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//genericconstraints/GenericConstraint">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//genericconstraints/GenericConstraint/designConstraintType"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//genericconstraints/GenericConstraint/base_Constraint"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//genericconstraints/GenericConstraint/genericConstraintValue"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//genericconstraints/GenericConstraint/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//genericconstraints/GenericConstraint/target"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//genericconstraints/GenericConstraint/mode"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//genericconstraints/GenericConstraintSet">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//genericconstraints/GenericConstraintSet/genericConstraint"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//genericconstraints/GenericConstraintSet/base_Package"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//genericconstraints/GenericConstraintSet/base_Class"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//genericconstraints/TakeRateConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//genericconstraints/TakeRateConstraint/source"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//genericconstraints/TakeRateConstraint/takeRate"/>
+ </genClasses>
+ </nestedGenPackages>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadl.profile.di b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadl.profile.di
new file mode 100644
index 00000000000..76562ae8780
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadl.profile.di
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="ASCII"?>
+<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="eastadl.profile.notation#_sexTIJqiEeGhQ8mhoNM_3Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="eastadl.profile.notation#_anG7wJqnEeGhQ8mhoNM_3Q"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="eastadl.profile.notation#_7-KDMJqrEeGhQ8mhoNM_3Q"/>
+ </availablePage>
+ <availablePage/>
+ <availablePage>
+ <emfPageIdentifier href="eastadl.profile.notation#_NoNCEJq3EeGgUfgGS4KevA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="eastadl.profile.notation#_fuHqoKWkEeGVVPgQD6jlgA"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="eastadl.profile.notation#_rlK-ILYsEeGyVPNcbdBunw"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="eastadl.profile.notation#_4sodcGrzEeKfAKdIb-SdVw"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="eastadl.profile.notation#_mWsMMGuIEeKfAKdIb-SdVw"/>
+ </availablePage>
+ </pageList>
+ <sashModel currentSelection="//@sashModel/@windows.0/@children.0">
+ <windows>
+ <children xsi:type="di:TabFolder">
+ <children>
+ <emfPageIdentifier href="eastadl.profile.notation#_sexTIJqiEeGhQ8mhoNM_3Q"/>
+ </children>
+ <children>
+ <emfPageIdentifier href="eastadl.profile.notation#_anG7wJqnEeGhQ8mhoNM_3Q"/>
+ </children>
+ <children>
+ <emfPageIdentifier href="eastadl.profile.notation#_rlK-ILYsEeGyVPNcbdBunw"/>
+ </children>
+ <children>
+ <emfPageIdentifier href="eastadl.profile.notation#_4sodcGrzEeKfAKdIb-SdVw"/>
+ </children>
+ <children>
+ <emfPageIdentifier href="eastadl.profile.notation#_mWsMMGuIEeKfAKdIb-SdVw"/>
+ </children>
+ </children>
+ </windows>
+ </sashModel>
+</di:SashWindowsMngr>
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadl.profile.di2 b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadl.profile.di2
new file mode 100644
index 00000000000..47a520de5d7
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadl.profile.di2
@@ -0,0 +1,15815 @@
+<?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 fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="Datatypes">
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="97:121" size="175:57">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="20:20" size="100:100"/>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="20:20" size="100:100"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Stereotype" href="eastadl.profile.uml#_i-WNODxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="214:178" graphEdge="/0/@contained.3"/>
+ <anchorage position="272:176" graphEdge="/0/@contained.5"/>
+ <anchorage position="272:129" graphEdge="/0/@contained.12"/>
+ <anchorage position="96:150" graphEdge="/0/@contained.16"/>
+ <anchorage position="141:178" graphEdge="/0/@contained.17"/>
+ </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="734:120" size="170:112">
+ <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="20:20" 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="eastadl.profile.uml#_tIUwoEuHEd-N_MlgLCZ6zw"/>
+ </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="eastadl.profile.uml#_neBgQEuHEd-N_MlgLCZ6zw"/>
+ </semanticModel>
+ <anchorage position="733:150" graphEdge="/0/@contained.13"/>
+ </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="113:259" size="287:104">
+ <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="20:20" 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="eastadl.profile.uml#_nOItUEuLEd-N_MlgLCZ6zw"/>
+ </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="20:20" 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="eastadl.profile.uml#_qWgMcEuLEd-N_MlgLCZ6zw"/>
+ </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="20:20" 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="eastadl.profile.uml#_u4V_8EuLEd-N_MlgLCZ6zw"/>
+ </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="eastadl.profile.uml#_kMqgYEuLEd-N_MlgLCZ6zw"/>
+ </semanticModel>
+ <anchorage position="326:363" graphEdge="/0/@contained.7"/>
+ <anchorage position="188:363" graphEdge="/0/@contained.10"/>
+ <anchorage position="216:258" graphEdge="/0/@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="/0/@contained.2/@anchorage.2 /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="eastadl.profile.uml#_yw0GUEuLEd-N_MlgLCZ6zw"/>
+ </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="422:261" size="195:83">
+ <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="eastadl.profile.uml#_1jj6wEuLEd-N_MlgLCZ6zw"/>
+ </semanticModel>
+ <anchorage position="466:260" graphEdge="/0/@contained.5"/>
+ <anchorage position="562:344" graphEdge="/0/@contained.20"/>
+ <anchorage position="617:298" graphEdge="/0/@contained.21"/>
+ </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.4/@anchorage.0 /0/@contained.0/@anchorage.1">
+ <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="eastadl.profile.uml#_F1DMQEuMEd-N_MlgLCZ6zw"/>
+ </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="326:426" size="243:113">
+ <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="20:20" 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="eastadl.profile.uml#_L2WAUEuMEd-N_MlgLCZ6zw"/>
+ </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="20:20" 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="eastadl.profile.uml#_WIAdYEuMEd-N_MlgLCZ6zw"/>
+ </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="20:20" 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="eastadl.profile.uml#_ZpXrUEuMEd-N_MlgLCZ6zw"/>
+ </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="eastadl.profile.uml#_Ip55gEuMEd-N_MlgLCZ6zw"/>
+ </semanticModel>
+ <anchorage position="368:425" graphEdge="/0/@contained.7"/>
+ </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.6/@anchorage.0 /0/@contained.2/@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="eastadl.profile.uml#_eoCkwEuMEd-N_MlgLCZ6zw"/>
+ </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="351:14" size="110:61">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <property key="PropStereoDisplay" value="Ecore::EDataType"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:PrimitiveType" href="eastadl.profile.uml#_IIFyoEucEd-ZO7qwJW2vyQ"/>
+ </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="-8:426" size="308: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 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="20:20" 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="eastadl.profile.uml#_ctoDgEutEd-ZO7qwJW2vyQ"/>
+ </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="20:20" 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="eastadl.profile.uml#_yB88wEutEd-ZO7qwJW2vyQ"/>
+ </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="eastadl.profile.uml#_Y4FVUEutEd-ZO7qwJW2vyQ"/>
+ </semanticModel>
+ <anchorage position="135:425" graphEdge="/0/@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="/0/@contained.9/@anchorage.0 /0/@contained.2/@anchorage.1">
+ <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="eastadl.profile.uml#_b1I8UEutEd-ZO7qwJW2vyQ"/>
+ </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="485:158" size="126:71">
+ <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="eastadl.profile.uml#_LUJZwEuuEd-ZO7qwJW2vyQ"/>
+ </semanticModel>
+ <anchorage position="484:180" graphEdge="/0/@contained.12"/>
+ <anchorage position="611:198" graphEdge="/0/@contained.13"/>
+ </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.11/@anchorage.0 /0/@contained.0/@anchorage.2">
+ <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="eastadl.profile.uml#_OqIeIEuuEd-ZO7qwJW2vyQ"/>
+ </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="/0/@contained.11/@anchorage.1 /0/@contained.1/@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="-99:-45" size="87:39">
+ <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="-60: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="-47:-18" size="27:13">
+ <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="-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" 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="eastadl.profile.uml#_Q6iagEuuEd-ZO7qwJW2vyQ"/>
+ </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="2:251" size="100:53">
+ <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="eastadl.profile.uml#_JgYIMGzuEd-32sTBz6AwMQ"/>
+ </semanticModel>
+ <anchorage position="100:250" graphEdge="/0/@contained.17"/>
+ </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:186" size="100:54">
+ <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="eastadl.profile.uml#_KFaH4GzuEd-32sTBz6AwMQ"/>
+ </semanticModel>
+ <anchorage position="64:185" graphEdge="/0/@contained.16"/>
+ </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.15/@anchorage.0 /0/@contained.0/@anchorage.3">
+ <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="eastadl.profile.uml#_Oto3QGzuEd-32sTBz6AwMQ"/>
+ </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="/0/@contained.14/@anchorage.0 /0/@contained.0/@anchorage.4">
+ <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="eastadl.profile.uml#_PUc_oGzuEd-32sTBz6AwMQ"/>
+ </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="599:418" size="136:87">
+ <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="20:20" 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="eastadl.profile.uml#_jPGwMGzuEd-32sTBz6AwMQ"/>
+ </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="20:20" 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="eastadl.profile.uml#_nYoKUGzuEd-32sTBz6AwMQ"/>
+ </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="eastadl.profile.uml#_Yn_AgGzuEd-32sTBz6AwMQ"/>
+ </semanticModel>
+ <anchorage position="607:417" graphEdge="/0/@contained.20"/>
+ </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="673:278" size="154:140">
+ <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="20:20" 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="eastadl.profile.uml#_wNCmQGzuEd-32sTBz6AwMQ"/>
+ </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="20:20" 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="eastadl.profile.uml#_yu0mgGzuEd-32sTBz6AwMQ"/>
+ </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="eastadl.profile.uml#_ZAkfoGzuEd-32sTBz6AwMQ"/>
+ </semanticModel>
+ <anchorage position="673:277" graphEdge="/0/@contained.21"/>
+ </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.18/@anchorage.0 /0/@contained.4/@anchorage.1">
+ <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="eastadl.profile.uml#_g9AKsGzuEd-32sTBz6AwMQ"/>
+ </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="/0/@contained.19/@anchorage.0 /0/@contained.4/@anchorage.2">
+ <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="eastadl.profile.uml#_hbLUcGzuEd-32sTBz6AwMQ"/>
+ </semanticModel>
+ </contained>
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_i-WNLTxIEdyqfK4bFJstMQ"/>
+ </owner>
+ </di2:Diagram>
+ <di2:Diagram fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="Behavior">
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="175:163" size="334:100">
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="20:20" size="100:100">
+ <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="20:20" 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="eastadl.profile.uml#_AAoAcNjWEd6wXIBypQTswA"/>
+ </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="20:20" 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="eastadl.profile.uml#_HNYiENjWEd6wXIBypQTswA"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="20:20" size="100:100"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Stereotype" href="eastadl.profile.uml#_i-WNHzxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="174:186" graphEdge="/1/@contained.3"/>
+ <anchorage position="509:170" graphEdge="/1/@contained.9"/>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="-204:22" size="157:172">
+ <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="157:124:47" position="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_XxfNkNjWEd6wXIBypQTswA"/>
+ </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="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_ZXsWYNjWEd6wXIBypQTswA"/>
+ </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="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_aY4toNjWEd6wXIBypQTswA"/>
+ </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="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_b9yO4NjWEd6wXIBypQTswA"/>
+ </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="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_dO21MNjWEd6wXIBypQTswA"/>
+ </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="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_e9dsENjWEd6wXIBypQTswA"/>
+ </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="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_ou1_IExcEd-2jOkjG5hxSQ"/>
+ </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="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_psvx0ExcEd-2jOkjG5hxSQ"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Enumeration" href="eastadl.profile.uml#_R_fZwNjWEd6wXIBypQTswA"/>
+ </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="21:166" 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:Stereotype" href="eastadl.profile.uml#_uX4EMExcEd-2jOkjG5hxSQ"/>
+ </semanticModel>
+ <anchorage position="121:188" graphEdge="/1/@contained.3"/>
+ <anchorage position="86:266" graphEdge="/1/@contained.6"/>
+ <anchorage position="121:247" graphEdge="/1/@contained.18"/>
+ </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.2/@anchorage.0 /1/@contained.0/@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="-51:9" size="46:26">
+ <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="eastadl.profile.uml#_9jBYsExcEd-2jOkjG5hxSQ"/>
+ </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="-203:203" size="101:78">
+ <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="157:124:47" position="394:360" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_vgBYwEVEEd686o7OtOH77g"/>
+ </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="514:360" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_wxMswEVEEd686o7OtOH77g"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Enumeration" href="eastadl.profile.uml#_sdYuMEVEEd686o7OtOH77g"/>
+ </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="125:313" size="234: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 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="176:350" 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="eastadl.profile.uml#_YV_h0JaGEdy9tfphy-LpCA"/>
+ </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="296:350" 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="eastadl.profile.uml#_yn690EVEEd686o7OtOH77g"/>
+ </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="eastadl.profile.uml#_RCXpkJQdEdyUQMht1ste1A"/>
+ </semanticModel>
+ <anchorage position="124:322" graphEdge="/1/@contained.6"/>
+ <anchorage position="359:334" graphEdge="/1/@contained.10"/>
+ <anchorage position="124:316" graphEdge="/1/@contained.13"/>
+ <anchorage position="359:318" graphEdge="/1/@contained.15"/>
+ <anchorage position="359:327" graphEdge="/1/@contained.17"/>
+ </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.2/@anchorage.1 /1/@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="-76:-3" size="72:13">
+ <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:60" 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="-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" 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="40:0" 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="eastadl.profile.uml#_OuOD8ExeEd-SDeUiu9LLYg"/>
+ </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="457:306" size="195: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 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="594:340" 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="eastadl.profile.uml#_IQRhcNjhEd6wXIBypQTswA"/>
+ </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="585:366" 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="eastadl.profile.uml#_PjwWINjhEd6wXIBypQTswA"/>
+ </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="eastadl.profile.uml#_GBbrUNjhEd6wXIBypQTswA"/>
+ </semanticModel>
+ <anchorage position="456:313" graphEdge="/1/@contained.18"/>
+ </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="514:43" size="224: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 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="436:335" 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="eastadl.profile.uml#_4G97kNjgEd6wXIBypQTswA"/>
+ </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="eastadl.profile.uml#_1nGm4NjgEd6wXIBypQTswA"/>
+ </semanticModel>
+ <anchorage position="553:143" graphEdge="/1/@contained.9"/>
+ <anchorage position="664:143" 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.0/@anchorage.1 /1/@contained.8/@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="-60: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" 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="eastadl.profile.uml#_6HNuQExeEd-SDeUiu9LLYg"/>
+ </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.1 /1/@contained.8/@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="0:0" 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="-60:-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" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:0" 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="0:-40" 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="60:-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="eastadl.profile.uml#_8GfeYExeEd-SDeUiu9LLYg"/>
+ </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="609:163" 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:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Behavior"/>
+ </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="3:365" 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:Stereotype" href="eastadl.profile.uml#_i-f6JDxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="24:465" graphEdge="/1/@contained.13"/>
+ </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.2 /1/@contained.12/@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:0" 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="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" 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="-40: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="-40:-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="60: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="eastadl.profile.uml#_fIZbIFaVEd-IHoZrGPPWCg"/>
+ </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="210:439" 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:Stereotype" href="eastadl.profile.uml#_i-f6UzxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="291:438" graphEdge="/1/@contained.15"/>
+ </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.3 /1/@contained.14/@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="-40:-60" 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" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:60" 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="-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" 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="40:0" 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="eastadl.profile.uml#_laWhYFaVEd-IHoZrGPPWCg"/>
+ </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="447:446" 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:Stereotype" href="eastadl.profile.uml#_i-f6TTxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="453:445" graphEdge="/1/@contained.17"/>
+ </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.4 /1/@contained.16/@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="-60: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" 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="eastadl.profile.uml#_ochR4FaVEd-IHoZrGPPWCg"/>
+ </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.2/@anchorage.2 /1/@contained.7/@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="-60: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" 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="eastadl.profile.uml#_GuZRoFgaEd-SipQLbZtnVw"/>
+ </semanticModel>
+ </contained>
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_i-WMfjxIEdyqfK4bFJstMQ"/>
+ </owner>
+ </di2:Diagram>
+ <di2:Diagram fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="Environment">
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="145:143" size="129:60">
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="20:20" size="100:100"/>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="20:20" size="100:100"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Stereotype" href="eastadl.profile.uml#_i-f78DxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="197:203" graphEdge="/2/@contained.6"/>
+ <anchorage position="234:203" graphEdge="/2/@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="484:235" size="173: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="eastadl.profile.uml#_i-f6TTxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="483:257" graphEdge="/2/@contained.2"/>
+ <anchorage position="483:281" graphEdge="/2/@contained.7"/>
+ <anchorage position="483:326" graphEdge="/2/@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="/2/@contained.0/@anchorage.1 /2/@contained.1/@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="-118:1" size="85:26">
+ <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="-51:-50" size="28:13">
+ <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="eastadl.profile.uml#_-6RHMExWEd-d_pItEVVsag"/>
+ </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="48:301" 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:Stereotype" href="eastadl.profile.uml#_IwygYExXEd-d_pItEVVsag"/>
+ </semanticModel>
+ <anchorage position="109:300" graphEdge="/2/@contained.6"/>
+ <anchorage position="148:343" graphEdge="/2/@contained.5"/>
+ <anchorage position="148:319" graphEdge="/2/@contained.7"/>
+ <anchorage position="148:346" graphEdge="/2/@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="245:303" size="166: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="eastadl.profile.uml#_i-f6UzxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="244:342" graphEdge="/2/@contained.5"/>
+ </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="/2/@contained.3/@anchorage.1 /2/@contained.4/@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="-60:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <property key="custom_disp" value="1166"/>
+ <property key="PropStereoDisplay" value="Ecore::EReference"/>
+ </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="eastadl.profile.uml#_PjbR0ExXEd-d_pItEVVsag"/>
+ </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="/2/@contained.0/@anchorage.0 /2/@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="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" 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="38:-39" size="77:26">
+ <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="-60:-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="28:-13" size="16:13">
+ <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="eastadl.profile.uml#_U2l0kExXEd-d_pItEVVsag"/>
+ </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="/2/@contained.3/@anchorage.2 /2/@contained.1/@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="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="-60: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" 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="eastadl.profile.uml#_ee268E36Ed-lBeOY4fJiaA"/>
+ </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="/2/@contained.3/@anchorage.3 /2/@contained.1/@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="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="-60: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" 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="eastadl.profile.uml#_fAscsE36Ed-lBeOY4fJiaA"/>
+ </semanticModel>
+ </contained>
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_i-f77zxIEdyqfK4bFJstMQ"/>
+ </owner>
+ </di2:Diagram>
+ <di2:Diagram fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="UserAttributes">
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="469:72" size="246:97">
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="20:20" size="100:100">
+ <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="20:20" 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="eastadl.profile.uml#_dCap8Eu8Ed-xzKBfQHZrnw"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="20:20" size="100:100"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Stereotype" href="eastadl.profile.uml#_UdoyUNu1EdyN-KVwISucrA"/>
+ </semanticModel>
+ <anchorage position="715:87" graphEdge="/3/@contained.1"/>
+ <anchorage position="506:169" graphEdge="/3/@contained.3"/>
+ <anchorage position="684:71" graphEdge="/3/@contained.1"/>
+ <anchorage position="468:103" graphEdge="/3/@contained.7"/>
+ </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="/3/@contained.0/@anchorage.2 /3/@contained.0/@anchorage.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:10" size="100:100"/>
+ <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="37:-15" size="109:10">
+ <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="0:10" size="100:100">
+ <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="39:4" size="32:15"/>
+ <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:-15" size="100:100"/>
+ <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:30" size="100:100"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Association" href="eastadl.profile.uml#_H0I2MN5dEdyYTuvJlD3q4A"/>
+ </semanticModel>
+ <waypoints>682:38</waypoints>
+ <waypoints>752:38</waypoints>
+ <waypoints>752:88</waypoints>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="469:226" size="248:120">
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="20:20" size="100:100">
+ <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="20:20" 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="eastadl.profile.uml#_osrRoEu8Ed-xzKBfQHZrnw"/>
+ </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="583:284" 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="eastadl.profile.uml#_m3txEN5fEdyj0czXtxdBLQ"/>
+ </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="703:284" 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="eastadl.profile.uml#_rDyI4N5fEdyj0czXtxdBLQ"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="20:20" size="100:100"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Stereotype" href="eastadl.profile.uml#_UmXLgN5dEdyYTuvJlD3q4A"/>
+ </semanticModel>
+ <anchorage position="505:225" graphEdge="/3/@contained.3"/>
+ <anchorage position="717:251" graphEdge="/3/@contained.11"/>
+ </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="/3/@contained.0/@anchorage.1 /3/@contained.2/@anchorage.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"/>
+ <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="5:-35" size="64:15">
+ <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="-60:20" size="100:100">
+ <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="58:-23" size="16:10"/>
+ <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"/>
+ <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="60:-20" size="100:100"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Association" href="eastadl.profile.uml#_hbj8UN5dEdyYTuvJlD3q4A"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="147:90" size="174:60">
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="20:20" size="100:100"/>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="20:20" size="100:100"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Stereotype" href="eastadl.profile.uml#_asWc4N5eEdyYTuvJlD3q4A"/>
+ </semanticModel>
+ <anchorage position="321:103" graphEdge="/3/@contained.7"/>
+ <anchorage position="255:150" graphEdge="/3/@contained.5"/>
+ </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="/3/@contained.4/@anchorage.1 /3/@contained.6/@anchorage.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:0" size="100:100"/>
+ <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="-85:-26" size="58:30">
+ <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:0" size="100:100">
+ <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="-21:-19" size="16:10"/>
+ <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"/>
+ <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="60:-20" size="100:100"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Association" href="eastadl.profile.uml#_my6mEN5eEdyYTuvJlD3q4A"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="189:281" size="208:120">
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="20:20" size="100:100">
+ <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="20:20" size="100:100">
+ <property key="custom_disp" value="254"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Property" href="eastadl.profile.uml#_mUItcN5gEdyj0czXtxdBLQ"/>
+ </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="20:20" 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="eastadl.profile.uml#_HsAGAEu8Ed-xzKBfQHZrnw"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="20:20" size="100:100"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Stereotype" href="eastadl.profile.uml#_tW0_AN5eEdyYTuvJlD3q4A"/>
+ </semanticModel>
+ <anchorage position="254:280" graphEdge="/3/@contained.5"/>
+ <anchorage position="205:280" graphEdge="/3/@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="/3/@contained.4/@anchorage.0 /3/@contained.0/@anchorage.3">
+ <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:0" size="100:100"/>
+ <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="-92:11" size="60:30">
+ <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="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="-40:20" size="100:100"/>
+ <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"/>
+ <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="60:20" size="100:100"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Association" href="eastadl.profile.uml#_OnUIQN5fEdyj0czXtxdBLQ"/>
+ </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="/3/@contained.6/@anchorage.1 /3/@contained.9/@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="eastadl.profile.uml#_YVz0MNd5Ed6hwb99h1VVPA"/>
+ </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="41:145" 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:Stereotype" href="eastadl.profile.uml#_i-WNqzxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="91:245" graphEdge="/3/@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="785:223" 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:Stereotype" href="eastadl.profile.uml#_i-WNODxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="784:250" graphEdge="/3/@contained.11"/>
+ </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="/3/@contained.2/@anchorage.1 /3/@contained.10/@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="-60: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" 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="eastadl.profile.uml#_-o2_oEu9Ed-xzKBfQHZrnw"/>
+ </semanticModel>
+ </contained>
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_2M5XsNu0EdyN-KVwISucrA"/>
+ </owner>
+ </di2:Diagram>
+ <di2:Diagram fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="SafetyCase">
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="43:67" size="251:104">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="20:20" size="100:100">
+ <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="20:20" 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="eastadl.profile.uml#_5How0PLSEd2bF7fagAIf9A"/>
+ </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="20:20" 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="eastadl.profile.uml#_CrGrIPLTEd2bF7fagAIf9A"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="20:20" size="100:100"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Stereotype" href="eastadl.profile.uml#_nkfVIN4rEdyW6f_GAa5b1w"/>
+ </semanticModel>
+ <anchorage position="78:171" graphEdge="/4/@contained.1"/>
+ <anchorage position="42:117" graphEdge="/4/@contained.1"/>
+ <anchorage position="294:116" graphEdge="/4/@contained.14"/>
+ <anchorage position="294:152" graphEdge="/4/@contained.12"/>
+ <anchorage position="203:171" graphEdge="/4/@contained.13"/>
+ </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="/4/@contained.0/@anchorage.1 /4/@contained.0/@anchorage.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:10" size="100:100"/>
+ <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="10:12" size="61:10">
+ <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="0:10" size="100:100">
+ <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="24:33" size="16:13"/>
+ <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:-15" size="100:100"/>
+ <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:30" size="100:100"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Association" href="eastadl.profile.uml#_as9MkN4sEdyW6f_GAa5b1w"/>
+ </semanticModel>
+ <waypoints>11:118</waypoints>
+ <waypoints>12:197</waypoints>
+ <waypoints>78:199</waypoints>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="2:1:0" position="11:260" size="186:138">
+ <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="157:124:47" position="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_5Lg6UPLJEd2GjMX0La-ycQ"/>
+ </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="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_8TbGcPLJEd2GjMX0La-ycQ"/>
+ </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="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_986z0PLJEd2GjMX0La-ycQ"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Enumeration" href="eastadl.profile.uml#_38JkMPLJEd2GjMX0La-ycQ"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="3:2:1" position="352:272" size="220:83">
+ <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="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <property key="custom_disp" value="252"/>
+ </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="eastadl.profile.uml#_HZ6SsPLKEd2GjMX0La-ycQ"/>
+ </semanticModel>
+ <anchorage position="392:271" graphEdge="/4/@contained.12"/>
+ <anchorage position="572:292" graphEdge="/4/@contained.18"/>
+ <anchorage position="400:355" graphEdge="/4/@contained.10"/>
+ <anchorage position="554:271" graphEdge="/4/@contained.8"/>
+ <anchorage position="456:271" graphEdge="/4/@contained.11"/>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="262:426" size="319:89">
+ <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="eastadl.profile.uml#_JaFasPLKEd2GjMX0La-ycQ"/>
+ </semanticModel>
+ <anchorage position="459:425" graphEdge="/4/@contained.9"/>
+ <anchorage position="581:492" graphEdge="/4/@contained.6"/>
+ <anchorage position="532:425" graphEdge="/4/@contained.17"/>
+ <anchorage position="304:425" graphEdge="/4/@contained.13"/>
+ <anchorage position="581:469" graphEdge="/4/@contained.7"/>
+ <anchorage position="377:425" graphEdge="/4/@contained.10"/>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="427:17" size="233:98">
+ <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="eastadl.profile.uml#_L5AUMPLKEd2GjMX0La-ycQ"/>
+ </semanticModel>
+ <anchorage position="426:60" graphEdge="/4/@contained.14"/>
+ <anchorage position="543:115" graphEdge="/4/@contained.8"/>
+ <anchorage position="660:58" graphEdge="/4/@contained.16"/>
+ <anchorage position="614:115" graphEdge="/4/@contained.9"/>
+ <anchorage position="636:115" graphEdge="/4/@contained.7"/>
+ <anchorage position="645:115" graphEdge="/4/@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="/4/@contained.5/@anchorage.5 /4/@contained.4/@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="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="33:-27" size="91:13">
+ <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="-60: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="15:0" size="16:13">
+ <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="-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" 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="eastadl.profile.uml#_-4kHQPLKEd2GjMX0La-ycQ"/>
+ </semanticModel>
+ <waypoints>651:360</waypoints>
+ </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="/4/@contained.5/@anchorage.4 /4/@contained.4/@anchorage.4">
+ <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="17:-24" size="123:13">
+ <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="-60: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="21:9" size="17:15">
+ <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="-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" 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="eastadl.profile.uml#_DhRXwPLLEd2GjMX0La-ycQ"/>
+ </semanticModel>
+ <waypoints>639:363</waypoints>
+ </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="/4/@contained.5/@anchorage.1 /4/@contained.3/@anchorage.3">
+ <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="-68:-17" size="48:13">
+ <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="-60: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="9:-24" size="27:13">
+ <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="-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" 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="eastadl.profile.uml#_OR0wQPLLEd2GjMX0La-ycQ"/>
+ </semanticModel>
+ <waypoints>551:236</waypoints>
+ </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="/4/@contained.4/@anchorage.0 /4/@contained.5/@anchorage.3">
+ <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="2:21" size="82:13">
+ <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:60" 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="10:45" size="16:13">
+ <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="40:0" 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="eastadl.profile.uml#_5rW-YPLREd2bF7fagAIf9A"/>
+ </semanticModel>
+ <waypoints>618:361</waypoints>
+ </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="/4/@contained.4/@anchorage.5 /4/@contained.3/@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" 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="-61:18" size="48:13">
+ <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="-60: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="8:22" size="16:13">
+ <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="60:-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="eastadl.profile.uml#_cIRegPLSEd2bF7fagAIf9A"/>
+ </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="/4/@contained.3/@anchorage.4 /4/@contained.19/@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" 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:12" size="75:13">
+ <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="-60: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="-31:12" size="16:13">
+ <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="60:-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="eastadl.profile.uml#_knBzgPLSEd2bF7fagAIf9A"/>
+ </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="/4/@contained.0/@anchorage.3 /4/@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:0" 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="-62:-21" size="39:10">
+ <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:0" 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="-12:-34" size="27:13">
+ <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>
+ <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="60:-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="eastadl.profile.uml#_Nswi0PNkEd2fEu9kIaMRFw"/>
+ </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="/4/@contained.0/@anchorage.4 /4/@contained.4/@anchorage.3">
+ <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:0" 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="-59:-39" size="41:26">
+ <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:0" 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="-8:-41" size="16:13">
+ <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>
+ <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="60:-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="eastadl.profile.uml#_3Aph0PNkEd2fEu9kIaMRFw"/>
+ </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="/4/@contained.0/@anchorage.2 /4/@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="-47:5" size="33:10">
+ <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="-45:-38" size="27:13">
+ <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="eastadl.profile.uml#_7t3e4PNkEd2fEu9kIaMRFw"/>
+ </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="794:243" 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="eastadl.profile.uml#_y1ZwME2gEd-Nn4upK86kww"/>
+ </semanticModel>
+ <anchorage position="850:242" graphEdge="/4/@contained.16"/>
+ <anchorage position="793:330" graphEdge="/4/@contained.17"/>
+ <anchorage position="793:284" graphEdge="/4/@contained.18"/>
+ </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="/4/@contained.5/@anchorage.2 /4/@contained.15/@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="-57:-42" size="58:26">
+ <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="eastadl.profile.uml#_3gxTIE2gEd-Nn4upK86kww"/>
+ </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="/4/@contained.4/@anchorage.2 /4/@contained.15/@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="0:0" 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="-60:-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" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:0" 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="0:-40" 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="60:-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="eastadl.profile.uml#_ASIbEE2hEd-Nn4upK86kww"/>
+ </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="/4/@contained.3/@anchorage.1 /4/@contained.15/@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="0:0" 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="-60:-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" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:0" 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="0:-40" 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="60:-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="eastadl.profile.uml#_Hn3SgE2hEd-Nn4upK86kww"/>
+ </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="409:139" size="100:64">
+ <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="eastadl.profile.uml#_k1GBsE2hEd-Nn4upK86kww"/>
+ </semanticModel>
+ <anchorage position="455:203" graphEdge="/4/@contained.11"/>
+ </contained>
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_Tb650N4qEdyW6f_GAa5b1w"/>
+ </owner>
+ </di2:Diagram>
+ <di2:Diagram fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="Timing" type="ClassDiagram">
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="-192:71" size="229:67">
+ <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="eastadl.profile.uml#_ixImcNjgEd6wXIBypQTswA"/>
+ </semanticModel>
+ <anchorage position="10:138" graphEdge="/5/@contained.7"/>
+ <anchorage position="-95:138" graphEdge="/5/@contained.13"/>
+ <anchorage position="-60:138" graphEdge="/5/@contained.9"/>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="1:0:0" position="526:149" size="179:120">
+ <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="20:20" 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="eastadl.profile.uml#_4G97kNjgEd6wXIBypQTswA"/>
+ </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="eastadl.profile.uml#_1nGm4NjgEd6wXIBypQTswA"/>
+ </semanticModel>
+ <anchorage position="614:148" graphEdge="/5/@contained.3"/>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="500:5" size="165:86">
+ <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="20:20" 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="eastadl.profile.uml#_IQRhcNjhEd6wXIBypQTswA"/>
+ </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="eastadl.profile.uml#_GBbrUNjhEd6wXIBypQTswA"/>
+ </semanticModel>
+ <anchorage position="556:91" graphEdge="/5/@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="/5/@contained.2/@anchorage.0 /5/@contained.1/@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="-35:-32" size="34:10">
+ <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="-60: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="7:-27" size="27:10">
+ <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="-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" 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="eastadl.profile.uml#_PjR1ANjhEd6wXIBypQTswA"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="1:0:0" position="313:164" size="191:142">
+ <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="20:20" 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="eastadl.profile.uml#_izp5gNjhEd6wXIBypQTswA"/>
+ </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="20:20" 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="eastadl.profile.uml#_DonrsExiEd-SDeUiu9LLYg"/>
+ </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="20:20" 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="eastadl.profile.uml#_H-jKIExiEd-SDeUiu9LLYg"/>
+ </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="eastadl.profile.uml#_faY3oNjhEd6wXIBypQTswA"/>
+ </semanticModel>
+ <anchorage position="312:215" graphEdge="/5/@contained.6"/>
+ <anchorage position="504:280" graphEdge="/5/@contained.17"/>
+ <anchorage position="504:267" graphEdge="/5/@contained.19"/>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="48:187" size="158:60">
+ <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="eastadl.profile.uml#_tVqfsNjhEd6wXIBypQTswA"/>
+ </semanticModel>
+ <anchorage position="65:186" graphEdge="/5/@contained.7"/>
+ <anchorage position="206:217" graphEdge="/5/@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="/5/@contained.5/@anchorage.1 /5/@contained.4/@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:0" 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="-83:-17" size="79:10">
+ <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="-34:10" size="16:10">
+ <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>
+ <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="60: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="eastadl.profile.uml#_zES2cNjhEd6wXIBypQTswA"/>
+ </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="/5/@contained.5/@anchorage.0 /5/@contained.0/@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:0" 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="30:1" size="83:10">
+ <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="34:14" size="16:10">
+ <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>
+ <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="60: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="eastadl.profile.uml#_zbWEgNjhEd6wXIBypQTswA"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="3:2:1" position="160:339" size="199: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="eastadl.profile.uml#_6ye34NjmEd6wXIBypQTswA"/>
+ </semanticModel>
+ <anchorage position="166:338" graphEdge="/5/@contained.9"/>
+ <anchorage position="359:365" graphEdge="/5/@contained.10"/>
+ <anchorage position="342:338" graphEdge="/5/@contained.10"/>
+ <anchorage position="329:439" graphEdge="/5/@contained.11"/>
+ <anchorage position="359:422" graphEdge="/5/@contained.11"/>
+ <anchorage position="159:418" graphEdge="/5/@contained.15"/>
+ <anchorage position="159:382" graphEdge="/5/@contained.14"/>
+ </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="/5/@contained.8/@anchorage.0 /5/@contained.0/@anchorage.2">
+ <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="eastadl.profile.uml#_BHwX4NjnEd6wXIBypQTswA"/>
+ </semanticModel>
+ <waypoints>-40:259</waypoints>
+ </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="/5/@contained.8/@anchorage.2 /5/@contained.8/@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="0:10" 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="55:-10" size="47:20">
+ <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="0:10" 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="14:-24" size="16:10">
+ <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:-15" 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: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:Association" href="eastadl.profile.uml#_Fy-w4NjnEd6wXIBypQTswA"/>
+ </semanticModel>
+ <waypoints>342:302</waypoints>
+ <waypoints>400:302</waypoints>
+ <waypoints>399:365</waypoints>
+ </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="/5/@contained.8/@anchorage.4 /5/@contained.8/@anchorage.3">
+ <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:10" 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="10:11" size="37:10">
+ <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="0:10" 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="34:-3" size="16:10">
+ <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:-15" 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: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:Association" href="eastadl.profile.uml#_L5CJINjnEd6wXIBypQTswA"/>
+ </semanticModel>
+ <waypoints>398:423</waypoints>
+ <waypoints>398:479</waypoints>
+ <waypoints>330:479</waypoints>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="-192:332" size="246:120">
+ <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="20:20" 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="eastadl.profile.uml#_VKSSENjnEd6wXIBypQTswA"/>
+ </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="eastadl.profile.uml#_RaMroNjnEd6wXIBypQTswA"/>
+ </semanticModel>
+ <anchorage position="54:382" graphEdge="/5/@contained.14"/>
+ <anchorage position="-138:331" graphEdge="/5/@contained.13"/>
+ <anchorage position="54:419" graphEdge="/5/@contained.15"/>
+ </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="/5/@contained.12/@anchorage.1 /5/@contained.0/@anchorage.1">
+ <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="eastadl.profile.uml#_iupO8NjnEd6wXIBypQTswA"/>
+ </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="/5/@contained.8/@anchorage.6 /5/@contained.12/@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" 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="3:-21" size="49:10">
+ <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="-40:-40" 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="57:-21" size="27:10">
+ <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="eastadl.profile.uml#_per_YNjnEd6wXIBypQTswA"/>
+ </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="/5/@contained.8/@anchorage.5 /5/@contained.12/@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" 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="6:9" size="46:10">
+ <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="-40:-40" 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="57:11" size="27:10">
+ <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="eastadl.profile.uml#_vbf8ENjnEd6wXIBypQTswA"/>
+ </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="559:298" size="157:70">
+ <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="20:20" 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="eastadl.profile.uml#_-3DvQExjEd-SDeUiu9LLYg"/>
+ </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="eastadl.profile.uml#_ELRQUExjEd-SDeUiu9LLYg"/>
+ </semanticModel>
+ <anchorage position="614:297" graphEdge="/5/@contained.17"/>
+ </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="/5/@contained.16/@anchorage.0 /5/@contained.4/@anchorage.1">
+ <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="eastadl.profile.uml#_GuieUExjEd-SDeUiu9LLYg"/>
+ </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="785:275" size="256: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 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="663:315" 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="eastadl.profile.uml#_i-WLgzxIEdyqfK4bFJstMQ"/>
+ </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="783:315" 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="eastadl.profile.uml#_i-WLhjxIEdyqfK4bFJstMQ"/>
+ </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="eastadl.profile.uml#_i-WLgTxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="814:274" graphEdge="/5/@contained.19"/>
+ </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="/5/@contained.18/@anchorage.0 /5/@contained.4/@anchorage.2">
+ <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="eastadl.profile.uml#_uaHbsExjEd-SDeUiu9LLYg"/>
+ </semanticModel>
+ </contained>
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_N7DvcNjgEd6wXIBypQTswA"/>
+ </owner>
+ </di2:Diagram>
+ <di2:Diagram fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="TimingConstraints" type="ClassDiagram">
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="34:159" size="228: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 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="20:20" 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="eastadl.profile.uml#_LElC0NjmEd6wXIBypQTswA"/>
+ </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="20:20" 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="eastadl.profile.uml#_a6B4kNjmEd6wXIBypQTswA"/>
+ </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="20:20" 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="eastadl.profile.uml#_-QMcMExmEd-SDeUiu9LLYg"/>
+ </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="eastadl.profile.uml#_z-sFUNjlEd6wXIBypQTswA"/>
+ </semanticModel>
+ <anchorage position="85:158" graphEdge="/6/@contained.2"/>
+ <anchorage position="92:276" graphEdge="/6/@contained.10"/>
+ <anchorage position="262:230" graphEdge="/6/@contained.4"/>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="201:255:196" borderColor="0:0:0" position="149:50" size="286:59">
+ <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="eastadl.profile.uml#_faY3oNjhEd6wXIBypQTswA"/>
+ </semanticModel>
+ <anchorage position="209:109" graphEdge="/6/@contained.2"/>
+ <anchorage position="288:109" graphEdge="/6/@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="/6/@contained.0/@anchorage.0 /6/@contained.1/@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="eastadl.profile.uml#_Ckt6kNjmEd6wXIBypQTswA"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="1:0:0" position="242:320" size="200:83">
+ <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="eastadl.profile.uml#_uFjSQNjmEd6wXIBypQTswA"/>
+ </semanticModel>
+ <anchorage position="312:319" graphEdge="/6/@contained.4"/>
+ <anchorage position="291:403" graphEdge="/6/@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="/6/@contained.3/@anchorage.0 /6/@contained.0/@anchorage.2">
+ <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="eastadl.profile.uml#_0Om7MNjmEd6wXIBypQTswA"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="346:153" size="382:86">
+ <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="20:20" 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="eastadl.profile.uml#_LQo28NjoEd6wXIBypQTswA"/>
+ </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="20:20" 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="eastadl.profile.uml#_PDD_sNjoEd6wXIBypQTswA"/>
+ </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="eastadl.profile.uml#_Cp8t8NjoEd6wXIBypQTswA"/>
+ </semanticModel>
+ <anchorage position="371:152" graphEdge="/6/@contained.6"/>
+ <anchorage position="728:185" graphEdge="/6/@contained.18"/>
+ <anchorage position="716:239" graphEdge="/6/@contained.14"/>
+ <anchorage position="665:239" graphEdge="/6/@contained.20"/>
+ <anchorage position="559:239" graphEdge="/6/@contained.16"/>
+ </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="/6/@contained.5/@anchorage.0 /6/@contained.1/@anchorage.1">
+ <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="eastadl.profile.uml#_FyWpUNjoEd6wXIBypQTswA"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="1:0:0" position="270:435" size="174: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 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="448:355" 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="eastadl.profile.uml#_4Kx5ANjqEd6rlulM-6rbhg"/>
+ </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="eastadl.profile.uml#_Ukkk8N4fEdyW6f_GAa5b1w"/>
+ </semanticModel>
+ <anchorage position="314:434" graphEdge="/6/@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="/6/@contained.7/@anchorage.0 /6/@contained.3/@anchorage.1">
+ <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="eastadl.profile.uml#_pKIu4NjrEd6rlulM-6rbhg"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="39:318" size="183:80">
+ <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="eastadl.profile.uml#_xOuQYNjrEd6rlulM-6rbhg"/>
+ </semanticModel>
+ <anchorage position="92:317" graphEdge="/6/@contained.10"/>
+ <anchorage position="91:398" graphEdge="/6/@contained.12"/>
+ </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="/6/@contained.9/@anchorage.0 /6/@contained.0/@anchorage.1">
+ <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="eastadl.profile.uml#_8i_Z8NjrEd6rlulM-6rbhg"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="1:0:0" position="41:434" size="203: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 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="389:322" 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="eastadl.profile.uml#_W7sBcNjrEd6rlulM-6rbhg"/>
+ </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="eastadl.profile.uml#_3JCekN4fEdyW6f_GAa5b1w"/>
+ </semanticModel>
+ <anchorage position="90:433" graphEdge="/6/@contained.12"/>
+ </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="/6/@contained.11/@anchorage.0 /6/@contained.9/@anchorage.1">
+ <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="eastadl.profile.uml#_B86sANjsEd6rlulM-6rbhg"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="761:279" size="232:111">
+ <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="20:20" 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="eastadl.profile.uml#_NM3coNj0Ed6rlulM-6rbhg"/>
+ </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="20:20" 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="eastadl.profile.uml#_SdfBsNj0Ed6rlulM-6rbhg"/>
+ </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="20:20" 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="eastadl.profile.uml#_YKb9cNj0Ed6rlulM-6rbhg"/>
+ </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="20:20" 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="eastadl.profile.uml#_f5mokNj0Ed6rlulM-6rbhg"/>
+ </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="eastadl.profile.uml#_Ix9XkNj0Ed6rlulM-6rbhg"/>
+ </semanticModel>
+ <anchorage position="808:278" graphEdge="/6/@contained.14"/>
+ </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="/6/@contained.13/@anchorage.0 /6/@contained.5/@anchorage.2">
+ <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="eastadl.profile.uml#_nVKbMNj0Ed6rlulM-6rbhg"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="3:2:1" position="474:359" size="206:110">
+ <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="20:20" 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="eastadl.profile.uml#_yMnF4Nj0Ed6rlulM-6rbhg"/>
+ </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="20:20" 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="eastadl.profile.uml#_3NNR8Nj0Ed6rlulM-6rbhg"/>
+ </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="20:20" 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="eastadl.profile.uml#_8PLXANj0Ed6rlulM-6rbhg"/>
+ </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="eastadl.profile.uml#_ryTU4Nj0Ed6rlulM-6rbhg"/>
+ </semanticModel>
+ <anchorage position="546:358" graphEdge="/6/@contained.16"/>
+ </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="/6/@contained.15/@anchorage.0 /6/@contained.5/@anchorage.4">
+ <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="eastadl.profile.uml#_Dd19INj1Ed6rlulM-6rbhg"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="786:145" size="212:119">
+ <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="20:20" 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="eastadl.profile.uml#_LRpQoNj1Ed6rlulM-6rbhg"/>
+ </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="20:20" 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="eastadl.profile.uml#_PeymgNj1Ed6rlulM-6rbhg"/>
+ </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="20:20" 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="eastadl.profile.uml#_Uf_2kNj1Ed6rlulM-6rbhg"/>
+ </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="20:20" 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="eastadl.profile.uml#_Z5oNsNj1Ed6rlulM-6rbhg"/>
+ </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="eastadl.profile.uml#_HsegwNj1Ed6rlulM-6rbhg"/>
+ </semanticModel>
+ <anchorage position="785:168" graphEdge="/6/@contained.18"/>
+ </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="/6/@contained.17/@anchorage.0 /6/@contained.5/@anchorage.1">
+ <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="eastadl.profile.uml#_eaVYwNj1Ed6rlulM-6rbhg"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="700:404" size="254:96">
+ <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="20:20" 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="eastadl.profile.uml#_2-cnwNj1Ed6rlulM-6rbhg"/>
+ </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="20:20" 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="eastadl.profile.uml#_95GswNj1Ed6rlulM-6rbhg"/>
+ </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="eastadl.profile.uml#_yVk_MNj1Ed6rlulM-6rbhg"/>
+ </semanticModel>
+ <anchorage position="727:403" graphEdge="/6/@contained.20"/>
+ </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="/6/@contained.19/@anchorage.0 /6/@contained.5/@anchorage.3">
+ <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="eastadl.profile.uml#_GFXjkNj2Ed6rlulM-6rbhg"/>
+ </semanticModel>
+ </contained>
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_a_kcsNjiEd6wXIBypQTswA"/>
+ </owner>
+ </di2:Diagram>
+ <di2:Diagram fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="Events" type="ClassDiagram">
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="201:255:196" borderColor="2:1:0" position="-22:5" size="205:72">
+ <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="eastadl.profile.uml#_RaMroNjnEd6wXIBypQTswA"/>
+ </semanticModel>
+ <anchorage position="52:77" graphEdge="/7/@contained.7"/>
+ <anchorage position="183:50" graphEdge="/7/@contained.5"/>
+ <anchorage position="137:77" graphEdge="/7/@contained.2"/>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="231:226" size="261:73">
+ <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="20:20" 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="eastadl.profile.uml#_hQ8HkNj3Ed6rlulM-6rbhg"/>
+ </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="eastadl.profile.uml#_eiHw4Nj3Ed6rlulM-6rbhg"/>
+ </semanticModel>
+ <anchorage position="281:225" graphEdge="/7/@contained.2"/>
+ </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="/7/@contained.1/@anchorage.0 /7/@contained.0/@anchorage.2">
+ <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="eastadl.profile.uml#_lyBtINj3Ed6rlulM-6rbhg"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="2:1:0" position="287:51" size="345:90">
+ <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="20:20" 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="eastadl.profile.uml#_2842oNj3Ed6rlulM-6rbhg"/>
+ </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="648:78" 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="eastadl.profile.uml#_M8ndUNj4Ed6rlulM-6rbhg"/>
+ </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="eastadl.profile.uml#_0LKV4Nj3Ed6rlulM-6rbhg"/>
+ </semanticModel>
+ <anchorage position="286:80" graphEdge="/7/@contained.5"/>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="539:168" size="188:112">
+ <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="157:124:47" position="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#__S5fUNj3Ed6rlulM-6rbhg"/>
+ </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="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_A91-MNj4Ed6rlulM-6rbhg"/>
+ </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="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_Y38BwExlEd-SDeUiu9LLYg"/>
+ </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="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_budi8ExlEd-SDeUiu9LLYg"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Enumeration" href="eastadl.profile.uml#_85ibQNj3Ed6rlulM-6rbhg"/>
+ </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="/7/@contained.3/@anchorage.0 /7/@contained.0/@anchorage.1">
+ <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="eastadl.profile.uml#_RloP0Nj4Ed6rlulM-6rbhg"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="-15:228" size="226:94">
+ <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="20:20" 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="eastadl.profile.uml#_ZLUO0Nj4Ed6rlulM-6rbhg"/>
+ </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="20:20" 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="eastadl.profile.uml#_otb60ExlEd-SDeUiu9LLYg"/>
+ </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="eastadl.profile.uml#_WQ9WgNj4Ed6rlulM-6rbhg"/>
+ </semanticModel>
+ <anchorage position="77:227" graphEdge="/7/@contained.7"/>
+ </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="/7/@contained.6/@anchorage.0 /7/@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="eastadl.profile.uml#_brM00Nj8Ed6rlulM-6rbhg"/>
+ </semanticModel>
+ </contained>
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_KfvdINj2Ed6rlulM-6rbhg"/>
+ </owner>
+ </di2:Diagram>
+ <di2:Diagram fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="Interchange" type="ClassDiagram">
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="52:105" size="388:102">
+ <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="20:20" 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="eastadl.profile.uml#_zlUBYNj4Ed6rlulM-6rbhg"/>
+ </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="20:20" 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="eastadl.profile.uml#_SdIxQExUEd-d_pItEVVsag"/>
+ </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="eastadl.profile.uml#_s1UUQNj4Ed6rlulM-6rbhg"/>
+ </semanticModel>
+ <anchorage position="174:207" graphEdge="/8/@contained.2"/>
+ <anchorage position="289:207" graphEdge="/8/@contained.4"/>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="56:230" size="162: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="eastadl.profile.uml#_AjGGcNj5Ed6rlulM-6rbhg"/>
+ </semanticModel>
+ <anchorage position="145:229" graphEdge="/8/@contained.2"/>
+ </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="/8/@contained.1/@anchorage.0 /8/@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="eastadl.profile.uml#_D57fYNj5Ed6rlulM-6rbhg"/>
+ </semanticModel>
+ </contained>
+ <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="255:255:255" borderColor="0:0:0" position="248:228" size="143: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="eastadl.profile.uml#_FnRyANj5Ed6rlulM-6rbhg"/>
+ </semanticModel>
+ <anchorage position="307:227" graphEdge="/8/@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="/8/@contained.3/@anchorage.0 /8/@contained.0/@anchorage.1">
+ <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="eastadl.profile.uml#_IiBE0Nj5Ed6rlulM-6rbhg"/>
+ </semanticModel>
+ </contained>
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_f0woANj4Ed6rlulM-6rbhg"/>
+ </owner>
+ </di2:Diagram>
+ <di2:Diagram fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="Elements" type="ClassDiagram">
+ <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="/9/@contained.1/@anchorage.0 /9/@contained.2/@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="eastadl.profile.uml#_hX0H8N5hEdyj0czXtxdBLQ"/>
+ </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="-28:124" size="267: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 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="255:233" 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="eastadl.profile.uml#_i-WNrTxIEdyqfK4bFJstMQ"/>
+ </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="375:233" 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="eastadl.profile.uml#_x-GLcEVJEd6JdbCOp56STA"/>
+ </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="eastadl.profile.uml#_i-WNqzxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="113:124" graphEdge="/9/@contained.0"/>
+ <anchorage position="239:149" graphEdge="/9/@contained.5"/>
+ <anchorage position="239:191" graphEdge="/9/@contained.3"/>
+ <anchorage position="88:224" graphEdge="/9/@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="-51:16" size="264:66">
+ <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="eastadl.profile.uml#_asWc4N5eEdyYTuvJlD3q4A"/>
+ </semanticModel>
+ <anchorage position="102:82" graphEdge="/9/@contained.0"/>
+ </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="/9/@contained.4/@anchorage.0 /9/@contained.1/@anchorage.2">
+ <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="eastadl.profile.uml#_bjqcwE9wEd63TMVefYU7MQ"/>
+ </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="309:202" size="283: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 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="528:246" 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="eastadl.profile.uml#_M6E0QEVLEd6JdbCOp56STA"/>
+ </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="eastadl.profile.uml#_i-WNpjxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="308:236" graphEdge="/9/@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="/9/@contained.6/@anchorage.0 /9/@contained.1/@anchorage.1">
+ <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="eastadl.profile.uml#_7Hh58NdpEd6hwb99h1VVPA"/>
+ </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="311:80" size="270: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 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="411:362" 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="eastadl.profile.uml#_5lDAoEVHEd63p8Mhtt6qeA"/>
+ </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="531:362" 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="eastadl.profile.uml#_BL6rYEVIEd63p8Mhtt6qeA"/>
+ </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="eastadl.profile.uml#_i-WNsjxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="310:129" graphEdge="/9/@contained.5"/>
+ </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="/9/@contained.8/@anchorage.0 /9/@contained.1/@anchorage.3">
+ <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="eastadl.profile.uml#_Z7Ac4E9wEd63TMVefYU7MQ"/>
+ </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="46:259" size="100:70">
+ <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="eastadl.profile.uml#_i-WNqjxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="96:259" graphEdge="/9/@contained.7"/>
+ <anchorage position="96:329" graphEdge="/9/@contained.11"/>
+ <anchorage position="146:299" graphEdge="/9/@contained.9"/>
+ </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="/9/@contained.10/@anchorage.0 /9/@contained.8/@anchorage.2">
+ <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="eastadl.profile.uml#_wNR_UNjcEd6wXIBypQTswA"/>
+ </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="287:338" size="301: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 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="90:369" 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="eastadl.profile.uml#_7n8EwNjcEd6wXIBypQTswA"/>
+ </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="210:369" 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="eastadl.profile.uml#_BrPD8NjdEd6wXIBypQTswA"/>
+ </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="eastadl.profile.uml#_rbGCsNjcEd6wXIBypQTswA"/>
+ </semanticModel>
+ <anchorage position="286:373" graphEdge="/9/@contained.9"/>
+ </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="/9/@contained.12/@anchorage.0 /9/@contained.8/@anchorage.1">
+ <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="eastadl.profile.uml#_i-WNiDxIEdyqfK4bFJstMQ"/>
+ </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="123:420" size="100:62">
+ <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="eastadl.profile.uml#_i-WNhzxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="173:420" graphEdge="/9/@contained.11"/>
+ </contained>
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_i-WNZjxIEdyqfK4bFJstMQ"/>
+ </owner>
+ </di2:Diagram>
+ <di2:Diagram fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="Needs" 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="40:18" size="125:56">
+ <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="eastadl.profile.uml#_042DYExHEd-8Fb2lgHByaQ"/>
+ </semanticModel>
+ <anchorage position="165:27" graphEdge="/10/@contained.6"/>
+ <anchorage position="165:63" graphEdge="/10/@contained.7"/>
+ <anchorage position="139:74" graphEdge="/10/@contained.8"/>
+ <anchorage position="89:74" graphEdge="/10/@contained.9"/>
+ <anchorage position="52:74" graphEdge="/10/@contained.10"/>
+ </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="258:21" size="127:56">
+ <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="eastadl.profile.uml#_5H5dwExHEd-8Fb2lgHByaQ"/>
+ </semanticModel>
+ <anchorage position="257:24" graphEdge="/10/@contained.6"/>
+ <anchorage position="321:77" graphEdge="/10/@contained.11"/>
+ </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="258:118" size="132:56">
+ <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="eastadl.profile.uml#_6-JNsExHEd-8Fb2lgHByaQ"/>
+ </semanticModel>
+ <anchorage position="257:121" graphEdge="/10/@contained.7"/>
+ <anchorage position="323:117" graphEdge="/10/@contained.11"/>
+ <anchorage position="314:174" graphEdge="/10/@contained.12"/>
+ <anchorage position="390:138" graphEdge="/10/@contained.16"/>
+ </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="204:210" size="132:51">
+ <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="eastadl.profile.uml#_8l51sExHEd-8Fb2lgHByaQ"/>
+ </semanticModel>
+ <anchorage position="227:209" graphEdge="/10/@contained.8"/>
+ <anchorage position="299:209" graphEdge="/10/@contained.12"/>
+ <anchorage position="270:261" graphEdge="/10/@contained.13"/>
+ </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="141:287" size="157:57">
+ <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="eastadl.profile.uml#__h_MUExHEd-8Fb2lgHByaQ"/>
+ </semanticModel>
+ <anchorage position="161:286" graphEdge="/10/@contained.9"/>
+ <anchorage position="255:286" graphEdge="/10/@contained.13"/>
+ <anchorage position="236:344" graphEdge="/10/@contained.14"/>
+ <anchorage position="298:308" graphEdge="/10/@contained.17"/>
+ </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="57:371" size="169:49">
+ <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="eastadl.profile.uml#_Cb5_wExIEd-8Fb2lgHByaQ"/>
+ </semanticModel>
+ <anchorage position="77:370" graphEdge="/10/@contained.10"/>
+ <anchorage position="213:370" graphEdge="/10/@contained.14"/>
+ </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="/10/@contained.1/@anchorage.0 /10/@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="eastadl.profile.uml#_LTE0wExIEd-8Fb2lgHByaQ"/>
+ </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="/10/@contained.2/@anchorage.0 /10/@contained.0/@anchorage.1">
+ <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="eastadl.profile.uml#_LodO4ExIEd-8Fb2lgHByaQ"/>
+ </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="/10/@contained.3/@anchorage.0 /10/@contained.0/@anchorage.2">
+ <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="eastadl.profile.uml#_L9PzIExIEd-8Fb2lgHByaQ"/>
+ </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="/10/@contained.4/@anchorage.0 /10/@contained.0/@anchorage.3">
+ <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="eastadl.profile.uml#_MUP94ExIEd-8Fb2lgHByaQ"/>
+ </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="/10/@contained.5/@anchorage.0 /10/@contained.0/@anchorage.4">
+ <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="eastadl.profile.uml#_M39H4ExIEd-8Fb2lgHByaQ"/>
+ </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="/10/@contained.2/@anchorage.1 /10/@contained.1/@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="0:0" 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="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" 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="-40: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="-40:-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="60: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="eastadl.profile.uml#_ON18wExIEd-8Fb2lgHByaQ"/>
+ </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="/10/@contained.2/@anchorage.2 /10/@contained.3/@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: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="18:-22" size="60:13">
+ <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="-60:-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="52:2" size="16:13">
+ <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="eastadl.profile.uml#_STFT0ExIEd-8Fb2lgHByaQ"/>
+ </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="/10/@contained.3/@anchorage.2 /10/@contained.4/@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: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="15:-19" size="108:13">
+ <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="-60:-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="-27:-12" size="17:13">
+ <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="eastadl.profile.uml#_YOYNkExIEd-8Fb2lgHByaQ"/>
+ </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="/10/@contained.4/@anchorage.2 /10/@contained.5/@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: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="29:-20" size="86:13">
+ <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="-60:-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="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" 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="eastadl.profile.uml#_dPG8gExIEd-8Fb2lgHByaQ"/>
+ </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="465:91" size="270:111">
+ <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="571:242" 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="eastadl.profile.uml#_1JaSEFQJEd6gB7J6eY3lyQ"/>
+ </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="691:242" 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="eastadl.profile.uml#_3lQCYFQJEd6gB7J6eY3lyQ"/>
+ </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="eastadl.profile.uml#_371L0FQIEd6gB7J6eY3lyQ"/>
+ </semanticModel>
+ <anchorage position="464:128" graphEdge="/10/@contained.16"/>
+ <anchorage position="491:202" graphEdge="/10/@contained.17"/>
+ </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="/10/@contained.2/@anchorage.3 /10/@contained.15/@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="-60: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" 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="eastadl.profile.uml#_2gL_MExIEd-8Fb2lgHByaQ"/>
+ </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="/10/@contained.4/@anchorage.3 /10/@contained.15/@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="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="-26:16" size="48:13">
+ <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="-59:1" size="27:13">
+ <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="eastadl.profile.uml#_5-G3kExIEd-8Fb2lgHByaQ"/>
+ </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="346:278" size="257:152">
+ <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="528:384" 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="eastadl.profile.uml#_8d1h8FQJEd6gB7J6eY3lyQ"/>
+ </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="648:384" 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="eastadl.profile.uml#_BL9d8FQKEd6gB7J6eY3lyQ"/>
+ </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="768:384" 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="eastadl.profile.uml#_Fl-yMFQKEd6gB7J6eY3lyQ"/>
+ </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="888:384" 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="eastadl.profile.uml#_VWTQUFQKEd6gB7J6eY3lyQ"/>
+ </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="eastadl.profile.uml#_65a-UFQIEd6gB7J6eY3lyQ"/>
+ </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="607:272" size="323:164">
+ <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="236:367" 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="eastadl.profile.uml#_IUzv8FQKEd6gB7J6eY3lyQ"/>
+ </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="356:367" 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="eastadl.profile.uml#_KvC9wFQKEd6gB7J6eY3lyQ"/>
+ </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="476:367" 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="eastadl.profile.uml#_MvrYwFQKEd6gB7J6eY3lyQ"/>
+ </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="596:367" 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="eastadl.profile.uml#_P97dcFQKEd6gB7J6eY3lyQ"/>
+ </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="eastadl.profile.uml#_-5Yz0FQIEd6gB7J6eY3lyQ"/>
+ </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="740:483" size="321:150">
+ <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="564:367" 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="eastadl.profile.uml#_ZVu6UFQKEd6gB7J6eY3lyQ"/>
+ </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="684:367" 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="eastadl.profile.uml#_uhRD8FQKEd6gB7J6eY3lyQ"/>
+ </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="804:367" 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="eastadl.profile.uml#_OgKCcFQLEd6gB7J6eY3lyQ"/>
+ </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="eastadl.profile.uml#_F5dkUFQJEd6gB7J6eY3lyQ"/>
+ </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="343:488" size="323:169">
+ <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="233:362" 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="eastadl.profile.uml#_by118FQKEd6gB7J6eY3lyQ"/>
+ </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="353:362" 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="eastadl.profile.uml#_eEvnIFQKEd6gB7J6eY3lyQ"/>
+ </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="473:362" 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="eastadl.profile.uml#_gRDGoFQKEd6gB7J6eY3lyQ"/>
+ </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="593:362" 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="eastadl.profile.uml#_jqQeIFQKEd6gB7J6eY3lyQ"/>
+ </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="713:362" 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="eastadl.profile.uml#_mnQawFQKEd6gB7J6eY3lyQ"/>
+ </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="eastadl.profile.uml#_CMkb0FQJEd6gB7J6eY3lyQ"/>
+ </semanticModel>
+ </contained>
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_OTomkErmEd-squZ2Pzs1Iw"/>
+ </owner>
+ </di2:Diagram>
+ <di2:Diagram fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="GenericConstraints" 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="30:24" size="219:204">
+ <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="157:124:47" position="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_8Ib88ExPEd-d_pItEVVsag"/>
+ </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="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_AMiEgExQEd-d_pItEVVsag"/>
+ </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="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_B9E1EExQEd-d_pItEVVsag"/>
+ </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="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_EMVh8ExQEd-d_pItEVVsag"/>
+ </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="683:109" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-WLkDxIEdyqfK4bFJstMQ"/>
+ </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="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_IeIuUExQEd-d_pItEVVsag"/>
+ </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="1163:109" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-WLlDxIEdyqfK4bFJstMQ"/>
+ </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="1403:109" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-WLljxIEdyqfK4bFJstMQ"/>
+ </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="1283:109" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-WLlTxIEdyqfK4bFJstMQ"/>
+ </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="1043:109" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-WLkzxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Enumeration" href="eastadl.profile.uml#_wWAGwDxIEdyqfK4bFJstMQ"/>
+ </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="316:176" size="343: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 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="408:216" 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="eastadl.profile.uml#_i-WLmTxIEdyqfK4bFJstMQ"/>
+ </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="eastadl.profile.uml#_i-WLlzxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="317:276" graphEdge="/11/@contained.3"/>
+ <anchorage position="505:276" graphEdge="/11/@contained.5"/>
+ <anchorage position="379:175" graphEdge="/11/@contained.7"/>
+ <anchorage position="642:175" graphEdge="/11/@contained.9"/>
+ <anchorage position="659:220" graphEdge="/11/@contained.11"/>
+ </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="111:322" size="207: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="eastadl.profile.uml#_t8JA4ExQEd-d_pItEVVsag"/>
+ </semanticModel>
+ <anchorage position="263:321" graphEdge="/11/@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="/11/@contained.2/@anchorage.0 /11/@contained.1/@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:0" 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="-60:-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" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:0" 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="0:-40" 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="60:-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="eastadl.profile.uml#_yZPeUExQEd-d_pItEVVsag"/>
+ </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="489:334" size="232: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="eastadl.profile.uml#_neBgQEuHEd-N_MlgLCZ6zw"/>
+ </semanticModel>
+ <anchorage position="511:333" graphEdge="/11/@contained.5"/>
+ </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="/11/@contained.1/@anchorage.1 /11/@contained.4/@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="26:-29" size="106:13">
+ <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:60" 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="-38:-27" size="28:13">
+ <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="40:0" 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="eastadl.profile.uml#_7oyXEExQEd-d_pItEVVsag"/>
+ </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="370:41" 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="eastadl.profile.uml#_0-9ewFaVEd-IHoZrGPPWCg"/>
+ </semanticModel>
+ <anchorage position="396:141" graphEdge="/11/@contained.7"/>
+ <anchorage position="470:122" graphEdge="/11/@contained.12"/>
+ </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="/11/@contained.1/@anchorage.2 /11/@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="0:0" 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="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" 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="-40: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="-40:-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="60: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="eastadl.profile.uml#_1sdd8FaVEd-IHoZrGPPWCg"/>
+ </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="724:56" 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:Stereotype" href="eastadl.profile.uml#_1nGm4NjgEd6wXIBypQTswA"/>
+ </semanticModel>
+ <anchorage position="723:112" graphEdge="/11/@contained.9"/>
+ </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="/11/@contained.1/@anchorage.3 /11/@contained.8/@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="-60: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" 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="eastadl.profile.uml#_aY-JYFgbEd-SipQLbZtnVw"/>
+ </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="741:208" size="100:120">
+ <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="20:20" 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="eastadl.profile.uml#_inf_IFgdEd-SipQLbZtnVw"/>
+ </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="eastadl.profile.uml#_ZYLv4FgdEd-SipQLbZtnVw"/>
+ </semanticModel>
+ <anchorage position="740:213" graphEdge="/11/@contained.11"/>
+ <anchorage position="743:207" graphEdge="/11/@contained.12"/>
+ </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="/11/@contained.10/@anchorage.0 /11/@contained.1/@anchorage.4">
+ <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="eastadl.profile.uml#_cSp88FgdEd-SipQLbZtnVw"/>
+ </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="/11/@contained.10/@anchorage.1 /11/@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="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="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" 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"/>
+ <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="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" 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" 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="eastadl.profile.uml#_gZw8QFgdEd-SipQLbZtnVw"/>
+ </semanticModel>
+ </contained>
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_tZKz0ErpEd-899EX5XYvlQ"/>
+ </owner>
+ </di2:Diagram>
+ <di2:Diagram fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="Variability" 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="356:162" size="159: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="eastadl.profile.uml#_VwCgcNlnEdybgKlxjJEMxQ"/>
+ </semanticModel>
+ <anchorage position="355:229" graphEdge="/12/@contained.2"/>
+ <anchorage position="409:161" graphEdge="/12/@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="50:167" 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:Stereotype" href="eastadl.profile.uml#_qxpzUEx7Ed-NY53ABFLNeA"/>
+ </semanticModel>
+ <anchorage position="150:228" graphEdge="/12/@contained.2"/>
+ <anchorage position="150:258" graphEdge="/12/@contained.4"/>
+ <anchorage position="150:175" graphEdge="/12/@contained.7"/>
+ <anchorage position="86:166" graphEdge="/12/@contained.12"/>
+ </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="/12/@contained.1/@anchorage.0 /12/@contained.0/@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="-105:-31" size="100:26">
+ <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="-60: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="-39:10" size="16:13">
+ <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="-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" 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="eastadl.profile.uml#_7pO_AEx8Ed-NY53ABFLNeA"/>
+ </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="351:294" size="158: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="eastadl.profile.uml#_5E0WYERgEd65c51kyCKYXg"/>
+ </semanticModel>
+ <anchorage position="350:337" graphEdge="/12/@contained.4"/>
+ <anchorage position="509:321" graphEdge="/12/@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="/12/@contained.1/@anchorage.1 /12/@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="-126:5" size="94:26">
+ <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="-60: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="-37:12" size="16:13">
+ <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="-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" 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="eastadl.profile.uml#_naM1sEyDEd-NY53ABFLNeA"/>
+ </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="357:31" size="397:69">
+ <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="eastadl.profile.uml#_i-f7BDxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="705:100" graphEdge="/12/@contained.6"/>
+ <anchorage position="356:91" graphEdge="/12/@contained.7"/>
+ <anchorage position="485:100" graphEdge="/12/@contained.8"/>
+ <anchorage position="356:44" graphEdge="/12/@contained.10"/>
+ <anchorage position="356:66" graphEdge="/12/@contained.11"/>
+ </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="/12/@contained.3/@anchorage.1 /12/@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:0" 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="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" 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="-40: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="-40:-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="60: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="eastadl.profile.uml#_64KfsEyCEd-NY53ABFLNeA"/>
+ </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="/12/@contained.1/@anchorage.2 /12/@contained.5/@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="0:0" 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="-100:40" size="97:26">
+ <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:0" 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="0:-40" 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="60:-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="eastadl.profile.uml#_Fj17EEyKEd-4NtQ6SoVDcg"/>
+ </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="/12/@contained.0/@anchorage.1 /12/@contained.5/@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" 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="20:5" size="90:26">
+ <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="-40:-40" 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="-7:14" size="28:13">
+ <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="eastadl.profile.uml#_qTvpUN4uEdyW6f_GAa5b1w"/>
+ </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="-80:26" size="241: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="eastadl.profile.uml#_jegRoEyCEd-NY53ABFLNeA"/>
+ </semanticModel>
+ <anchorage position="161:45" graphEdge="/12/@contained.10"/>
+ <anchorage position="161:64" graphEdge="/12/@contained.11"/>
+ <anchorage position="-19:126" graphEdge="/12/@contained.12"/>
+ </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="/12/@contained.9/@anchorage.0 /12/@contained.5/@anchorage.3">
+ <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="-103:-34" size="124:26">
+ <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="-60: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="33:-36" size="16:13">
+ <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="-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" 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="eastadl.profile.uml#_EBn-kEyDEd-NY53ABFLNeA"/>
+ </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="/12/@contained.9/@anchorage.1 /12/@contained.5/@anchorage.4">
+ <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="-192:6" size="90:26">
+ <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="-60: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="-86:3" size="16:13">
+ <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="-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" 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="eastadl.profile.uml#_KNVS4EyDEd-NY53ABFLNeA"/>
+ </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="/12/@contained.1/@anchorage.3 /12/@contained.9/@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" 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="-32:14" size="69:26">
+ <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="-40:-40" 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="38:8" size="16:13">
+ <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="eastadl.profile.uml#_x1AjgEyKEd-4NtQ6SoVDcg"/>
+ </semanticModel>
+ </contained>
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_i-WL-TxIEdyqfK4bFJstMQ"/>
+ </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="EAST-ADL2" type="ClassDiagram">
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_i-WJIDxIEdyqfK4bFJstMQ"/>
+ </owner>
+ </di2:Diagram>
+ <di2:Diagram fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="Variability2" 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="373:218" size="211:59">
+ <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="eastadl.profile.uml#_dWJ3QF0mEdyp3-f27ERX8A"/>
+ </semanticModel>
+ <anchorage position="391:217" graphEdge="/14/@contained.2"/>
+ <anchorage position="584:247" graphEdge="/14/@contained.4"/>
+ <anchorage position="478:277" graphEdge="/14/@contained.5"/>
+ <anchorage position="478:277" graphEdge="/14/@contained.6"/>
+ </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="271:101" size="168:55">
+ <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="eastadl.profile.uml#_ZMesIF0mEdyp3-f27ERX8A"/>
+ </semanticModel>
+ <anchorage position="341:156" graphEdge="/14/@contained.2"/>
+ <anchorage position="270:106" graphEdge="/14/@contained.13"/>
+ <anchorage position="270:107" graphEdge="/14/@contained.18"/>
+ <anchorage position="439:155" graphEdge="/14/@contained.20"/>
+ <anchorage position="439:130" graphEdge="/14/@contained.22"/>
+ </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="/14/@contained.1/@anchorage.0 /14/@contained.0/@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="1:-38" size="49:26">
+ <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="-60: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="-46:-17" size="16:13">
+ <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="-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" 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="eastadl.profile.uml#_nj3PYEyAEd-NY53ABFLNeA"/>
+ </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="486:296" size="186:67">
+ <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="eastadl.profile.uml#_iUI0MF0mEdyp3-f27ERX8A"/>
+ </semanticModel>
+ <anchorage position="633:295" graphEdge="/14/@contained.4"/>
+ <anchorage position="579:296" graphEdge="/14/@contained.5"/>
+ </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="/14/@contained.3/@anchorage.0 /14/@contained.0/@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="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="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" 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"/>
+ <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="25:-2" size="16:13">
+ <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="-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" 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="eastadl.profile.uml#_YMVEsEyAEd-NY53ABFLNeA"/>
+ </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="/14/@contained.3/@anchorage.1 /14/@contained.0/@anchorage.2">
+ <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="eastadl.profile.uml#_ploZ8F0oEdyp3-f27ERX8A"/>
+ </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="/14/@contained.7/@anchorage.0 /14/@contained.0/@anchorage.3">
+ <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="eastadl.profile.uml#_l00awF0oEdyp3-f27ERX8A"/>
+ </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="244:321" size="225:109">
+ <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="288:361" 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="eastadl.profile.uml#_Q0d7YGEjEdyta4cfhP9jxw"/>
+ </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="408:361" 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="eastadl.profile.uml#_RkmX0GEjEdyta4cfhP9jxw"/>
+ </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="528:361" 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="eastadl.profile.uml#_FMkIQNmBEdyQqcooNZBNQg"/>
+ </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="eastadl.profile.uml#_i-f6-TxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="377:321" graphEdge="/14/@contained.6"/>
+ <anchorage position="244:375" graphEdge="/14/@contained.9"/>
+ <anchorage position="298:320" graphEdge="/14/@contained.11"/>
+ </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="44:321" 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:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ </semanticModel>
+ <anchorage position="144:371" graphEdge="/14/@contained.9"/>
+ <anchorage position="81:320" graphEdge="/14/@contained.12"/>
+ <anchorage position="43:342" graphEdge="/14/@contained.17"/>
+ </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="/14/@contained.7/@anchorage.1 /14/@contained.8/@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="7:-37" size="40:26">
+ <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="-60: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="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" 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" 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="eastadl.profile.uml#_CGXdsEyBEd-NY53ABFLNeA"/>
+ </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="151:185" 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:Stereotype" href="eastadl.profile.uml#_Nt6IkEyBEd-NY53ABFLNeA"/>
+ </semanticModel>
+ <anchorage position="251:235" graphEdge="/14/@contained.11"/>
+ <anchorage position="151:235" graphEdge="/14/@contained.12"/>
+ </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="/14/@contained.7/@anchorage.2 /14/@contained.10/@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="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" 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"/>
+ <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="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" 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" 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="eastadl.profile.uml#_xx4tIEyBEd-NY53ABFLNeA"/>
+ </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="/14/@contained.10/@anchorage.1 /14/@contained.8/@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: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="-32:-47" size="40:26">
+ <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="-60:-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="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" 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="eastadl.profile.uml#_RHukEEyBEd-NY53ABFLNeA"/>
+ </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="/14/@contained.14/@anchorage.0 /14/@contained.1/@anchorage.1">
+ <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="eastadl.profile.uml#_R7cqkEyCEd-NY53ABFLNeA"/>
+ </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="30:104" size="116:56">
+ <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="eastadl.profile.uml#_N-OnEEyCEd-NY53ABFLNeA"/>
+ </semanticModel>
+ <anchorage position="146:139" graphEdge="/14/@contained.13"/>
+ <anchorage position="62:160" graphEdge="/14/@contained.16"/>
+ </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="-63:189" size="148:69">
+ <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="eastadl.profile.uml#_VwCgcNlnEdybgKlxjJEMxQ"/>
+ </semanticModel>
+ <anchorage position="11:188" graphEdge="/14/@contained.16"/>
+ <anchorage position="-21:258" graphEdge="/14/@contained.17"/>
+ </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="/14/@contained.14/@anchorage.1 /14/@contained.15/@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="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" 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"/>
+ <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="-12:-23" size="17:13">
+ <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="-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" 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="eastadl.profile.uml#_TrWh8EyCEd-NY53ABFLNeA"/>
+ </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="/14/@contained.15/@anchorage.1 /14/@contained.8/@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="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="-99:-23" size="94:13">
+ <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:60" 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="-39:-3" size="17:13">
+ <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="40:0" 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="eastadl.profile.uml#_DPDuoEyCEd-NY53ABFLNeA"/>
+ </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="/14/@contained.19/@anchorage.0 /14/@contained.1/@anchorage.2">
+ <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="eastadl.profile.uml#_875VoERgEd65c51kyCKYXg"/>
+ </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="0:31" size="134:50">
+ <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="eastadl.profile.uml#_5E0WYERgEd65c51kyCKYXg"/>
+ </semanticModel>
+ <anchorage position="134:79" graphEdge="/14/@contained.18"/>
+ <anchorage position="134:47" graphEdge="/14/@contained.25"/>
+ </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="/14/@contained.21/@anchorage.0 /14/@contained.1/@anchorage.3">
+ <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="eastadl.profile.uml#_cx5XEEx_Ed-NY53ABFLNeA"/>
+ </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="475:157" size="196:45">
+ <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="eastadl.profile.uml#_XWvV8Ex_Ed-NY53ABFLNeA"/>
+ </semanticModel>
+ <anchorage position="474:170" graphEdge="/14/@contained.20"/>
+ </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="/14/@contained.23/@anchorage.0 /14/@contained.1/@anchorage.4">
+ <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="eastadl.profile.uml#_DCPlMEyDEd-NY53ABFLNeA"/>
+ </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="491:112" size="236:39">
+ <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="eastadl.profile.uml#_jegRoEyCEd-NY53ABFLNeA"/>
+ </semanticModel>
+ <anchorage position="490:124" graphEdge="/14/@contained.22"/>
+ <anchorage position="545:111" graphEdge="/14/@contained.26"/>
+ <anchorage position="618:111" graphEdge="/14/@contained.27"/>
+ </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="306:-19" size="366: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 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="459:62" 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="eastadl.profile.uml#_i-f7CjxIEdyqfK4bFJstMQ"/>
+ </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="eastadl.profile.uml#_i-f7BDxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="305:2" graphEdge="/14/@contained.25"/>
+ <anchorage position="584:81" graphEdge="/14/@contained.26"/>
+ <anchorage position="609:81" graphEdge="/14/@contained.27"/>
+ </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="/14/@contained.19/@anchorage.1 /14/@contained.24/@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="-140:-11" size="109:13">
+ <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="-60: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="-56:18" size="17:13">
+ <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="-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" 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="eastadl.profile.uml#_64KfsEyCEd-NY53ABFLNeA"/>
+ </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="/14/@contained.23/@anchorage.1 /14/@contained.24/@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" 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="-144:3" size="124:26">
+ <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="-40:-40" 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="-5:15" size="16:13">
+ <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="eastadl.profile.uml#_EBn-kEyDEd-NY53ABFLNeA"/>
+ </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="/14/@contained.23/@anchorage.2 /14/@contained.24/@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" 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="51:6" size="90:26">
+ <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="-40:-40" 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="20:15" size="16:13">
+ <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="eastadl.profile.uml#_KNVS4EyDEd-NY53ABFLNeA"/>
+ </semanticModel>
+ </contained>
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_i-WL-TxIEdyqfK4bFJstMQ"/>
+ </owner>
+ </di2:Diagram>
+ <di2:Diagram fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="Variability3" 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="255:235" size="256:99">
+ <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="276:234" 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="eastadl.profile.uml#_i-WMHTxIEdyqfK4bFJstMQ"/>
+ </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="396:234" 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="eastadl.profile.uml#_i-WMJzxIEdyqfK4bFJstMQ"/>
+ </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="eastadl.profile.uml#_i-WMGzxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="288:234" graphEdge="/15/@contained.2"/>
+ <anchorage position="327:334" graphEdge="/15/@contained.12"/>
+ </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="134:20" size="186: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="eastadl.profile.uml#_VwCgcNlnEdybgKlxjJEMxQ"/>
+ </semanticModel>
+ <anchorage position="198:120" graphEdge="/15/@contained.2"/>
+ <anchorage position="147:120" graphEdge="/15/@contained.5"/>
+ <anchorage position="320:62" graphEdge="/15/@contained.7"/>
+ <anchorage position="320:104" graphEdge="/15/@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="/15/@contained.1/@anchorage.0 /15/@contained.0/@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="5:-39" size="71:26">
+ <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="-60: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="-64:-17" size="16:13">
+ <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="-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" 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="eastadl.profile.uml#_go1-oER_Ed6AH8tkUB7w9w"/>
+ </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="590:246" size="208:168">
+ <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="157:124:47" position="739:233" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-WMGDxIEdyqfK4bFJstMQ"/>
+ </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="859:233" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-WMGTxIEdyqfK4bFJstMQ"/>
+ </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="1099:233" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_l0j8UEx9Ed-NY53ABFLNeA"/>
+ </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="1219:233" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_pbjRIEx9Ed-NY53ABFLNeA"/>
+ </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="1339:233" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_rR1dUEx9Ed-NY53ABFLNeA"/>
+ </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="979:233" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-WMGjxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Enumeration" href="eastadl.profile.uml#_wWTBsDxIEdyqfK4bFJstMQ"/>
+ </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="40:215" 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:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ </semanticModel>
+ <anchorage position="104:214" graphEdge="/15/@contained.5"/>
+ <anchorage position="140:265" graphEdge="/15/@contained.18"/>
+ <anchorage position="39:258" graphEdge="/15/@contained.20"/>
+ </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="/15/@contained.1/@anchorage.1 /15/@contained.4/@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="-85:-50" size="94:13">
+ <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="-60: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="-25:-24" size="17:13">
+ <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="-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" 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="eastadl.profile.uml#_DPDuoEyCEd-NY53ABFLNeA"/>
+ </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="423:18" size="256:68">
+ <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="eastadl.profile.uml#_i-f7BDxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="422:56" graphEdge="/15/@contained.7"/>
+ </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="/15/@contained.1/@anchorage.2 /15/@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="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="-85:-32" size="90:26">
+ <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="-60: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="-38:5" size="28:13">
+ <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="-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" 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="eastadl.profile.uml#_qTvpUN4uEdyW6f_GAa5b1w"/>
+ </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="/15/@contained.1/@anchorage.3 /15/@contained.9/@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="-97:6" size="71:26">
+ <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="-60: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="-41:-24" size="28:13">
+ <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="-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" 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="eastadl.profile.uml#_pikrEN4uEdyW6f_GAa5b1w"/>
+ </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="424:107" size="251:71">
+ <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="eastadl.profile.uml#_XWvV8Ex_Ed-NY53ABFLNeA"/>
+ </semanticModel>
+ <anchorage position="423:127" graphEdge="/15/@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">
+ <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:10" 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="0:10" 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:10" 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="0:-15" 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:-15" 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:30" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ </contained>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Association" href="eastadl.profile.uml#_ra7BIER_Ed6AH8tkUB7w9w"/>
+ </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="259:421" size="226: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="eastadl.profile.uml#_29pckF0rEdyp3-f27ERX8A"/>
+ </semanticModel>
+ <anchorage position="330:420" graphEdge="/15/@contained.12"/>
+ <anchorage position="485:454" graphEdge="/15/@contained.15"/>
+ <anchorage position="485:474" graphEdge="/15/@contained.14"/>
+ <anchorage position="259:471" graphEdge="/15/@contained.17"/>
+ <anchorage position="265:420" graphEdge="/15/@contained.18"/>
+ </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="/15/@contained.0/@anchorage.1 /15/@contained.11/@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" 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="17:-53" size="76:39">
+ <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="-60: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="-40:-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="60:-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="eastadl.profile.uml#_oNZhUEyQEd-4NtQ6SoVDcg"/>
+ </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="567:444" size="291: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 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="659:379" 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="eastadl.profile.uml#_i-f7hjxIEdyqfK4bFJstMQ"/>
+ </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="eastadl.profile.uml#_i-f7hTxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="566:476" graphEdge="/15/@contained.15"/>
+ <anchorage position="566:502" graphEdge="/15/@contained.14"/>
+ </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="/15/@contained.11/@anchorage.2 /15/@contained.13/@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="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="-66:10" size="93:26">
+ <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="-60: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="-33:34" size="28:13">
+ <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="-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" 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="eastadl.profile.uml#_qBekgEyEEd-NY53ABFLNeA"/>
+ </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="/15/@contained.11/@anchorage.1 /15/@contained.13/@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="-60:-60" size="85:26">
+ <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="-60: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="-41:-23" size="16:13">
+ <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="-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" 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="eastadl.profile.uml#_whGTUEyEEd-NY53ABFLNeA"/>
+ </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="-57:415" 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 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="49:375" 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="eastadl.profile.uml#_geeOwGEmEdyta4cfhP9jxw"/>
+ </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="169:375" 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="eastadl.profile.uml#_kEsukGEmEdyta4cfhP9jxw"/>
+ </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="eastadl.profile.uml#_i-WP9TxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="163:465" graphEdge="/15/@contained.17"/>
+ </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="/15/@contained.11/@anchorage.3 /15/@contained.16/@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="-1:-38" size="100:26">
+ <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="-60: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="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" 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" 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="eastadl.profile.uml#_2tSIwEyEEd-NY53ABFLNeA"/>
+ </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="/15/@contained.11/@anchorage.4 /15/@contained.4/@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" 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="25:3" size="76:13">
+ <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="-40:-40" 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="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" 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="eastadl.profile.uml#_-KdE8EyEEd-NY53ABFLNeA"/>
+ </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="-47:325" size="145:76">
+ <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="eastadl.profile.uml#_R9vCMEyFEd-NY53ABFLNeA"/>
+ </semanticModel>
+ <anchorage position="-26:324" graphEdge="/15/@contained.20"/>
+ </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="/15/@contained.19/@anchorage.0 /15/@contained.4/@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="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="-95:-21" size="72:13">
+ <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="-60: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="-69:2" size="17:13">
+ <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="-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" 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="eastadl.profile.uml#_YgvcMEyFEd-NY53ABFLNeA"/>
+ </semanticModel>
+ </contained>
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_i-WL-TxIEdyqfK4bFJstMQ"/>
+ </owner>
+ </di2:Diagram>
+ <di2:Diagram fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="FeatureModeling" 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="649:130" size="149:147">
+ <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="157:124:47" position="751:169" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-WMGDxIEdyqfK4bFJstMQ"/>
+ </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="871:169" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-WMGTxIEdyqfK4bFJstMQ"/>
+ </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="991:169" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-WMGjxIEdyqfK4bFJstMQ"/>
+ </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="1111:169" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_l0j8UEx9Ed-NY53ABFLNeA"/>
+ </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="1231:169" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_pbjRIEx9Ed-NY53ABFLNeA"/>
+ </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="1351:169" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_rR1dUEx9Ed-NY53ABFLNeA"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Enumeration" href="eastadl.profile.uml#_wWTBsDxIEdyqfK4bFJstMQ"/>
+ </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="111:206" size="179: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 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="228:246" 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="eastadl.profile.uml#_Zei6QF0rEdyp3-f27ERX8A"/>
+ </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="eastadl.profile.uml#_i-f7LjxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="231:205" graphEdge="/16/@contained.3"/>
+ <anchorage position="290:256" graphEdge="/16/@contained.5"/>
+ <anchorage position="290:228" graphEdge="/16/@contained.6"/>
+ <anchorage position="290:293" graphEdge="/16/@contained.10"/>
+ <anchorage position="237:306" graphEdge="/16/@contained.9"/>
+ <anchorage position="200:206" graphEdge="/16/@contained.15"/>
+ <anchorage position="165:306" graphEdge="/16/@contained.17"/>
+ <anchorage position="221:205" graphEdge="/16/@contained.18"/>
+ <anchorage position="110:211" graphEdge="/16/@contained.19"/>
+ </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="220:20" size="252: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 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="238:57" 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="eastadl.profile.uml#_i-f7CjxIEdyqfK4bFJstMQ"/>
+ </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="eastadl.profile.uml#_i-f7BDxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="245:120" graphEdge="/16/@contained.3"/>
+ <anchorage position="290:120" graphEdge="/16/@contained.7"/>
+ <anchorage position="472:44" graphEdge="/16/@contained.21"/>
+ </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="/16/@contained.2/@anchorage.0 /16/@contained.1/@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="10:-39" size="58:26">
+ <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="-60: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="-26:-31" size="16:13">
+ <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="-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" 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="eastadl.profile.uml#_APxDQEyTEd-4NtQ6SoVDcg"/>
+ </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="390:206" size="219: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 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="425:244" 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="eastadl.profile.uml#_i-f7GjxIEdyqfK4bFJstMQ"/>
+ </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="545:244" 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="eastadl.profile.uml#_i-f7JDxIEdyqfK4bFJstMQ"/>
+ </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="665:244" 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="eastadl.profile.uml#_OUY_IEyUEd-4NtQ6SoVDcg"/>
+ </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="eastadl.profile.uml#_i-f7GDxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="390:256" graphEdge="/16/@contained.5"/>
+ <anchorage position="389:229" graphEdge="/16/@contained.6"/>
+ <anchorage position="460:205" graphEdge="/16/@contained.7"/>
+ </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="/16/@contained.4/@anchorage.0 /16/@contained.1/@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="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="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" 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"/>
+ <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="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" 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" 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="eastadl.profile.uml#_lJPFYEyTEd-4NtQ6SoVDcg"/>
+ </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="/16/@contained.4/@anchorage.1 /16/@contained.1/@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="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="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" 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"/>
+ <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="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" 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" 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="eastadl.profile.uml#_lrh6IEyTEd-4NtQ6SoVDcg"/>
+ </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="/16/@contained.2/@anchorage.1 /16/@contained.4/@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="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="-40:-60" 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" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:60" 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="-41:-17" size="16:13">
+ <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="40:0" 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="eastadl.profile.uml#_8PXTcEyTEd-4NtQ6SoVDcg"/>
+ </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="387:328" size="304: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 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="447:362" 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="eastadl.profile.uml#_i-f7hjxIEdyqfK4bFJstMQ"/>
+ </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="eastadl.profile.uml#_i-f7hTxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="386:362" graphEdge="/16/@contained.10"/>
+ <anchorage position="386:409" graphEdge="/16/@contained.9"/>
+ </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="/16/@contained.1/@anchorage.4 /16/@contained.8/@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="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="-129:-23" size="85:13">
+ <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="-60: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="-47:3" size="17:13">
+ <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="-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" 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="eastadl.profile.uml#_loZA8F0rEdyp3-f27ERX8A"/>
+ </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="/16/@contained.1/@anchorage.3 /16/@contained.8/@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="-75:-47" size="93:13">
+ <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="-60: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="-51:-21" size="28:13">
+ <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="-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" 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="eastadl.profile.uml#_l_CmYF0rEdyp3-f27ERX8A"/>
+ </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="723:322" size="152:144">
+ <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="157:124:47" position="777:370" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-f7gDxIEdyqfK4bFJstMQ"/>
+ </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="897:370" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-f7gTxIEdyqfK4bFJstMQ"/>
+ </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="1017:370" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-f7gjxIEdyqfK4bFJstMQ"/>
+ </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="1137:370" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-f7gzxIEdyqfK4bFJstMQ"/>
+ </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="1257:370" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-f7hDxIEdyqfK4bFJstMQ"/>
+ </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="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_YFsosEy2Ed-ROfa87c_f9w"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Enumeration" href="eastadl.profile.uml#_wXMZkDxIEdyqfK4bFJstMQ"/>
+ </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="/16/@contained.13/@anchorage.0 /16/@contained.14/@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="eastadl.profile.uml#_i-f7KjxIEdyqfK4bFJstMQ"/>
+ </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="-185:213" size="237: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 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="56:244" 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="eastadl.profile.uml#_QvvXEF0rEdyp3-f27ERX8A"/>
+ </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="eastadl.profile.uml#_i-f7KTxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="-135:213" graphEdge="/16/@contained.12"/>
+ <anchorage position="52:279" graphEdge="/16/@contained.19"/>
+ </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="19:64" 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:Stereotype" href="eastadl.profile.uml#_i-f7AzxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="69:164" graphEdge="/16/@contained.12"/>
+ <anchorage position="69:164" graphEdge="/16/@contained.15"/>
+ <anchorage position="119:114" graphEdge="/16/@contained.18"/>
+ </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="/16/@contained.1/@anchorage.5 /16/@contained.14/@anchorage.1">
+ <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="eastadl.profile.uml#_i-f7LzxIEdyqfK4bFJstMQ"/>
+ </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="102:344" 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:Stereotype" href="eastadl.profile.uml#_neBgQEuHEd-N_MlgLCZ6zw"/>
+ </semanticModel>
+ <anchorage position="147:343" graphEdge="/16/@contained.17"/>
+ </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="/16/@contained.1/@anchorage.6 /16/@contained.16/@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="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" 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"/>
+ <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="68:-4" size="16:13">
+ <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="-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" 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="eastadl.profile.uml#_54SZcEy2Ed-ROfa87c_f9w"/>
+ </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="/16/@contained.1/@anchorage.7 /16/@contained.14/@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" 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="36:-6" size="51:26">
+ <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="-40:-40" 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="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" 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="eastadl.profile.uml#_KAi2cEy3Ed-ROfa87c_f9w"/>
+ </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="/16/@contained.13/@anchorage.1 /16/@contained.1/@anchorage.8">
+ <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="-60: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" 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="eastadl.profile.uml#_b87jgEy3Ed-ROfa87c_f9w"/>
+ </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="607:21" size="142: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 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="700:59" 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="eastadl.profile.uml#_1fD58Ey3Ed-ROfa87c_f9w"/>
+ </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="eastadl.profile.uml#_y4zCUEy3Ed-ROfa87c_f9w"/>
+ </semanticModel>
+ <anchorage position="606:44" graphEdge="/16/@contained.21"/>
+ </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="/16/@contained.2/@anchorage.2 /16/@contained.20/@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="-82:-36" size="82:26">
+ <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="-60: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="-31:20" size="16:13">
+ <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="-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" 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="eastadl.profile.uml#_5WdpUEy3Ed-ROfa87c_f9w"/>
+ </semanticModel>
+ </contained>
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_i-f62DxIEdyqfK4bFJstMQ"/>
+ </owner>
+ </di2:Diagram>
+ <di2:Diagram fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="VehicleFeatureModeling" 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="205:18" size="339: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 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="244:55" 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="eastadl.profile.uml#_i-f62zxIEdyqfK4bFJstMQ"/>
+ </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="364:55" 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="eastadl.profile.uml#_i-f64DxIEdyqfK4bFJstMQ"/>
+ </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="484:55" 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="eastadl.profile.uml#_i-f65TxIEdyqfK4bFJstMQ"/>
+ </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="eastadl.profile.uml#_i-f62TxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="253:118" graphEdge="/17/@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="162:172" size="408:248">
+ <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="236:267" 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="eastadl.profile.uml#_i-f7STxIEdyqfK4bFJstMQ"/>
+ </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="356:267" 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="eastadl.profile.uml#_i-f7TjxIEdyqfK4bFJstMQ"/>
+ </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="476:267" 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="eastadl.profile.uml#_i-f7UzxIEdyqfK4bFJstMQ"/>
+ </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="596:267" 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="eastadl.profile.uml#_i-f7WDxIEdyqfK4bFJstMQ"/>
+ </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="716:267" 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="eastadl.profile.uml#_i-f7XTxIEdyqfK4bFJstMQ"/>
+ </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="836:267" 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="eastadl.profile.uml#_i-f7YjxIEdyqfK4bFJstMQ"/>
+ </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="956:267" 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="eastadl.profile.uml#_i-f7ZzxIEdyqfK4bFJstMQ"/>
+ </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="1076:267" 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="eastadl.profile.uml#_i-f7bDxIEdyqfK4bFJstMQ"/>
+ </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="1196:267" 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="eastadl.profile.uml#_i-f7cTxIEdyqfK4bFJstMQ"/>
+ </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="eastadl.profile.uml#_i-f7SDxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="253:171" graphEdge="/17/@contained.2"/>
+ </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="/17/@contained.1/@anchorage.0 /17/@contained.0/@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="-60:1" size="40:26">
+ <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="21:-22" size="97:26">
+ <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="13:5" size="17:13">
+ <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="-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" 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="eastadl.profile.uml#_i-f75zxIEdyqfK4bFJstMQ"/>
+ </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="633:191" size="166:174">
+ <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="157:124:47" position="689:241" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-f7QzxIEdyqfK4bFJstMQ"/>
+ </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="929:241" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-f7RTxIEdyqfK4bFJstMQ"/>
+ </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="1049:241" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-f7RjxIEdyqfK4bFJstMQ"/>
+ </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="809:241" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-f7RDxIEdyqfK4bFJstMQ"/>
+ </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="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_DOwcwEy7Ed-bsfu6wFsxNQ"/>
+ </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="1169:241" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-f7RzxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Enumeration" href="eastadl.profile.uml#_wW43kDxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ </contained>
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_VtDYsNl5EdyxEqZvsyllRw"/>
+ </owner>
+ </di2:Diagram>
+ <di2:Diagram fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="FunctionModeling" 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="20:20" size="184: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 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="56:56" 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="eastadl.profile.uml#_i-f6LTxIEdyqfK4bFJstMQ"/>
+ </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="eastadl.profile.uml#_i-f6JDxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="204:70" graphEdge="/18/@contained.2"/>
+ <anchorage position="204:37" graphEdge="/18/@contained.7"/>
+ <anchorage position="204:55" graphEdge="/18/@contained.9"/>
+ <anchorage position="112:120" graphEdge="/18/@contained.10"/>
+ <anchorage position="166:120" graphEdge="/18/@contained.44"/>
+ </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="313:164" size="147:71">
+ <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="eastadl.profile.uml#_i-f6UzxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="313:214" graphEdge="/18/@contained.2"/>
+ <anchorage position="338:163" graphEdge="/18/@contained.4"/>
+ <anchorage position="460:202" graphEdge="/18/@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="/18/@contained.1/@anchorage.0 /18/@contained.0/@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" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="121:-36" size="83:26">
+ <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="-56:6" size="46:39">
+ <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"/>
+ </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" 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="eastadl.profile.uml#_i-f6wzxIEdyqfK4bFJstMQ"/>
+ </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="306:62" size="141:65">
+ <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="eastadl.profile.uml#_i-f6XjxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="337:127" graphEdge="/18/@contained.4"/>
+ <anchorage position="305:80" graphEdge="/18/@contained.9"/>
+ <anchorage position="447:78" graphEdge="/18/@contained.37"/>
+ <anchorage position="447:122" graphEdge="/18/@contained.45"/>
+ <anchorage position="447:91" graphEdge="/18/@contained.46"/>
+ </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="/18/@contained.1/@anchorage.1 /18/@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" 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="25:-41" size="46:39">
+ <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"/>
+ </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="-49:-20" size="28:13">
+ <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="eastadl.profile.uml#_i-f6xzxIEdyqfK4bFJstMQ"/>
+ </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="490:7" 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:Stereotype" href="eastadl.profile.uml#_i-WQDjxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="534:107" graphEdge="/18/@contained.6"/>
+ <anchorage position="489:25" graphEdge="/18/@contained.7"/>
+ <anchorage position="590:57" graphEdge="/18/@contained.8"/>
+ <anchorage position="590:21" graphEdge="/18/@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="/18/@contained.1/@anchorage.2 /18/@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" 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="13:4" size="46:39">
+ <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"/>
+ </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="26:-19" size="27:13">
+ <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="eastadl.profile.uml#_i-f6pzxIEdyqfK4bFJstMQ"/>
+ </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="/18/@contained.0/@anchorage.1 /18/@contained.5/@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="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="-107:-15" size="55:39">
+ <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="eastadl.profile.uml#_kNvs0No7EdyZhJLkuCfQrA"/>
+ </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="/18/@contained.5/@anchorage.3 /18/@contained.5/@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="0:10" 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="0:10" 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" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="0:10" 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="0:-15" 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:-15" 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: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:Association" href="eastadl.profile.uml#_NA6ZEE0YEd-bZ5L3ZgEOlA"/>
+ </semanticModel>
+ <waypoints>668:19</waypoints>
+ <waypoints>667:58</waypoints>
+ </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="/18/@contained.0/@anchorage.2 /18/@contained.3/@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="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="-60: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" 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="eastadl.profile.uml#_io6uME0WEd-bZ5L3ZgEOlA"/>
+ </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="/18/@contained.11/@anchorage.0 /18/@contained.0/@anchorage.3">
+ <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="eastadl.profile.uml#_hsMVUE0YEd-bZ5L3ZgEOlA"/>
+ </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="-50:296" size="151:61">
+ <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="eastadl.profile.uml#_eaRRkE0YEd-bZ5L3ZgEOlA"/>
+ </semanticModel>
+ <anchorage position="0:296" graphEdge="/18/@contained.10"/>
+ <anchorage position="25:357" graphEdge="/18/@contained.12"/>
+ <anchorage position="101:338" graphEdge="/18/@contained.15"/>
+ <anchorage position="101:326" graphEdge="/18/@contained.18"/>
+ </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="/18/@contained.13/@anchorage.0 /18/@contained.11/@anchorage.1">
+ <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="eastadl.profile.uml#_i-WP-TxIEdyqfK4bFJstMQ"/>
+ </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="-69:385" size="174:64">
+ <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="eastadl.profile.uml#_i-WP-DxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="-19:385" graphEdge="/18/@contained.12"/>
+ </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="194:298" size="165:69">
+ <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="eastadl.profile.uml#_yptUcE0aEd-bZ5L3ZgEOlA"/>
+ </semanticModel>
+ <anchorage position="193:340" graphEdge="/18/@contained.15"/>
+ <anchorage position="359:334" graphEdge="/18/@contained.16"/>
+ <anchorage position="194:332" graphEdge="/18/@contained.18"/>
+ </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="/18/@contained.11/@anchorage.2 /18/@contained.14/@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="-49:27" size="46:39">
+ <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="-60: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="-25:9" size="16:13">
+ <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="-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" 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="eastadl.profile.uml#_T2ykYE0bEd-bZ5L3ZgEOlA"/>
+ </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="/18/@contained.14/@anchorage.1 /18/@contained.17/@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="eastadl.profile.uml#_9wsP8E0aEd-bZ5L3ZgEOlA"/>
+ </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="421:254" size="160:54">
+ <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="eastadl.profile.uml#_i-f6TTxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="471:308" graphEdge="/18/@contained.16"/>
+ <anchorage position="501:308" graphEdge="/18/@contained.19"/>
+ <anchorage position="547:253" graphEdge="/18/@contained.45"/>
+ <anchorage position="573:253" graphEdge="/18/@contained.46"/>
+ </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="/18/@contained.14/@anchorage.2 /18/@contained.11/@anchorage.3">
+ <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="14:-40" size="46:26">
+ <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="-60: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="63:-30" size="17:13">
+ <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="-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" 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="eastadl.profile.uml#_fXtp4E0bEd-bZ5L3ZgEOlA"/>
+ </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="/18/@contained.20/@anchorage.0 /18/@contained.17/@anchorage.1">
+ <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="eastadl.profile.uml#_YnT3oE0cEd-bZ5L3ZgEOlA"/>
+ </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="470:325" size="184:56">
+ <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="eastadl.profile.uml#_TGIuEE0cEd-bZ5L3ZgEOlA"/>
+ </semanticModel>
+ <anchorage position="520:325" graphEdge="/18/@contained.19"/>
+ <anchorage position="517:381" graphEdge="/18/@contained.22"/>
+ <anchorage position="470:353" graphEdge="/18/@contained.23"/>
+ <anchorage position="654:353" graphEdge="/18/@contained.31"/>
+ <anchorage position="637:324" graphEdge="/18/@contained.36"/>
+ </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="273:398" size="165:76">
+ <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="eastadl.profile.uml#_Y-pWYE0YEd-bZ5L3ZgEOlA"/>
+ </semanticModel>
+ <anchorage position="438:423" graphEdge="/18/@contained.22"/>
+ <anchorage position="407:397" graphEdge="/18/@contained.23"/>
+ <anchorage position="355:474" graphEdge="/18/@contained.24"/>
+ <anchorage position="355:474" graphEdge="/18/@contained.26"/>
+ <anchorage position="355:474" graphEdge="/18/@contained.28"/>
+ <anchorage position="438:436" graphEdge="/18/@contained.32"/>
+ <anchorage position="306:397" graphEdge="/18/@contained.44"/>
+ </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="/18/@contained.21/@anchorage.0 /18/@contained.20/@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="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="-15:15" size="46:39">
+ <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="-60: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="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" 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" 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="eastadl.profile.uml#_baKZwE0cEd-bZ5L3ZgEOlA"/>
+ </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="/18/@contained.20/@anchorage.2 /18/@contained.21/@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="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="-43:-42" size="96:26">
+ <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="-60: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="-55:-16" size="16:13">
+ <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="-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" 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="eastadl.profile.uml#_ozB4UE0cEd-bZ5L3ZgEOlA"/>
+ </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="/18/@contained.25/@anchorage.0 /18/@contained.21/@anchorage.2">
+ <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="eastadl.profile.uml#_Zb_HwE0aEd-bZ5L3ZgEOlA"/>
+ </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="132:504" size="154:61">
+ <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="eastadl.profile.uml#_V-jXkE0aEd-bZ5L3ZgEOlA"/>
+ </semanticModel>
+ <anchorage position="236:504" graphEdge="/18/@contained.24"/>
+ </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="/18/@contained.27/@anchorage.0 /18/@contained.21/@anchorage.3">
+ <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="eastadl.profile.uml#_jPTb8E0aEd-bZ5L3ZgEOlA"/>
+ </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="542:493" size="169:64">
+ <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="eastadl.profile.uml#_f8KQME0aEd-bZ5L3ZgEOlA"/>
+ </semanticModel>
+ <anchorage position="592:493" graphEdge="/18/@contained.26"/>
+ <anchorage position="711:518" graphEdge="/18/@contained.34"/>
+ </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="/18/@contained.29/@anchorage.0 /18/@contained.21/@anchorage.4">
+ <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="eastadl.profile.uml#_i-WP9zxIEdyqfK4bFJstMQ"/>
+ </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="359:514" size="182:66">
+ <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="eastadl.profile.uml#_i-WP9jxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="409:514" graphEdge="/18/@contained.28"/>
+ </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="709:335" size="193: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="eastadl.profile.uml#_ELRQUExjEd-SDeUiu9LLYg"/>
+ </semanticModel>
+ <anchorage position="708:354" graphEdge="/18/@contained.31"/>
+ <anchorage position="708:423" graphEdge="/18/@contained.32"/>
+ </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="/18/@contained.30/@anchorage.0 /18/@contained.20/@anchorage.3">
+ <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="-39:-46" size="138:13">
+ <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="-60: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="6:-18" size="28:13">
+ <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="-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" 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="eastadl.profile.uml#_4m_gUE0cEd-bZ5L3ZgEOlA"/>
+ </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="/18/@contained.30/@anchorage.1 /18/@contained.21/@anchorage.5">
+ <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="35:4" size="118:13">
+ <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="-60: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="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" 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" 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="eastadl.profile.uml#_8E38cE0cEd-bZ5L3ZgEOlA"/>
+ </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="761:473" size="140:79">
+ <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="eastadl.profile.uml#_4NgjAHJVEdyx6oOkwavytg"/>
+ </semanticModel>
+ <anchorage position="760:516" graphEdge="/18/@contained.34"/>
+ </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="/18/@contained.27/@anchorage.1 /18/@contained.33/@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="-81:-44" size="94:13">
+ <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="-60: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="-29:-21" size="28:13">
+ <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="-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" 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="eastadl.profile.uml#_sIGooE0aEd-bZ5L3ZgEOlA"/>
+ </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="622:164" size="174:62">
+ <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="eastadl.profile.uml#_i-WLwzxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="643:226" graphEdge="/18/@contained.36"/>
+ <anchorage position="621:171" graphEdge="/18/@contained.37"/>
+ <anchorage position="686:163" graphEdge="/18/@contained.41"/>
+ <anchorage position="750:163" graphEdge="/18/@contained.47"/>
+ </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="/18/@contained.20/@anchorage.4 /18/@contained.35/@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="eastadl.profile.uml#_K1JLcE0gEd-upcklZdNpWw"/>
+ </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="/18/@contained.3/@anchorage.2 /18/@contained.35/@anchorage.1">
+ <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="eastadl.profile.uml#_M813wE0gEd-upcklZdNpWw"/>
+ </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="738:-3" size="147:60">
+ <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="eastadl.profile.uml#_SL9oAE0gEd-upcklZdNpWw"/>
+ </semanticModel>
+ <anchorage position="829:57" graphEdge="/18/@contained.40"/>
+ </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="780:107" size="144:67">
+ <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="eastadl.profile.uml#_i-WLuDxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="829:106" graphEdge="/18/@contained.40"/>
+ <anchorage position="924:130" graphEdge="/18/@contained.43"/>
+ <anchorage position="779:128" graphEdge="/18/@contained.41"/>
+ <anchorage position="779:131" graphEdge="/18/@contained.47"/>
+ <anchorage position="924:126" graphEdge="/18/@contained.48"/>
+ </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="/18/@contained.38/@anchorage.0 /18/@contained.39/@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" 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="15:-34" size="84:13">
+ <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="-40:-40" 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="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" 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="eastadl.profile.uml#_kDRAwE0gEd-upcklZdNpWw"/>
+ </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="/18/@contained.39/@anchorage.2 /18/@contained.35/@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="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="-46:-34" size="81:13">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <property key="custom_disp" value="1166"/>
+ <property key="PropStereoDisplay" value="Ecore::EReference"/>
+ </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="-60: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="39:-36" size="17:13">
+ <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="-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" 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="eastadl.profile.uml#_u--lANdvEd6hwb99h1VVPA"/>
+ </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="857:208" size="190:87">
+ <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="eastadl.profile.uml#_E2zwwNdsEd6hwb99h1VVPA"/>
+ </semanticModel>
+ <anchorage position="965:207" graphEdge="/18/@contained.43"/>
+ <anchorage position="907:207" graphEdge="/18/@contained.48"/>
+ </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="/18/@contained.39/@anchorage.1 /18/@contained.42/@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="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"/>
+ <property key="PropStereoDisplay" value="Ecore::EReference"/>
+ </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="-60: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="21:-30" size="17:13">
+ <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="-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" 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="eastadl.profile.uml#_ojkWENvGEdyN-KVwISucrA"/>
+ </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="/18/@contained.21/@anchorage.6 /18/@contained.0/@anchorage.4">
+ <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="eastadl.profile.uml#_8KgXcE0pEd-2q5ZoAGcl8Q"/>
+ </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="/18/@contained.3/@anchorage.3 /18/@contained.17/@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="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="-40:-60" 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" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:60" 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="-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" 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="40:0" 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="eastadl.profile.uml#_tKvA4E33Ed-lBeOY4fJiaA"/>
+ </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="/18/@contained.3/@anchorage.4 /18/@contained.17/@anchorage.3">
+ <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="-32:-37" size="68:13">
+ <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:60" 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="-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" 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="40:0" 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="eastadl.profile.uml#_v079UE33Ed-lBeOY4fJiaA"/>
+ </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="/18/@contained.39/@anchorage.3 /18/@contained.35/@anchorage.3">
+ <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="-66:-71" size="104:13">
+ <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="-60: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="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" 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" 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="eastadl.profile.uml#_LXuj8E34Ed-lBeOY4fJiaA"/>
+ </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="/18/@contained.39/@anchorage.4 /18/@contained.42/@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="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="-51:-28" size="58:13">
+ <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:60" 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="-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" 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="40:0" 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="eastadl.profile.uml#_MHFkUE34Ed-lBeOY4fJiaA"/>
+ </semanticModel>
+ </contained>
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_i-WP9DxIEdyqfK4bFJstMQ"/>
+ </owner>
+ </di2:Diagram>
+ <di2:Diagram fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="FunctionModeling2" 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="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="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="eastadl.profile.uml#_i-f6JDxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="120:110" graphEdge="/19/@contained.2"/>
+ <anchorage position="120:62" graphEdge="/19/@contained.4"/>
+ </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="237:142" size="202:82">
+ <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="eastadl.profile.uml#_i-f6UzxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="237:192" graphEdge="/19/@contained.2"/>
+ <anchorage position="315:141" graphEdge="/19/@contained.6"/>
+ <anchorage position="338:224" graphEdge="/19/@contained.9"/>
+ <anchorage position="390:224" graphEdge="/19/@contained.12"/>
+ <anchorage position="367:224" graphEdge="/19/@contained.16"/>
+ </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="/19/@contained.1/@anchorage.0 /19/@contained.0/@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" 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="-53:-81" size="46:39">
+ <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"/>
+ </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" 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="eastadl.profile.uml#_i-f6wzxIEdyqfK4bFJstMQ"/>
+ </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="299:23" size="187:78">
+ <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="eastadl.profile.uml#_i-WQDjxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="298:63" graphEdge="/19/@contained.4"/>
+ <anchorage position="486:62" graphEdge="/19/@contained.5"/>
+ <anchorage position="442:22" graphEdge="/19/@contained.5"/>
+ <anchorage position="354:101" graphEdge="/19/@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="/19/@contained.0/@anchorage.1 /19/@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="-59:-47" size="55:39">
+ <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="-60: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="-27:13" size="16:13">
+ <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="-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" 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="eastadl.profile.uml#_kNvs0No7EdyZhJLkuCfQrA"/>
+ </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="/19/@contained.3/@anchorage.2 /19/@contained.3/@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="0:10" 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="0:10" 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" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="0:10" 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="14:-19" size="16:13">
+ <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:-15" 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: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:Association" href="eastadl.profile.uml#_NA6ZEE0YEd-bZ5L3ZgEOlA"/>
+ </semanticModel>
+ <waypoints>442:3</waypoints>
+ <waypoints>541:4</waypoints>
+ <waypoints>540:62</waypoints>
+ </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="/19/@contained.1/@anchorage.1 /19/@contained.3/@anchorage.3">
+ <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: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="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="44:-38" size="46:39">
+ <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="-40: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="-33:-20" size="27:13">
+ <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="60: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="eastadl.profile.uml#_i-f6pzxIEdyqfK4bFJstMQ"/>
+ </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="679:69" 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 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="732:112" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_NoXHwExhEd-SDeUiu9LLYg"/>
+ </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="852:112" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_OVCnkExhEd-SDeUiu9LLYg"/>
+ </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="972:112" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_PSsioExhEd-SDeUiu9LLYg"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Enumeration" href="eastadl.profile.uml#_L1YHMExhEd-SDeUiu9LLYg"/>
+ </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="573:70" 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 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="654:138" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_YlLaoExhEd-SDeUiu9LLYg"/>
+ </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="774:138" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_Z5eUEExhEd-SDeUiu9LLYg"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Enumeration" href="eastadl.profile.uml#_WBJ-sExhEd-SDeUiu9LLYg"/>
+ </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="/19/@contained.10/@anchorage.0 /19/@contained.1/@anchorage.2">
+ <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="eastadl.profile.uml#_i-f6ITxIEdyqfK4bFJstMQ"/>
+ </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="121:266" size="269:76">
+ <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="222:309" 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="eastadl.profile.uml#_E0A4YE9AEd2eW62kipUStQ"/>
+ </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="eastadl.profile.uml#_i-f6IDxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="219:266" graphEdge="/19/@contained.9"/>
+ </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="538:273" size="258:67">
+ <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="20:20" 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="eastadl.profile.uml#_RAJ_YE0kEd-2q5ZoAGcl8Q"/>
+ </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="eastadl.profile.uml#_i-f6ZjxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="587:340" graphEdge="/19/@contained.14"/>
+ <anchorage position="558:272" graphEdge="/19/@contained.12"/>
+ </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="/19/@contained.11/@anchorage.1 /19/@contained.1/@anchorage.3">
+ <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="eastadl.profile.uml#_nE-98E0jEd-2q5ZoAGcl8Q"/>
+ </semanticModel>
+ <waypoints>444:241</waypoints>
+ </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="556:376" size="210:61">
+ <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="eastadl.profile.uml#_kjDxINodEdyQqcooNZBNQg"/>
+ </semanticModel>
+ <anchorage position="588:375" graphEdge="/19/@contained.14"/>
+ </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="/19/@contained.13/@anchorage.0 /19/@contained.11/@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" 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="-106:-27" size="46:39">
+ <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"/>
+ </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" 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="eastadl.profile.uml#_i-f6yzxIEdyqfK4bFJstMQ"/>
+ </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="146:382" size="184:57">
+ <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="eastadl.profile.uml#_dYHakE0kEd-2q5ZoAGcl8Q"/>
+ </semanticModel>
+ <anchorage position="306:381" graphEdge="/19/@contained.16"/>
+ </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="/19/@contained.15/@anchorage.0 /19/@contained.1/@anchorage.4">
+ <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="eastadl.profile.uml#_gaHzAE0kEd-2q5ZoAGcl8Q"/>
+ </semanticModel>
+ </contained>
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_i-WP9DxIEdyqfK4bFJstMQ"/>
+ </owner>
+ </di2:Diagram>
+ <di2:Diagram fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="HardwareModeling" 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="86:106" size="239:140">
+ <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="eastadl.profile.uml#_4NgjAHJVEdyx6oOkwavytg"/>
+ </semanticModel>
+ <anchorage position="192:246" graphEdge="/20/@contained.11"/>
+ <anchorage position="86:164" graphEdge="/20/@contained.13"/>
+ <anchorage position="85:141" graphEdge="/20/@contained.15"/>
+ <anchorage position="125:105" graphEdge="/20/@contained.19"/>
+ <anchorage position="192:105" graphEdge="/20/@contained.21"/>
+ <anchorage position="236:105" graphEdge="/20/@contained.23"/>
+ <anchorage position="273:246" graphEdge="/20/@contained.7"/>
+ <anchorage position="295:246" graphEdge="/20/@contained.3"/>
+ <anchorage position="325:195" graphEdge="/20/@contained.2"/>
+ <anchorage position="325:134" graphEdge="/20/@contained.25"/>
+ </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="372:261" size="185:74">
+ <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="eastadl.profile.uml#_8mIUgJOQEdyUQMht1ste1A"/>
+ </semanticModel>
+ <anchorage position="371:274" graphEdge="/20/@contained.2"/>
+ <anchorage position="372:298" graphEdge="/20/@contained.3"/>
+ <anchorage position="469:335" graphEdge="/20/@contained.4"/>
+ <anchorage position="371:329" graphEdge="/20/@contained.35"/>
+ <anchorage position="371:317" graphEdge="/20/@contained.36"/>
+ <anchorage position="403:335" graphEdge="/20/@contained.38"/>
+ </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="/20/@contained.0/@anchorage.8 /20/@contained.1/@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="0:-56" size="46:39">
+ <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="-60: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="-38:13" size="16:13">
+ <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="-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" 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="eastadl.profile.uml#_2RQiEJQdEdyUQMht1ste1A"/>
+ </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="/20/@contained.1/@anchorage.1 /20/@contained.0/@anchorage.7">
+ <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="3:29" size="46:26">
+ <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="-60: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="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" 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" 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="eastadl.profile.uml#_23s3AJQdEdyUQMht1ste1A"/>
+ </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="/20/@contained.1/@anchorage.2 /20/@contained.5/@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="eastadl.profile.uml#_OlGbANdsEd6hwb99h1VVPA"/>
+ </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="459:364" size="122:56">
+ <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="eastadl.profile.uml#_E2zwwNdsEd6hwb99h1VVPA"/>
+ </semanticModel>
+ <anchorage position="458:390" graphEdge="/20/@contained.4"/>
+ <anchorage position="458:398" graphEdge="/20/@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="200:367" size="189:95">
+ <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="20:20" 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="eastadl.profile.uml#_6BqhME1hEd-vDMV60hCRBg"/>
+ </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="20:20" 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="eastadl.profile.uml#_Srv1UE1iEd-vDMV60hCRBg"/>
+ </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="eastadl.profile.uml#_sL5rQE1hEd-vDMV60hCRBg"/>
+ </semanticModel>
+ <anchorage position="389:377" graphEdge="/20/@contained.8"/>
+ <anchorage position="235:366" graphEdge="/20/@contained.7"/>
+ <anchorage position="199:396" graphEdge="/20/@contained.37"/>
+ <anchorage position="367:366" graphEdge="/20/@contained.38"/>
+ </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="/20/@contained.0/@anchorage.6 /20/@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="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="-43:-46" size="36:26">
+ <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="eastadl.profile.uml#_zpBkIE1hEd-vDMV60hCRBg"/>
+ </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="/20/@contained.6/@anchorage.0 /20/@contained.5/@anchorage.1">
+ <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="eastadl.profile.uml#_4vcEUE1hEd-vDMV60hCRBg"/>
+ </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="403:434" size="165:115">
+ <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="157:124:47" position="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_CZ3iQE1iEd-vDMV60hCRBg"/>
+ </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="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_EB5QAE1iEd-vDMV60hCRBg"/>
+ </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="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_FydOsE1iEd-vDMV60hCRBg"/>
+ </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="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_HxqtYE1iEd-vDMV60hCRBg"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Enumeration" href="eastadl.profile.uml#_-08qAE1hEd-vDMV60hCRBg"/>
+ </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="-40:370" size="201:108">
+ <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="20:20" 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="eastadl.profile.uml#_qDxrsE1iEd-vDMV60hCRBg"/>
+ </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="eastadl.profile.uml#_2nIbEHJVEdyx6oOkwavytg"/>
+ </semanticModel>
+ <anchorage position="65:369" graphEdge="/20/@contained.11"/>
+ <anchorage position="-40:424" graphEdge="/20/@contained.34"/>
+ <anchorage position="128:369" graphEdge="/20/@contained.35"/>
+ <anchorage position="103:369" graphEdge="/20/@contained.36"/>
+ <anchorage position="161:407" graphEdge="/20/@contained.37"/>
+ </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="/20/@contained.0/@anchorage.0 /20/@contained.10/@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="-46:-40" size="55:26">
+ <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="-60: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="76:-19" size="16:13">
+ <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="-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" 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="eastadl.profile.uml#_jak0sHJXEdyx6oOkwavytg"/>
+ </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="-138:184" size="192: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="20:20" 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="eastadl.profile.uml#_Hb2Y8E1jEd-vDMV60hCRBg"/>
+ </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="20:20" 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="eastadl.profile.uml#_QCZYAE1jEd-vDMV60hCRBg"/>
+ </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="102:236" 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="eastadl.profile.uml#_cKFBANruEdyVwKS9pc8MNQ"/>
+ </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="20:20" 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="eastadl.profile.uml#_fiTbkE1jEd-vDMV60hCRBg"/>
+ </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="41:273" 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="eastadl.profile.uml#_kxuzUNruEdyVwKS9pc8MNQ"/>
+ </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="eastadl.profile.uml#_c7BMwHJWEdyx6oOkwavytg"/>
+ </semanticModel>
+ <anchorage position="54:234" graphEdge="/20/@contained.13"/>
+ <anchorage position="-58:183" graphEdge="/20/@contained.17"/>
+ <anchorage position="-139:202" graphEdge="/20/@contained.31"/>
+ <anchorage position="-139:268" graphEdge="/20/@contained.29"/>
+ <anchorage position="-139:323" graphEdge="/20/@contained.27"/>
+ <anchorage position="-75:344" graphEdge="/20/@contained.34"/>
+ </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="/20/@contained.0/@anchorage.1 /20/@contained.12/@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="-29:-107" size="46:39">
+ <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="-60: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="-2:-57" size="16:13">
+ <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="-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" 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="eastadl.profile.uml#_oxKe4HJXEdyx6oOkwavytg"/>
+ </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="-87:38" 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:Stereotype" href="eastadl.profile.uml#_WcO9AE1lEd-vDMV60hCRBg"/>
+ </semanticModel>
+ <anchorage position="-87:88" graphEdge="/20/@contained.16"/>
+ <anchorage position="13:73" graphEdge="/20/@contained.15"/>
+ <anchorage position="-56:37" graphEdge="/20/@contained.16"/>
+ <anchorage position="-61:138" graphEdge="/20/@contained.17"/>
+ </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="/20/@contained.0/@anchorage.2 /20/@contained.14/@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="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="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" 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"/>
+ <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="22:11" size="16:13">
+ <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="-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" 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="eastadl.profile.uml#_l7_2oE1lEd-vDMV60hCRBg"/>
+ </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="/20/@contained.14/@anchorage.0 /20/@contained.14/@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="0:10" 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="32:-29" size="52:26">
+ <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="0:10" 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="0:-15" 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:-15" 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: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:Association" href="eastadl.profile.uml#_sqHUcE1lEd-vDMV60hCRBg"/>
+ </semanticModel>
+ <waypoints>-112:86</waypoints>
+ <waypoints>-106:14</waypoints>
+ <waypoints>-58:15</waypoints>
+ </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="/20/@contained.14/@anchorage.3 /20/@contained.12/@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" 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="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" 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"/>
+ <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="-40:-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="60:-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="eastadl.profile.uml#_wyvWsE1lEd-vDMV60hCRBg"/>
+ </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="-273:63" size="149: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 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="103:415" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_cMp48E1kEd-vDMV60hCRBg"/>
+ </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="223:415" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_dD5qAE1kEd-vDMV60hCRBg"/>
+ </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="343:415" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_d3QZkE1kEd-vDMV60hCRBg"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Enumeration" href="eastadl.profile.uml#_YR-zIE1kEd-vDMV60hCRBg"/>
+ </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="/20/@contained.20/@anchorage.0 /20/@contained.0/@anchorage.3">
+ <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="eastadl.profile.uml#_A0EsUE1mEd-vDMV60hCRBg"/>
+ </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="101:18" size="75:55">
+ <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="eastadl.profile.uml#_xHtvkHJWEdyx6oOkwavytg"/>
+ </semanticModel>
+ <anchorage position="126:73" graphEdge="/20/@contained.19"/>
+ </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="/20/@contained.22/@anchorage.0 /20/@contained.0/@anchorage.4">
+ <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="eastadl.profile.uml#_8GVx4E1lEd-vDMV60hCRBg"/>
+ </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="178:20" size="65:53">
+ <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="eastadl.profile.uml#_wxEKIHJWEdyx6oOkwavytg"/>
+ </semanticModel>
+ <anchorage position="186:73" graphEdge="/20/@contained.21"/>
+ </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="/20/@contained.24/@anchorage.0 /20/@contained.0/@anchorage.5">
+ <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="eastadl.profile.uml#_zbM_sHJXEdyx6oOkwavytg"/>
+ </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="251:15" size="170:58">
+ <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="575:52" 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="eastadl.profile.uml#_Rm4osJaKEdy9tfphy-LpCA"/>
+ </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="eastadl.profile.uml#_tZcHAHJWEdyx6oOkwavytg"/>
+ </semanticModel>
+ <anchorage position="267:73" graphEdge="/20/@contained.23"/>
+ </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="/20/@contained.26/@anchorage.0 /20/@contained.0/@anchorage.9">
+ <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="eastadl.profile.uml#_zD89UHJXEdyx6oOkwavytg"/>
+ </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="429:67" size="211:128">
+ <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="538:109" 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="eastadl.profile.uml#_c4KCIE1mEd-vDMV60hCRBg"/>
+ </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="658:109" 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="eastadl.profile.uml#_tmhc4E1mEd-vDMV60hCRBg"/>
+ </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="778:109" 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="eastadl.profile.uml#_xRbBUE1mEd-vDMV60hCRBg"/>
+ </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="eastadl.profile.uml#_raCbEHJWEdyx6oOkwavytg"/>
+ </semanticModel>
+ <anchorage position="428:126" graphEdge="/20/@contained.25"/>
+ </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="/20/@contained.28/@anchorage.0 /20/@contained.12/@anchorage.4">
+ <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="eastadl.profile.uml#_5qHZAHJXEdyx6oOkwavytg"/>
+ </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="-271:376" size="171:52">
+ <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="eastadl.profile.uml#_YNQdIHJWEdyx6oOkwavytg"/>
+ </semanticModel>
+ <anchorage position="-221:376" graphEdge="/20/@contained.27"/>
+ </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="/20/@contained.30/@anchorage.0 /20/@contained.12/@anchorage.3">
+ <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="eastadl.profile.uml#_5KrD8HJXEdyx6oOkwavytg"/>
+ </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="-312:288" size="100:58">
+ <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="eastadl.profile.uml#_3h1v0HJVEdyx6oOkwavytg"/>
+ </semanticModel>
+ <anchorage position="-212:311" graphEdge="/20/@contained.29"/>
+ </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="/20/@contained.32/@anchorage.0 /20/@contained.12/@anchorage.2">
+ <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="eastadl.profile.uml#_z8u_cHJXEdyx6oOkwavytg"/>
+ </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="-376:185" size="191:77">
+ <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="72:224" 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="eastadl.profile.uml#_J22w4E1lEd-vDMV60hCRBg"/>
+ </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="eastadl.profile.uml#_3O6z0HJVEdyx6oOkwavytg"/>
+ </semanticModel>
+ <anchorage position="-185:215" graphEdge="/20/@contained.31"/>
+ </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="-381:60" size="100:107">
+ <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="157:124:47" position="78:156" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_9W7sgE1kEd-vDMV60hCRBg"/>
+ </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="198:156" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_-mDyEE1kEd-vDMV60hCRBg"/>
+ </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="318:156" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#__1vRQE1kEd-vDMV60hCRBg"/>
+ </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="438:156" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_BE_SoE1lEd-vDMV60hCRBg"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Enumeration" href="eastadl.profile.uml#_4Mx70E1kEd-vDMV60hCRBg"/>
+ </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="/20/@contained.10/@anchorage.1 /20/@contained.12/@anchorage.5">
+ <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:0" 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="14:14" size="30:13">
+ <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="-14:22" size="17:13">
+ <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>
+ <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="60: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="eastadl.profile.uml#_HpNqEE1kEd-vDMV60hCRBg"/>
+ </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="/20/@contained.10/@anchorage.2 /20/@contained.1/@anchorage.3">
+ <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="-60: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" 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="eastadl.profile.uml#_9D74wE34Ed-lBeOY4fJiaA"/>
+ </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="/20/@contained.10/@anchorage.3 /20/@contained.1/@anchorage.4">
+ <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="-60: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" 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="eastadl.profile.uml#_-73DsE34Ed-lBeOY4fJiaA"/>
+ </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="/20/@contained.6/@anchorage.2 /20/@contained.10/@anchorage.4">
+ <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="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" 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"/>
+ <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="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" 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" 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="eastadl.profile.uml#_KV2awE35Ed-lBeOY4fJiaA"/>
+ </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="/20/@contained.6/@anchorage.3 /20/@contained.1/@anchorage.5">
+ <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:0" 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="-60:-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" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:0" 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="0:-40" 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="60:-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="eastadl.profile.uml#_QN6aUE35Ed-lBeOY4fJiaA"/>
+ </semanticModel>
+ </contained>
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_V5LXIHJVEdyx6oOkwavytg"/>
+ </owner>
+ </di2:Diagram>
+ <di2:Diagram fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="SystemModeling" 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="20:20" size="100:420">
+ <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="eastadl.profile.uml#_i-f8DDxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="120:70" graphEdge="/21/@contained.2"/>
+ <anchorage position="120:163" graphEdge="/21/@contained.4"/>
+ <anchorage position="120:234" graphEdge="/21/@contained.6"/>
+ <anchorage position="120:425" graphEdge="/21/@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="341:18" size="100:67">
+ <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="eastadl.profile.uml#_i-f68DxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="341:68" graphEdge="/21/@contained.2"/>
+ <anchorage position="441:34" graphEdge="/21/@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="/21/@contained.1/@anchorage.0 /21/@contained.0/@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" 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="-92:7" size="95:26">
+ <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"/>
+ </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" 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="eastadl.profile.uml#_i-f8NDxIEdyqfK4bFJstMQ"/>
+ </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="344:132" size="100:61">
+ <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="eastadl.profile.uml#_i-WQBzxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="343:163" graphEdge="/21/@contained.4"/>
+ <anchorage position="444:152" graphEdge="/21/@contained.12"/>
+ </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="/21/@contained.3/@anchorage.0 /21/@contained.0/@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="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" 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="-94:10" size="67:26">
+ <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"/>
+ </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" 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="eastadl.profile.uml#_i-f8LDxIEdyqfK4bFJstMQ"/>
+ </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="345:214" size="100:172">
+ <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="eastadl.profile.uml#_i-WP_zxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="344:232" graphEdge="/21/@contained.6"/>
+ <anchorage position="445:237" graphEdge="/21/@contained.14"/>
+ <anchorage position="445:305" graphEdge="/21/@contained.16"/>
+ <anchorage position="445:359" graphEdge="/21/@contained.18"/>
+ </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="/21/@contained.5/@anchorage.0 /21/@contained.0/@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="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" 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="-76:4" size="60:26">
+ <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"/>
+ </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="-37:-36" size="28:13">
+ <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="eastadl.profile.uml#_i-f8MDxIEdyqfK4bFJstMQ"/>
+ </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="284:389" size="129:71">
+ <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="eastadl.profile.uml#_8tBRQNlNEdyJxdfA1MC2zQ"/>
+ </semanticModel>
+ <anchorage position="284:439" graphEdge="/21/@contained.8"/>
+ <anchorage position="413:413" graphEdge="/21/@contained.20"/>
+ </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="/21/@contained.7/@anchorage.0 /21/@contained.0/@anchorage.3">
+ <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" 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="-99:8" size="94:26">
+ <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"/>
+ </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" 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="eastadl.profile.uml#_i-f8KDxIEdyqfK4bFJstMQ"/>
+ </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="573:17" size="156:68">
+ <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="eastadl.profile.uml#_i-f7BDxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="572:35" graphEdge="/21/@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="/21/@contained.1/@anchorage.1 /21/@contained.9/@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="-101:15" size="103:26">
+ <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="eastadl.profile.uml#_cCRg0E1XEd-MJsqTgbIJyg"/>
+ </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="584:142" size="155:59">
+ <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="eastadl.profile.uml#_yptUcE0aEd-bZ5L3ZgEOlA"/>
+ </semanticModel>
+ <anchorage position="583:155" graphEdge="/21/@contained.12"/>
+ </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="/21/@contained.3/@anchorage.1 /21/@contained.11/@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="-132:17" size="136:13">
+ <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="eastadl.profile.uml#_nvv0kE1XEd-MJsqTgbIJyg"/>
+ </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="589:221" size="160:49">
+ <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="eastadl.profile.uml#_TGIuEE0cEd-bZ5L3ZgEOlA"/>
+ </semanticModel>
+ <anchorage position="588:237" graphEdge="/21/@contained.14"/>
+ </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="/21/@contained.5/@anchorage.1 /21/@contained.13/@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="-126:0" size="129:26">
+ <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="eastadl.profile.uml#_v4TQEE1XEd-MJsqTgbIJyg"/>
+ </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="591:279" size="177:54">
+ <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="eastadl.profile.uml#_8mIUgJOQEdyUQMht1ste1A"/>
+ </semanticModel>
+ <anchorage position="590:304" graphEdge="/21/@contained.16"/>
+ </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="/21/@contained.5/@anchorage.2 /21/@contained.15/@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="-115:18" size="126:26">
+ <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="eastadl.profile.uml#_-m6ZkE1XEd-MJsqTgbIJyg"/>
+ </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="612:351" size="131:43">
+ <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="eastadl.profile.uml#_SL9oAE0gEd-upcklZdNpWw"/>
+ </semanticModel>
+ <anchorage position="611:358" graphEdge="/21/@contained.18"/>
+ </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="/21/@contained.5/@anchorage.3 /21/@contained.17/@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="-60: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" 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="eastadl.profile.uml#_H77BIE1YEd-MJsqTgbIJyg"/>
+ </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="506:390" 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="eastadl.profile.uml#_StRq4E1YEd-MJsqTgbIJyg"/>
+ </semanticModel>
+ <anchorage position="505:411" graphEdge="/21/@contained.20"/>
+ </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="/21/@contained.7/@anchorage.1 /21/@contained.19/@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="-60: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" 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="eastadl.profile.uml#_T8BV8E1YEd-MJsqTgbIJyg"/>
+ </semanticModel>
+ </contained>
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_i-f8CzxIEdyqfK4bFJstMQ"/>
+ </owner>
+ </di2:Diagram>
+ <di2:Diagram fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="VerificationValidation" 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="66:46" size="170:107">
+ <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="eastadl.profile.uml#_2xMw0E1zEd-g_-U9icW-Pw"/>
+ </semanticModel>
+ <anchorage position="236:55" graphEdge="/22/@contained.2"/>
+ <anchorage position="236:132" graphEdge="/22/@contained.4"/>
+ <anchorage position="155:153" graphEdge="/22/@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="367:29" size="174:70">
+ <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="eastadl.profile.uml#_i-WNZzxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="366:56" graphEdge="/22/@contained.2"/>
+ <anchorage position="443:99" graphEdge="/22/@contained.10"/>
+ <anchorage position="541:64" graphEdge="/22/@contained.28"/>
+ </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="/22/@contained.0/@anchorage.0 /22/@contained.1/@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="-46:-29" size="36:26">
+ <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:60" 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="-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" 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="40:0" 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="eastadl.profile.uml#_GZab0E10Ed-g_-U9icW-Pw"/>
+ </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="353:143" size="173:102">
+ <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="eastadl.profile.uml#_Wu2rQJQdEdyUQMht1ste1A"/>
+ </semanticModel>
+ <anchorage position="446:245" graphEdge="/22/@contained.6"/>
+ <anchorage position="399:245" graphEdge="/22/@contained.6"/>
+ <anchorage position="352:194" graphEdge="/22/@contained.9"/>
+ <anchorage position="435:142" graphEdge="/22/@contained.10"/>
+ <anchorage position="526:175" graphEdge="/22/@contained.5"/>
+ <anchorage position="364:245" graphEdge="/22/@contained.19"/>
+ <anchorage position="352:155" graphEdge="/22/@contained.4"/>
+ <anchorage position="526:149" graphEdge="/22/@contained.5"/>
+ <anchorage position="526:217" graphEdge="/22/@contained.12"/>
+ <anchorage position="494:245" graphEdge="/22/@contained.15"/>
+ </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="/22/@contained.0/@anchorage.1 /22/@contained.3/@anchorage.6">
+ <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="-68:-36" size="80:26">
+ <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:60" 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="-73:-1" size="16:13">
+ <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="40:0" 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="eastadl.profile.uml#_ZVMJUE10Ed-g_-U9icW-Pw"/>
+ </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="/22/@contained.3/@anchorage.7 /22/@contained.3/@anchorage.4">
+ <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:10" 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="0:10" 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" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="0:10" 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="48:10" size="16:13">
+ <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:-15" 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: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:Association" href="eastadl.profile.uml#_gm0j4E10Ed-g_-U9icW-Pw"/>
+ </semanticModel>
+ <waypoints>565:149</waypoints>
+ <waypoints>563:178</waypoints>
+ </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="/22/@contained.3/@anchorage.0 /22/@contained.3/@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="0:10" 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="3:32" size="78:13">
+ <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="0:10" 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="10:13" size="28:13">
+ <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:-15" 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: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:Association" href="eastadl.profile.uml#_jsU8QE10Ed-g_-U9icW-Pw"/>
+ </semanticModel>
+ <waypoints>446:272</waypoints>
+ <waypoints>399:272</waypoints>
+ </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="70:206" size="171: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="eastadl.profile.uml#_B-hVYN5XEdyYTuvJlD3q4A"/>
+ </semanticModel>
+ <anchorage position="241:245" graphEdge="/22/@contained.9"/>
+ <anchorage position="241:290" graphEdge="/22/@contained.13"/>
+ <anchorage position="153:205" graphEdge="/22/@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="/22/@contained.0/@anchorage.2 /22/@contained.7/@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" 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="12:-26" size="47:26">
+ <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="-60: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="-40:-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="60:-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="eastadl.profile.uml#_qfZLgE10Ed-g_-U9icW-Pw"/>
+ </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="/22/@contained.3/@anchorage.2 /22/@contained.7/@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="2:-37" size="47:13">
+ <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="-60: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="12:-1" size="27:13">
+ <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="-35:-14" size="28:13">
+ <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="eastadl.profile.uml#_zGgLQE10Ed-g_-U9icW-Pw"/>
+ </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="/22/@contained.3/@anchorage.3 /22/@contained.1/@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="0: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="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="7:-38" size="76:39">
+ <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="-40: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="-40:-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="60: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="eastadl.profile.uml#_i-WLHTxIEdyqfK4bFJstMQ"/>
+ </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="638:182" size="100:123">
+ <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="eastadl.profile.uml#_jM0gUE11Ed-g_-U9icW-Pw"/>
+ </semanticModel>
+ <anchorage position="637:216" graphEdge="/22/@contained.12"/>
+ <anchorage position="637:293" graphEdge="/22/@contained.13"/>
+ </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="/22/@contained.3/@anchorage.8 /22/@contained.11/@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="-60: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" 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="-43:4" size="27:13">
+ <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="eastadl.profile.uml#_j5Z5gE11Ed-g_-U9icW-Pw"/>
+ </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="/22/@contained.7/@anchorage.1 /22/@contained.11/@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="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="-64:1" size="43:13">
+ <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="eastadl.profile.uml#_sB8G4E11Ed-g_-U9icW-Pw"/>
+ </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="448:334" 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:Stereotype" href="eastadl.profile.uml#_a6e-MJQdEdyUQMht1ste1A"/>
+ </semanticModel>
+ <anchorage position="495:333" graphEdge="/22/@contained.15"/>
+ <anchorage position="548:390" graphEdge="/22/@contained.16"/>
+ <anchorage position="548:340" graphEdge="/22/@contained.16"/>
+ <anchorage position="524:434" graphEdge="/22/@contained.17"/>
+ <anchorage position="474:434" graphEdge="/22/@contained.17"/>
+ <anchorage position="447:384" graphEdge="/22/@contained.20"/>
+ <anchorage position="461:434" graphEdge="/22/@contained.25"/>
+ <anchorage position="548:419" graphEdge="/22/@contained.27"/>
+ <anchorage position="548:403" graphEdge="/22/@contained.28"/>
+ </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="/22/@contained.3/@anchorage.9 /22/@contained.14/@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="19:-34" size="63:39">
+ <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="-60: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="-23:-17" size="16:13">
+ <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="-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" 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="eastadl.profile.uml#_iq4v0N5VEdyYTuvJlD3q4A"/>
+ </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="/22/@contained.14/@anchorage.2 /22/@contained.14/@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="0:10" 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="25:-64" size="99:13">
+ <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="0:10" 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="10:-25" size="28:13">
+ <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:-15" 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: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:Association" href="eastadl.profile.uml#_F8Hw8E12Ed-g_-U9icW-Pw"/>
+ </semanticModel>
+ <waypoints>592:339</waypoints>
+ <waypoints>590:391</waypoints>
+ </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="/22/@contained.14/@anchorage.4 /22/@contained.14/@anchorage.3">
+ <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:10" 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="-39:35" size="101:13">
+ <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="0:10" 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="-31:9" size="16:13">
+ <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:-15" 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: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:Association" href="eastadl.profile.uml#_KEQrAE12Ed-g_-U9icW-Pw"/>
+ </semanticModel>
+ <waypoints>474:466</waypoints>
+ <waypoints>523:466</waypoints>
+ </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="216:338" size="135: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 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="132:410" 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="eastadl.profile.uml#_C3sRsN5aEdyYTuvJlD3q4A"/>
+ </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="eastadl.profile.uml#_V4uaAN5XEdyYTuvJlD3q4A"/>
+ </semanticModel>
+ <anchorage position="351:385" graphEdge="/22/@contained.20"/>
+ <anchorage position="216:388" graphEdge="/22/@contained.22"/>
+ <anchorage position="317:337" graphEdge="/22/@contained.19"/>
+ </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="/22/@contained.3/@anchorage.5 /22/@contained.18/@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: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="-12:-48" size="36:13">
+ <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="-60:-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="-27:-45" size="16:13">
+ <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="eastadl.profile.uml#_iva9ME12Ed-g_-U9icW-Pw"/>
+ </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="/22/@contained.18/@anchorage.0 /22/@contained.14/@anchorage.5">
+ <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="-97:15" size="106:13">
+ <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="eastadl.profile.uml#_rhsEEE12Ed-g_-U9icW-Pw"/>
+ </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="-6:424" 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:Stereotype" href="eastadl.profile.uml#_i-WK4jxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="94:474" graphEdge="/22/@contained.22"/>
+ <anchorage position="94:493" graphEdge="/22/@contained.24"/>
+ </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="/22/@contained.18/@anchorage.1 /22/@contained.21/@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="9:-75" size="84:26">
+ <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="-60: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="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" 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" 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="eastadl.profile.uml#_FNU24N5bEdyYTuvJlD3q4A"/>
+ </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="255:468" 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:Stereotype" href="eastadl.profile.uml#_i-WKxDxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="355:486" graphEdge="/22/@contained.25"/>
+ <anchorage position="254:502" graphEdge="/22/@contained.24"/>
+ </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="/22/@contained.21/@anchorage.1 /22/@contained.23/@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="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="-87:-20" size="83:13">
+ <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="-60: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="-41:14" size="28:13">
+ <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="-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" 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="eastadl.profile.uml#_ps4PEN5ZEdyYTuvJlD3q4A"/>
+ </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="/22/@contained.14/@anchorage.6 /22/@contained.23/@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="26:-3" size="94:26">
+ <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="-60: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="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" 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" 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="eastadl.profile.uml#_F43MIE13Ed-g_-U9icW-Pw"/>
+ </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="659:432" 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:Stereotype" href="eastadl.profile.uml#_i-WKuTxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="658:443" graphEdge="/22/@contained.27"/>
+ </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="/22/@contained.14/@anchorage.7 /22/@contained.26/@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="14:-40" size="48:26">
+ <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="-13:-22" size="16:13">
+ <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="eastadl.profile.uml#_9e0ikE13Ed-g_-U9icW-Pw"/>
+ </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="/22/@contained.14/@anchorage.8 /22/@contained.1/@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="0: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="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="74:-29" size="94:26">
+ <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="-40: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="65:-2" size="16:13">
+ <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="60: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="eastadl.profile.uml#_i-WLGTxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <waypoints>768:394</waypoints>
+ <waypoints>770:64</waypoints>
+ </contained>
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_i-WKtDxIEdyqfK4bFJstMQ"/>
+ </owner>
+ </di2:Diagram>
+ <di2:Diagram fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="Requirements" 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="255:57" size="124: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="eastadl.profile.uml#_KvhU4E1-Ed-g_-U9icW-Pw"/>
+ </semanticModel>
+ <anchorage position="379:82" graphEdge="/23/@contained.2"/>
+ <anchorage position="355:157" graphEdge="/23/@contained.4"/>
+ <anchorage position="317:157" graphEdge="/23/@contained.6"/>
+ <anchorage position="254:97" graphEdge="/23/@contained.8"/>
+ <anchorage position="356:56" graphEdge="/23/@contained.31"/>
+ </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="485:57" 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="eastadl.profile.uml#_ZTFE8E1-Ed-g_-U9icW-Pw"/>
+ </semanticModel>
+ <anchorage position="484:68" graphEdge="/23/@contained.2"/>
+ </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="/23/@contained.0/@anchorage.0 /23/@contained.1/@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="-41:-41" size="47:26">
+ <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="eastadl.profile.uml#_Z_lloE1-Ed-g_-U9icW-Pw"/>
+ </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="397:230" size="181:67">
+ <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="eastadl.profile.uml#_DLP58Nu0EdyN-KVwISucrA"/>
+ </semanticModel>
+ <anchorage position="459:229" graphEdge="/23/@contained.4"/>
+ <anchorage position="449:297" graphEdge="/23/@contained.12"/>
+ <anchorage position="505:297" graphEdge="/23/@contained.21"/>
+ <anchorage position="578:251" graphEdge="/23/@contained.23"/>
+ <anchorage position="574:229" graphEdge="/23/@contained.25"/>
+ </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="/23/@contained.0/@anchorage.1 /23/@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="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" 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="5:-31" size="58:26">
+ <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="-60: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="-40:-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="60:-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="eastadl.profile.uml#_oe_1gE1-Ed-g_-U9icW-Pw"/>
+ </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="173:235" size="177:62">
+ <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="eastadl.profile.uml#_kjXpINdsEd6hwb99h1VVPA"/>
+ </semanticModel>
+ <anchorage position="317:234" graphEdge="/23/@contained.6"/>
+ <anchorage position="198:234" graphEdge="/23/@contained.10"/>
+ <anchorage position="249:297" graphEdge="/23/@contained.14"/>
+ <anchorage position="213:297" graphEdge="/23/@contained.15"/>
+ </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="/23/@contained.0/@anchorage.2 /23/@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="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" 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="-43:-34" size="59:26">
+ <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="-60:-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="23:-18" size="16:13">
+ <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="eastadl.profile.uml#_1QqKIE1-Ed-g_-U9icW-Pw"/>
+ </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="29:93" size="156:75">
+ <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="eastadl.profile.uml#_i-WLxDxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="185:107" graphEdge="/23/@contained.8"/>
+ <anchorage position="29:130" graphEdge="/23/@contained.9"/>
+ <anchorage position="47:92" graphEdge="/23/@contained.9"/>
+ <anchorage position="151:168" graphEdge="/23/@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="/23/@contained.0/@anchorage.3 /23/@contained.7/@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="-50:-43" size="98:13">
+ <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="-60: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="2:-29" size="16:13">
+ <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="-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" 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="eastadl.profile.uml#_PkGowE1_Ed-g_-U9icW-Pw"/>
+ </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="/23/@contained.7/@anchorage.1 /23/@contained.7/@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="0:10" 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="12:-56" size="69:39">
+ <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="-14:53" size="76:13">
+ <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="0:-15" 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="-26:23" size="28:13">
+ <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: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:Association" href="eastadl.profile.uml#_jiUmYNdtEd6hwb99h1VVPA"/>
+ </semanticModel>
+ <waypoints>9:130</waypoints>
+ <waypoints>7:66</waypoints>
+ <waypoints>47:66</waypoints>
+ </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="/23/@contained.5/@anchorage.1 /23/@contained.7/@anchorage.3">
+ <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" 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="10:6" size="96:13">
+ <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="-139:-14" size="115:13">
+ <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="33:21" size="27:13">
+ <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="-62:15" size="16:13">
+ <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="eastadl.profile.uml#_tHxTINdsEd6hwb99h1VVPA"/>
+ </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="482:321" size="175:76">
+ <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="20:20" 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="eastadl.profile.uml#_UGHl8E2AEd-g_-U9icW-Pw"/>
+ </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="eastadl.profile.uml#_Hl18QE2AEd-g_-U9icW-Pw"/>
+ </semanticModel>
+ <anchorage position="526:320" graphEdge="/23/@contained.12"/>
+ <anchorage position="573:397" graphEdge="/23/@contained.27"/>
+ <anchorage position="481:343" graphEdge="/23/@contained.32"/>
+ <anchorage position="481:342" graphEdge="/23/@contained.33"/>
+ </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="/23/@contained.11/@anchorage.0 /23/@contained.3/@anchorage.1">
+ <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="eastadl.profile.uml#_N5oOgE2AEd-g_-U9icW-Pw"/>
+ </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="231:344" 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:Stereotype" href="eastadl.profile.uml#_i-WLxjxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="246:343" graphEdge="/23/@contained.14"/>
+ <anchorage position="281:444" graphEdge="/23/@contained.18"/>
+ <anchorage position="331:440" graphEdge="/23/@contained.30"/>
+ <anchorage position="331:359" graphEdge="/23/@contained.32"/>
+ <anchorage position="331:411" graphEdge="/23/@contained.33"/>
+ </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="/23/@contained.13/@anchorage.0 /23/@contained.5/@anchorage.2">
+ <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="eastadl.profile.uml#_k6KK4E2AEd-g_-U9icW-Pw"/>
+ </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="/23/@contained.16/@anchorage.0 /23/@contained.5/@anchorage.3">
+ <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="eastadl.profile.uml#_MWu0ENduEd6hwb99h1VVPA"/>
+ </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="-2:351" size="185:85">
+ <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="eastadl.profile.uml#_GOgRkNduEd6hwb99h1VVPA"/>
+ </semanticModel>
+ <anchorage position="144:350" graphEdge="/23/@contained.15"/>
+ </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="-186:463" size="226:233">
+ <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="157:124:47" position="531:374" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-WLczxIEdyqfK4bFJstMQ"/>
+ </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="411:374" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-WLcjxIEdyqfK4bFJstMQ"/>
+ </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="1131:374" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-WLeTxIEdyqfK4bFJstMQ"/>
+ </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="771:374" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-WLdTxIEdyqfK4bFJstMQ"/>
+ </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="1011:374" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-WLdzxIEdyqfK4bFJstMQ"/>
+ </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="1251:374" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_pkubME9ZEd6hGLXAboHV6A"/>
+ </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="891:374" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-WLdjxIEdyqfK4bFJstMQ"/>
+ </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="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_fh1JYE2CEd-g_-U9icW-Pw"/>
+ </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="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_hf28UE2CEd-g_-U9icW-Pw"/>
+ </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="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_jgPfsE2CEd-g_-U9icW-Pw"/>
+ </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="651:374" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-WLdDxIEdyqfK4bFJstMQ"/>
+ </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="20:20" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_ppG7YE2CEd-g_-U9icW-Pw"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Enumeration" href="eastadl.profile.uml#_wVskwDxIEdyqfK4bFJstMQ"/>
+ </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="/23/@contained.19/@anchorage.0 /23/@contained.13/@anchorage.1">
+ <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="eastadl.profile.uml#_i-WLezxIEdyqfK4bFJstMQ"/>
+ </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="52:486" size="320: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 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="245:303" 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="eastadl.profile.uml#_i-WLfDxIEdyqfK4bFJstMQ"/>
+ </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="eastadl.profile.uml#_i-WLejxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="257:486" graphEdge="/23/@contained.18"/>
+ </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="685:324" 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:Stereotype" href="eastadl.profile.uml#_i-WNczxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="706:323" graphEdge="/23/@contained.21"/>
+ </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="/23/@contained.20/@anchorage.0 /23/@contained.3/@anchorage.2">
+ <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="eastadl.profile.uml#_pVJBEE2DEd-Y0rmHl9ZsQw"/>
+ </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="671:184" 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:Stereotype" href="eastadl.profile.uml#_i-WNfzxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="670:200" graphEdge="/23/@contained.23"/>
+ </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="/23/@contained.22/@anchorage.0 /23/@contained.3/@anchorage.3">
+ <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="eastadl.profile.uml#_X_LlYE2EEd-Y0rmHl9ZsQw"/>
+ </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="681:98" size="117:52">
+ <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="eastadl.profile.uml#_i-WNmDxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="680:122" graphEdge="/23/@contained.25"/>
+ </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="/23/@contained.24/@anchorage.0 /23/@contained.3/@anchorage.4">
+ <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="eastadl.profile.uml#_NIf6QE2FEd-Y0rmHl9ZsQw"/>
+ </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="562:440" size="140:103">
+ <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="eastadl.profile.uml#_RWvvUNu0EdyN-KVwISucrA"/>
+ </semanticModel>
+ <anchorage position="562:491" graphEdge="/23/@contained.27"/>
+ </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="/23/@contained.26/@anchorage.0 /23/@contained.11/@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" 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="13:26" size="41:13">
+ <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="-40:-40" 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="16:5" size="16:13">
+ <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="eastadl.profile.uml#_V7G9QN4jEdyW6f_GAa5b1w"/>
+ </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="639:12" size="160:65">
+ <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="eastadl.profile.uml#_kMhuIFgbEd-SipQLbZtnVw"/>
+ </semanticModel>
+ <anchorage position="638:21" graphEdge="/23/@contained.31"/>
+ </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="396:604" 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:Stereotype" href="eastadl.profile.uml#_1nGm4NjgEd6wXIBypQTswA"/>
+ </semanticModel>
+ <anchorage position="438:603" graphEdge="/23/@contained.30"/>
+ </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="/23/@contained.13/@anchorage.2 /23/@contained.29/@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="-40:-60" 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" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:60" 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="-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" 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="40:0" 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="eastadl.profile.uml#_22bzEFgcEd-SipQLbZtnVw"/>
+ </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="/23/@contained.0/@anchorage.4 /23/@contained.28/@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="-60: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" 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="eastadl.profile.uml#_-2-iEFgcEd-SipQLbZtnVw"/>
+ </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="/23/@contained.11/@anchorage.2 /23/@contained.13/@anchorage.3">
+ <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="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" 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"/>
+ <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="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" 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" 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="eastadl.profile.uml#_uPM4AG9IEd-Nl92aXXxcsg"/>
+ </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="/23/@contained.11/@anchorage.3 /23/@contained.13/@anchorage.4">
+ <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="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" 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"/>
+ <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="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" 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" 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="eastadl.profile.uml#_uwVPIG9IEd-Nl92aXXxcsg"/>
+ </semanticModel>
+ </contained>
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_i-WLPzxIEdyqfK4bFJstMQ"/>
+ </owner>
+ </di2:Diagram>
+ <di2:Diagram fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="Dependability" 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="8:17" size="254: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 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:82" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_2U90UFQLEd6gB7J6eY3lyQ"/>
+ </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="315:82" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_7voGMFQLEd6gB7J6eY3lyQ"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Enumeration" href="eastadl.profile.uml#_zeeIUFQLEd6gB7J6eY3lyQ"/>
+ </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="8:129" size="254:143">
+ <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="157:124:47" position="624:104" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-WLVzxIEdyqfK4bFJstMQ"/>
+ </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="984:104" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-WLWjxIEdyqfK4bFJstMQ"/>
+ </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="864:104" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-WLWTxIEdyqfK4bFJstMQ"/>
+ </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="744:104" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_i-WLWDxIEdyqfK4bFJstMQ"/>
+ </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="1104:104" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_J_haIPK2Ed2GjMX0La-ycQ"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Enumeration" href="eastadl.profile.uml#_wVZp0DxIEdyqfK4bFJstMQ"/>
+ </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="415:19" size="102:112">
+ <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="157:124:47" position="584:275" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_xd2lsPK2Ed2GjMX0La-ycQ"/>
+ </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="704:275" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_y8KWwPK2Ed2GjMX0La-ycQ"/>
+ </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="824:275" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_z01rMPK2Ed2GjMX0La-ycQ"/>
+ </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="944:275" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_1Vp9sPK2Ed2GjMX0La-ycQ"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Enumeration" href="eastadl.profile.uml#_rmGIIPK2Ed2GjMX0La-ycQ"/>
+ </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="531:20" size="147:103">
+ <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="157:124:47" position="277:245" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_6By8sPK2Ed2GjMX0La-ycQ"/>
+ </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="397:245" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_7jc8sPK2Ed2GjMX0La-ycQ"/>
+ </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="517:245" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_87gUwPK2Ed2GjMX0La-ycQ"/>
+ </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="637:245" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_-DJSQPK2Ed2GjMX0La-ycQ"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Enumeration" href="eastadl.profile.uml#_4AsnoPK2Ed2GjMX0La-ycQ"/>
+ </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="271:20" size="135:115">
+ <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="157:124:47" position="524:334" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_0Y-TENdwEd6hwb99h1VVPA"/>
+ </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="164:334" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_Dy4cQPK3Ed2GjMX0La-ycQ"/>
+ </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="284:334" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_GaMcwPK3Ed2GjMX0La-ycQ"/>
+ </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="404:334" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_HXNeoPK3Ed2GjMX0La-ycQ"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Enumeration" href="eastadl.profile.uml#_BIMXoPK3Ed2GjMX0La-ycQ"/>
+ </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="56:321" size="356: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 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="323:366" 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="eastadl.profile.uml#_z6aoAFQMEd6gB7J6eY3lyQ"/>
+ </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="eastadl.profile.uml#_VFFSkFQMEd6gB7J6eY3lyQ"/>
+ </semanticModel>
+ <anchorage position="361:320" graphEdge="/24/@contained.7"/>
+ <anchorage position="412:382" graphEdge="/24/@contained.9"/>
+ <anchorage position="412:343" graphEdge="/24/@contained.12"/>
+ </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="440:189" 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:Stereotype" href="eastadl.profile.uml#_i-f62TxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="439:250" graphEdge="/24/@contained.7"/>
+ </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="/24/@contained.5/@anchorage.0 /24/@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="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="-120:9" size="71:13">
+ <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="eastadl.profile.uml#_iD_3QE2aEd-Nn4upK86kww"/>
+ </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="528:325" 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:Stereotype" href="eastadl.profile.uml#_ZceJkFQMEd6gB7J6eY3lyQ"/>
+ </semanticModel>
+ <anchorage position="628:375" graphEdge="/24/@contained.11"/>
+ <anchorage position="527:381" graphEdge="/24/@contained.9"/>
+ <anchorage position="578:425" graphEdge="/24/@contained.14"/>
+ </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="/24/@contained.5/@anchorage.1 /24/@contained.8/@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="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" 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="12:-16" size="28:13">
+ <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"/>
+ </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="11:6" size="27:13">
+ <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="eastadl.profile.uml#_9tzNoFQMEd6gB7J6eY3lyQ"/>
+ </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="725:325" 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:Stereotype" href="eastadl.profile.uml#_i-WMjTxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="725:375" graphEdge="/24/@contained.11"/>
+ <anchorage position="729:324" graphEdge="/24/@contained.12"/>
+ <anchorage position="752:425" graphEdge="/24/@contained.19"/>
+ </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="/24/@contained.10/@anchorage.0 /24/@contained.8/@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="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" 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"/>
+ <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="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" 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" 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="eastadl.profile.uml#_i5rOYFQNEd6gB7J6eY3lyQ"/>
+ </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="/24/@contained.10/@anchorage.1 /24/@contained.5/@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="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="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" 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"/>
+ <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="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" 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" 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="eastadl.profile.uml#_Y889wE2bEd-Nn4upK86kww"/>
+ </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="443:481" 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:Stereotype" href="eastadl.profile.uml#_i-WLxjxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="495:480" graphEdge="/24/@contained.14"/>
+ <anchorage position="442:523" graphEdge="/24/@contained.18"/>
+ <anchorage position="543:555" graphEdge="/24/@contained.28"/>
+ </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="/24/@contained.8/@anchorage.2 /24/@contained.13/@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" 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="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" 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"/>
+ <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="-40:-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="60:-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="eastadl.profile.uml#_gbAqwE2bEd-Nn4upK86kww"/>
+ </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="193:540" size="180:120">
+ <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="207:319" 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="eastadl.profile.uml#_nptfAE9kEd6AX7OBk0YqTg"/>
+ </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="20:20" 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="eastadl.profile.uml#_AU6mIE2dEd-Nn4upK86kww"/>
+ </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="eastadl.profile.uml#_0GfPYN4mEdyW6f_GAa5b1w"/>
+ </semanticModel>
+ <anchorage position="373:606" graphEdge="/24/@contained.16"/>
+ <anchorage position="342:539" graphEdge="/24/@contained.18"/>
+ <anchorage position="256:660" graphEdge="/24/@contained.26"/>
+ </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="/24/@contained.15/@anchorage.0 /24/@contained.17/@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="-93:13" size="90:13">
+ <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="eastadl.profile.uml#_foazQN4nEdyW6f_GAa5b1w"/>
+ </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="560:579" size="253:151">
+ <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="20:20" 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="eastadl.profile.uml#_iniXQE2cEd-Nn4upK86kww"/>
+ </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="20:20" 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="eastadl.profile.uml#_ogXy4E2cEd-Nn4upK86kww"/>
+ </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="20:20" 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="eastadl.profile.uml#_roA5QE2cEd-Nn4upK86kww"/>
+ </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="20:20" 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="eastadl.profile.uml#_wUa-AE2cEd-Nn4upK86kww"/>
+ </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="20:20" 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="eastadl.profile.uml#_0HfnAE2cEd-Nn4upK86kww"/>
+ </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="eastadl.profile.uml#_7Y5NgE2bEd-Nn4upK86kww"/>
+ </semanticModel>
+ <anchorage position="559:649" graphEdge="/24/@contained.16"/>
+ <anchorage position="727:578" graphEdge="/24/@contained.19"/>
+ <anchorage position="568:730" graphEdge="/24/@contained.20"/>
+ <anchorage position="696:730" graphEdge="/24/@contained.21"/>
+ <anchorage position="559:719" graphEdge="/24/@contained.23"/>
+ <anchorage position="559:715" graphEdge="/24/@contained.25"/>
+ <anchorage position="559:581" graphEdge="/24/@contained.28"/>
+ </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="/24/@contained.15/@anchorage.1 /24/@contained.13/@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="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="-60: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" 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="eastadl.profile.uml#_fMoWoE2cEd-Nn4upK86kww"/>
+ </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="/24/@contained.17/@anchorage.1 /24/@contained.10/@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="0:0" 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="-60:-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" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:0" 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="0:-40" 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="60:-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="eastadl.profile.uml#_4Ua6cE2cEd-Nn4upK86kww"/>
+ </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="/24/@contained.17/@anchorage.2 /24/@contained.27/@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" 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="-32:-33" size="111:13">
+ <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="-60: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="-40:-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="60:-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="eastadl.profile.uml#_NlKUME2dEd-Nn4upK86kww"/>
+ </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="/24/@contained.17/@anchorage.3 /24/@contained.27/@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" 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="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" 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"/>
+ <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="-40:-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="60:-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="eastadl.profile.uml#_OFOUUE2dEd-Nn4upK86kww"/>
+ </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="264:752" 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="eastadl.profile.uml#_P20NwE2dEd-Nn4upK86kww"/>
+ </semanticModel>
+ <anchorage position="364:782" graphEdge="/24/@contained.23"/>
+ </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="/24/@contained.17/@anchorage.4 /24/@contained.22/@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: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="-44:-50" size="129:13">
+ <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="-60:-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="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" 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="eastadl.profile.uml#_Qt-fQE2dEd-Nn4upK86kww"/>
+ </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="50:690" size="186: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="eastadl.profile.uml#_1nGm4NjgEd6wXIBypQTswA"/>
+ </semanticModel>
+ <anchorage position="236:724" graphEdge="/24/@contained.25"/>
+ <anchorage position="233:689" graphEdge="/24/@contained.26"/>
+ </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="/24/@contained.17/@anchorage.5 /24/@contained.24/@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="56:-23" size="71:13">
+ <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="-60: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="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" 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" 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="eastadl.profile.uml#_jHemIE2dEd-Nn4upK86kww"/>
+ </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="/24/@contained.15/@anchorage.2 /24/@contained.24/@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: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="21:-17" size="56:13">
+ <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="-60:-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="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" 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="eastadl.profile.uml#_jpjYcE2dEd-Nn4upK86kww"/>
+ </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="697:792" size="200: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="eastadl.profile.uml#_kMhuIFgbEd-SipQLbZtnVw"/>
+ </semanticModel>
+ <anchorage position="810:791" graphEdge="/24/@contained.21"/>
+ <anchorage position="696:799" graphEdge="/24/@contained.20"/>
+ </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="/24/@contained.17/@anchorage.6 /24/@contained.13/@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" 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="20:7" size="84:13">
+ <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="-40:-40" 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="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" 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="eastadl.profile.uml#_1My6QGztEd-32sTBz6AwMQ"/>
+ </semanticModel>
+ </contained>
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_LJxzMEn1Ed-CwvH3DORXbA"/>
+ </owner>
+ </di2:Diagram>
+ <di2:Diagram fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="SafetyConstraints" 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="228:169" 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:Stereotype" href="eastadl.profile.uml#_CCtiYNd1Ed6hwb99h1VVPA"/>
+ </semanticModel>
+ <anchorage position="328:203" graphEdge="/25/@contained.5"/>
+ <anchorage position="227:209" graphEdge="/25/@contained.7"/>
+ <anchorage position="242:269" graphEdge="/25/@contained.9"/>
+ <anchorage position="290:168" graphEdge="/25/@contained.10"/>
+ </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="212:52" size="212:82">
+ <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="283:106" 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="eastadl.profile.uml#_NFAYAE2eEd-Nn4upK86kww"/>
+ </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="eastadl.profile.uml#_KIrJwE2eEd-Nn4upK86kww"/>
+ </semanticModel>
+ <anchorage position="424:95" graphEdge="/25/@contained.3"/>
+ <anchorage position="285:134" graphEdge="/25/@contained.10"/>
+ </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:94" 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:Stereotype" href="eastadl.profile.uml#_i-WNODxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="515:138" graphEdge="/25/@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="/25/@contained.1/@anchorage.0 /25/@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="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="-42:-53" size="29:13">
+ <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="-60: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="-29:6" size="17:13">
+ <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="-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" 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="eastadl.profile.uml#_dpIRoE2eEd-Nn4upK86kww"/>
+ </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="430:292" size="219: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 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="474:344" 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="eastadl.profile.uml#_tIUwoEuHEd-N_MlgLCZ6zw"/>
+ </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="eastadl.profile.uml#_neBgQEuHEd-N_MlgLCZ6zw"/>
+ </semanticModel>
+ <anchorage position="429:297" graphEdge="/25/@contained.5"/>
+ </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="/25/@contained.0/@anchorage.0 /25/@contained.4/@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="-17:-34" size="79:13">
+ <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:60" 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="-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" 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="40:0" 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="eastadl.profile.uml#_0GDxsE2eEd-Nn4upK86kww"/>
+ </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="11:174" size="171:89">
+ <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="20:20" 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="eastadl.profile.uml#_DthOwE2fEd-Nn4upK86kww"/>
+ </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="eastadl.profile.uml#_BmYjIE2fEd-Nn4upK86kww"/>
+ </semanticModel>
+ <anchorage position="182:209" graphEdge="/25/@contained.7"/>
+ </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="/25/@contained.6/@anchorage.0 /25/@contained.0/@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="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="-60: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" 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="eastadl.profile.uml#_Mmy8kE2fEd-Nn4upK86kww"/>
+ </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="40:294" size="157:140">
+ <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="20:20" 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="eastadl.profile.uml#_YhoW4E2fEd-Nn4upK86kww"/>
+ </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="20:20" 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="eastadl.profile.uml#_bm6s0E2fEd-Nn4upK86kww"/>
+ </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="eastadl.profile.uml#_RJZlEE2fEd-Nn4upK86kww"/>
+ </semanticModel>
+ <anchorage position="197:316" graphEdge="/25/@contained.9"/>
+ </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="/25/@contained.8/@anchorage.0 /25/@contained.0/@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="0:0" 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="-60:-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" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:0" 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="0:-40" 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="60:-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="eastadl.profile.uml#_VobVIE2fEd-Nn4upK86kww"/>
+ </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="/25/@contained.0/@anchorage.3 /25/@contained.1/@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="0:0" 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="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" 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="-40: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="-40:-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="60: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="eastadl.profile.uml#_z-vMQE2fEd-Nn4upK86kww"/>
+ </semanticModel>
+ </contained>
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_bEdtYErpEd-899EX5XYvlQ"/>
+ </owner>
+ </di2:Diagram>
+ <di2:Diagram fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="SafetyRequirement" 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="182:29" 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:Stereotype" href="eastadl.profile.uml#_i-WLxjxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="282:79" graphEdge="/26/@contained.2"/>
+ <anchorage position="236:129" graphEdge="/26/@contained.4"/>
+ <anchorage position="181:79" graphEdge="/26/@contained.6"/>
+ </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="490:22" size="201: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="eastadl.profile.uml#_qtH20N4nEdyW6f_GAa5b1w"/>
+ </semanticModel>
+ <anchorage position="490:72" graphEdge="/26/@contained.2"/>
+ </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="/26/@contained.1/@anchorage.0 /26/@contained.0/@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="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" 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"/>
+ <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="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" 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" 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="eastadl.profile.uml#_6b0SYN4pEdyW6f_GAa5b1w"/>
+ </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="229:218" size="300: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="eastadl.profile.uml#_gj0hAN4mEdyW6f_GAa5b1w"/>
+ </semanticModel>
+ <anchorage position="271:217" graphEdge="/26/@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="/26/@contained.3/@anchorage.0 /26/@contained.0/@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="0:0" 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="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" 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="-40: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="-40:-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="60: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="eastadl.profile.uml#_K3BEME2jEd-Nn4upK86kww"/>
+ </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="-29:185" size="221: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 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="127:286" 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="eastadl.profile.uml#_nptfAE9kEd6AX7OBk0YqTg"/>
+ </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="247:286" 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="eastadl.profile.uml#_AU6mIE2dEd-Nn4upK86kww"/>
+ </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="eastadl.profile.uml#_0GfPYN4mEdyW6f_GAa5b1w"/>
+ </semanticModel>
+ <anchorage position="35:184" graphEdge="/26/@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="/26/@contained.5/@anchorage.0 /26/@contained.0/@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="0:0" 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="-106:11" size="59:13">
+ <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:0" 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="0:-40" 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="60:-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="eastadl.profile.uml#_fMoWoE2cEd-Nn4upK86kww"/>
+ </semanticModel>
+ </contained>
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_ZNvgwN4lEdyW6f_GAa5b1w"/>
+ </owner>
+ </di2:Diagram>
+ <di2:Diagram fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="ErrorModel" 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="17:27" size="641: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 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="151:62" 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="eastadl.profile.uml#_RxL1APN5Ed2Fz7wuW3iPYQ"/>
+ </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="eastadl.profile.uml#_PirykPN4Ed2Fz7wuW3iPYQ"/>
+ </semanticModel>
+ <anchorage position="517:127" graphEdge="/27/@contained.2"/>
+ <anchorage position="336:127" graphEdge="/27/@contained.5"/>
+ <anchorage position="68:127" graphEdge="/27/@contained.7"/>
+ <anchorage position="121:127" graphEdge="/27/@contained.11"/>
+ <anchorage position="190:127" graphEdge="/27/@contained.13"/>
+ </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="488:193" size="181:339">
+ <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="518:227" 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="eastadl.profile.uml#_7ASTYNdyEd6hwb99h1VVPA"/>
+ </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="535:254" 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="eastadl.profile.uml#_CqJnwNdzEd6hwb99h1VVPA"/>
+ </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="eastadl.profile.uml#_i-WMwzxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="517:192" graphEdge="/27/@contained.2"/>
+ <anchorage position="487:239" graphEdge="/27/@contained.9"/>
+ <anchorage position="487:513" graphEdge="/27/@contained.8"/>
+ <anchorage position="487:337" graphEdge="/27/@contained.14"/>
+ <anchorage position="488:362" graphEdge="/27/@contained.15"/>
+ </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="/27/@contained.0/@anchorage.0 /27/@contained.1/@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="14:-35" size="112:26">
+ <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="-60: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="-40:-27" size="28:13">
+ <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="-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" 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="eastadl.profile.uml#_Qjh1cPOBEd2Fz7wuW3iPYQ"/>
+ </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="676:232" size="147:147">
+ <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="157:124:47" position="145:263" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_RiyQ0PNyEd2Fz7wuW3iPYQ"/>
+ </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="265:263" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_Tn1RwPNyEd2Fz7wuW3iPYQ"/>
+ </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="385:263" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_Vap6QPNyEd2Fz7wuW3iPYQ"/>
+ </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="505:263" size="100:100">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:EnumerationLiteral" href="eastadl.profile.uml#_WYEkwPNyEd2Fz7wuW3iPYQ"/>
+ </semanticModel>
+ </contained>
+ </contained>
+ <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+ <element xsi:type="uml:Enumeration" href="eastadl.profile.uml#_JG5poPNyEd2Fz7wuW3iPYQ"/>
+ </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="285:192" 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:Stereotype" href="eastadl.profile.uml#_Y7nscNd4Ed6hwb99h1VVPA"/>
+ </semanticModel>
+ <anchorage position="335:191" graphEdge="/27/@contained.5"/>
+ <anchorage position="385:242" graphEdge="/27/@contained.9"/>
+ </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="/27/@contained.0/@anchorage.1 /27/@contained.4/@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="26:-28" size="36:26">
+ <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:60" 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="-29:-20" size="16:13">
+ <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="40:0" 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="eastadl.profile.uml#_qvrM8E2lEd-Nn4upK86kww"/>
+ </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="0:475" size="148:57">
+ <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="eastadl.profile.uml#_pTBMQE2mEd-Nn4upK86kww"/>
+ </semanticModel>
+ <anchorage position="72:474" graphEdge="/27/@contained.7"/>
+ <anchorage position="148:512" graphEdge="/27/@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="/27/@contained.0/@anchorage.2 /27/@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="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="-56:-46" size="64:26">
+ <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="-60: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="-21:-25" size="16:13">
+ <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="-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" 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="eastadl.profile.uml#_ygTbME2mEd-Nn4upK86kww"/>
+ </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="/27/@contained.1/@anchorage.2 /27/@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="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="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" 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"/>
+ <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="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" 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" 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="eastadl.profile.uml#_zgOAEE2mEd-Nn4upK86kww"/>
+ </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="/27/@contained.1/@anchorage.1 /27/@contained.4/@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="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="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" 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"/>
+ <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="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" 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" 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="eastadl.profile.uml#_7ebCME2lEd-Nn4upK86kww"/>
+ </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="107:392" size="145:74">
+ <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="eastadl.profile.uml#_smrDAPN0Ed2Fz7wuW3iPYQ"/>
+ </semanticModel>
+ <anchorage position="128:391" graphEdge="/27/@contained.11"/>
+ <anchorage position="252:429" graphEdge="/27/@contained.15"/>
+ </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="/27/@contained.0/@anchorage.3 /27/@contained.10/@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="14:-47" size="61:26">
+ <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="-60: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="-22:-26" size="16:13">
+ <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="-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" 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="eastadl.profile.uml#_aSSYAE2mEd-Nn4upK86kww"/>
+ </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="219:304" size="100:62">
+ <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="eastadl.profile.uml#_nE7JcNd4Ed6hwb99h1VVPA"/>
+ </semanticModel>
+ <anchorage position="229:303" graphEdge="/27/@contained.13"/>
+ <anchorage position="319:335" graphEdge="/27/@contained.14"/>
+ </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="/27/@contained.0/@anchorage.4 /27/@contained.12/@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="-73:-32" size="64:26">
+ <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="-60: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="13:-19" size="16:13">
+ <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="-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" 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="eastadl.profile.uml#_I0vjEE2mEd-Nn4upK86kww"/>
+ </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="/27/@contained.1/@anchorage.3 /27/@contained.12/@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="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="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" 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"/>
+ <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="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" 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" 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="eastadl.profile.uml#_J3I0ME2mEd-Nn4upK86kww"/>
+ </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="/27/@contained.1/@anchorage.4 /27/@contained.10/@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="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="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" 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"/>
+ <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="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" 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" 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="eastadl.profile.uml#_WIJUsNd3Ed6hwb99h1VVPA"/>
+ </semanticModel>
+ </contained>
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_i-WMfzxIEdyqfK4bFJstMQ"/>
+ </owner>
+ </di2:Diagram>
+ <di2:Diagram fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="ErrorModel2" 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="484:12" size="177: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="eastadl.profile.uml#_fNkXEPN4Ed2Fz7wuW3iPYQ"/>
+ </semanticModel>
+ <anchorage position="483:79" graphEdge="/28/@contained.2"/>
+ <anchorage position="661:78" graphEdge="/28/@contained.4"/>
+ <anchorage position="654:112" graphEdge="/28/@contained.21"/>
+ <anchorage position="625:112" graphEdge="/28/@contained.22"/>
+ </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="66:20" size="254: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="eastadl.profile.uml#_PirykPN4Ed2Fz7wuW3iPYQ"/>
+ </semanticModel>
+ <anchorage position="320:78" graphEdge="/28/@contained.2"/>
+ <anchorage position="217:120" graphEdge="/28/@contained.6"/>
+ <anchorage position="320:112" graphEdge="/28/@contained.16"/>
+ <anchorage position="320:98" graphEdge="/28/@contained.18"/>
+ </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="/28/@contained.1/@anchorage.0 /28/@contained.0/@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="-73:-48" size="46:39">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <property key="custom_disp" value="1166"/>
+ <property key="PropStereoDisplay" value="Ecore::EReference"/>
+ </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="-60: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="-49:13" size="16:13">
+ <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="-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" 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="eastadl.profile.uml#_E2F98POBEd2Fz7wuW3iPYQ"/>
+ </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="723: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:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ </semanticModel>
+ <anchorage position="722:79" graphEdge="/28/@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="/28/@contained.0/@anchorage.1 /28/@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="-48:-31" size="35:13">
+ <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="-60: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="-32:13" size="17:13">
+ <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="-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" 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="eastadl.profile.uml#_tzc1EE2nEd-Nn4upK86kww"/>
+ </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="164:174" size="273:120">
+ <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="20:20" 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="eastadl.profile.uml#_OPraYE2pEd-V7vMBq0sJVg"/>
+ </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="eastadl.profile.uml#_w-YNoPN1Ed2Fz7wuW3iPYQ"/>
+ </semanticModel>
+ <anchorage position="213:173" graphEdge="/28/@contained.6"/>
+ <anchorage position="234:294" graphEdge="/28/@contained.10"/>
+ <anchorage position="309:294" graphEdge="/28/@contained.9"/>
+ </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="/28/@contained.1/@anchorage.1 /28/@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="29:-42" size="101:39">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <property key="custom_disp" value="1166"/>
+ <property key="PropStereoDisplay" value="Ecore::EReference"/>
+ </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="-60: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="-32:-20" size="16:13">
+ <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="-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" 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="eastadl.profile.uml#_45GAcPOAEd2Fz7wuW3iPYQ"/>
+ </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="46:310" 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:Stereotype" href="eastadl.profile.uml#_Y7nscNd4Ed6hwb99h1VVPA"/>
+ </semanticModel>
+ <anchorage position="146:365" graphEdge="/28/@contained.24"/>
+ </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="42:426" 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:Stereotype" href="eastadl.profile.uml#_nE7JcNd4Ed6hwb99h1VVPA"/>
+ </semanticModel>
+ <anchorage position="142:486" graphEdge="/28/@contained.25"/>
+ </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="/28/@contained.5/@anchorage.2 /28/@contained.23/@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="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="20:-30" size="36:13">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <property key="custom_disp" value="1166"/>
+ <property key="PropStereoDisplay" value="Ecore::EReference"/>
+ </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:60" 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="16:-15" size="17:13">
+ <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="40:0" 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="eastadl.profile.uml#_5uc8kE2pEd-V7vMBq0sJVg"/>
+ </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="/28/@contained.5/@anchorage.1 /28/@contained.23/@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: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="-49:-32" size="46:13">
+ <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+ <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+ <property key="custom_disp" value="1166"/>
+ <property key="PropStereoDisplay" value="Ecore::EReference"/>
+ </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="-60:-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="-34:-15" size="17:13">
+ <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="eastadl.profile.uml#_6XSeME2pEd-V7vMBq0sJVg"/>
+ </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="415:322" 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:Stereotype" href="eastadl.profile.uml#_i-f6UzxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="414:358" graphEdge="/28/@contained.12"/>
+ </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="/28/@contained.23/@anchorage.2 /28/@contained.11/@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="-60: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" 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="eastadl.profile.uml#_GNIDwE2qEd-V7vMBq0sJVg"/>
+ </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="408:431" 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:Stereotype" href="eastadl.profile.uml#_c7BMwHJWEdyx6oOkwavytg"/>
+ </semanticModel>
+ <anchorage position="407:456" graphEdge="/28/@contained.14"/>
+ </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="/28/@contained.23/@anchorage.3 /28/@contained.13/@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="-68:-31" size="48:13">
+ <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:60" 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="-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" 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="40:0" 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="eastadl.profile.uml#_OHwYAE2qEd-V7vMBq0sJVg"/>
+ </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="638:166" 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:Stereotype" href="eastadl.profile.uml#_i-f6JDxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="637:199" graphEdge="/28/@contained.16"/>
+ </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="/28/@contained.1/@anchorage.2 /28/@contained.15/@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="-60: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" 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="eastadl.profile.uml#_X5bGYE2qEd-V7vMBq0sJVg"/>
+ </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="675:282" 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:Stereotype" href="eastadl.profile.uml#_4NgjAHJVEdyx6oOkwavytg"/>
+ </semanticModel>
+ <anchorage position="674:308" graphEdge="/28/@contained.18"/>
+ </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="/28/@contained.1/@anchorage.3 /28/@contained.17/@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="-60: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" 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="eastadl.profile.uml#_cS_HoE2qEd-V7vMBq0sJVg"/>
+ </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="790:276" 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:Stereotype" href="eastadl.profile.uml#_8mIUgJOQEdyUQMht1ste1A"/>
+ </semanticModel>
+ <anchorage position="817:275" graphEdge="/28/@contained.22"/>
+ </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="818:155" 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:Stereotype" href="eastadl.profile.uml#_i-f6TTxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="817:184" graphEdge="/28/@contained.21"/>
+ </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="/28/@contained.0/@anchorage.2 /28/@contained.20/@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="-60: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" 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="eastadl.profile.uml#_qjWO4E2qEd-V7vMBq0sJVg"/>
+ </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="/28/@contained.0/@anchorage.3 /28/@contained.19/@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="-40:-60" 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" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:60" 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="-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" 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="40:0" 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="eastadl.profile.uml#_tepiYE2qEd-V7vMBq0sJVg"/>
+ </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="187:368" 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:Stereotype" href="eastadl.profile.uml#_ntEcUGGVEd-6O-A3OulkUA"/>
+ </semanticModel>
+ <anchorage position="232:367" graphEdge="/28/@contained.10"/>
+ <anchorage position="271:367" graphEdge="/28/@contained.9"/>
+ <anchorage position="287:388" graphEdge="/28/@contained.12"/>
+ <anchorage position="287:436" graphEdge="/28/@contained.14"/>
+ <anchorage position="186:406" graphEdge="/28/@contained.24"/>
+ <anchorage position="186:444" graphEdge="/28/@contained.25"/>
+ </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="/28/@contained.7/@anchorage.0 /28/@contained.23/@anchorage.4">
+ <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="eastadl.profile.uml#_V-wLAGGWEd-6O-A3OulkUA"/>
+ </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="/28/@contained.8/@anchorage.0 /28/@contained.23/@anchorage.5">
+ <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="eastadl.profile.uml#_giq1sGGWEd-6O-A3OulkUA"/>
+ </semanticModel>
+ </contained>
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_i-WMfzxIEdyqfK4bFJstMQ"/>
+ </owner>
+ </di2:Diagram>
+ <di2:Diagram fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="Dependability2" 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="351:214" 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:Stereotype" href="eastadl.profile.uml#_cUEZkFgaEd-SipQLbZtnVw"/>
+ </semanticModel>
+ <anchorage position="350:222" graphEdge="/29/@contained.13"/>
+ <anchorage position="391:213" graphEdge="/29/@contained.14"/>
+ <anchorage position="407:213" graphEdge="/29/@contained.15"/>
+ <anchorage position="422:213" graphEdge="/29/@contained.16"/>
+ <anchorage position="450:213" graphEdge="/29/@contained.17"/>
+ <anchorage position="451:221" graphEdge="/29/@contained.18"/>
+ <anchorage position="451:216" graphEdge="/29/@contained.19"/>
+ <anchorage position="451:221" graphEdge="/29/@contained.20"/>
+ <anchorage position="389:314" graphEdge="/29/@contained.21"/>
+ <anchorage position="358:314" graphEdge="/29/@contained.22"/>
+ <anchorage position="350:290" graphEdge="/29/@contained.23"/>
+ <anchorage position="350:260" graphEdge="/29/@contained.24"/>
+ </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="35:80" 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:Stereotype" href="eastadl.profile.uml#_gj0hAN4mEdyW6f_GAa5b1w"/>
+ </semanticModel>
+ <anchorage position="135:167" graphEdge="/29/@contained.13"/>
+ </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="154:19" 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:Stereotype" href="eastadl.profile.uml#_0GfPYN4mEdyW6f_GAa5b1w"/>
+ </semanticModel>
+ <anchorage position="233:119" graphEdge="/29/@contained.14"/>
+ </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="282:12" 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:Stereotype" href="eastadl.profile.uml#_qtH20N4nEdyW6f_GAa5b1w"/>
+ </semanticModel>
+ <anchorage position="364:112" graphEdge="/29/@contained.15"/>
+ </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="24:217" 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:Stereotype" href="eastadl.profile.uml#_PirykPN4Ed2Fz7wuW3iPYQ"/>
+ </semanticModel>
+ <anchorage position="124:267" graphEdge="/29/@contained.24"/>
+ </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="681:239" 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:Stereotype" href="eastadl.profile.uml#_i-WNODxIEdyqfK4bFJstMQ"/>
+ </semanticModel>
+ <anchorage position="680:266" graphEdge="/29/@contained.19"/>
+ </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="74:350" 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:Stereotype" href="eastadl.profile.uml#_nkfVIN4rEdyW6f_GAa5b1w"/>
+ </semanticModel>
+ <anchorage position="137:349" graphEdge="/29/@contained.23"/>
+ </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="225:391" 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:Stereotype" href="eastadl.profile.uml#_BmYjIE2fEd-Nn4upK86kww"/>
+ </semanticModel>
+ <anchorage position="275:390" graphEdge="/29/@contained.22"/>
+ </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="377:405" 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:Stereotype" href="eastadl.profile.uml#_RJZlEE2fEd-Nn4upK86kww"/>
+ </semanticModel>
+ <anchorage position="397:404" graphEdge="/29/@contained.21"/>
+ </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="509:361" 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:Stereotype" href="eastadl.profile.uml#_CCtiYNd1Ed6hwb99h1VVPA"/>
+ </semanticModel>
+ <anchorage position="509:360" graphEdge="/29/@contained.20"/>
+ </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="650:119" 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:Stereotype" href="eastadl.profile.uml#_VFFSkFQMEd6gB7J6eY3lyQ"/>
+ </semanticModel>
+ <anchorage position="649:188" graphEdge="/29/@contained.18"/>
+ </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="539:36" 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:Stereotype" href="eastadl.profile.uml#_ZceJkFQMEd6gB7J6eY3lyQ"/>
+ </semanticModel>
+ <anchorage position="564:136" graphEdge="/29/@contained.17"/>
+ </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="415: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:Stereotype" href="eastadl.profile.uml#_7Y5NgE2bEd-Nn4upK86kww"/>
+ </semanticModel>
+ <anchorage position="450:114" graphEdge="/29/@contained.16"/>
+ </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="/29/@contained.0/@anchorage.0 /29/@contained.1/@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="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" 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"/>
+ <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="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" 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" 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="eastadl.profile.uml#_B6oyQFgbEd-SipQLbZtnVw"/>
+ </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="/29/@contained.0/@anchorage.1 /29/@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" 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="20:60" 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" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="-40:-40" 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="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" 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="eastadl.profile.uml#_CORf8FgbEd-SipQLbZtnVw"/>
+ </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="/29/@contained.0/@anchorage.2 /29/@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:0" 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="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" 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="-40: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="-40:-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="60: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="eastadl.profile.uml#_Chc6oFgbEd-SipQLbZtnVw"/>
+ </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="/29/@contained.0/@anchorage.3 /29/@contained.12/@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:0" 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="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" 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="-40: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="-40:-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="60: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="eastadl.profile.uml#_CyBGMFgbEd-SipQLbZtnVw"/>
+ </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="/29/@contained.0/@anchorage.4 /29/@contained.11/@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:0" 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="-60:-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" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:0" 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="0:-40" 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="60:-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="eastadl.profile.uml#_DD-Y4FgbEd-SipQLbZtnVw"/>
+ </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="/29/@contained.0/@anchorage.5 /29/@contained.10/@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="-60: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" 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="eastadl.profile.uml#_DdCZIFgbEd-SipQLbZtnVw"/>
+ </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="/29/@contained.0/@anchorage.6 /29/@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="-60: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" 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="eastadl.profile.uml#_DtEZMFgbEd-SipQLbZtnVw"/>
+ </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="/29/@contained.0/@anchorage.7 /29/@contained.9/@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="-40:-60" 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" fontFamily="Arial" fontSize="9" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:60" 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="-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" 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="40:0" 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="eastadl.profile.uml#_D95DcFgbEd-SipQLbZtnVw"/>
+ </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="/29/@contained.0/@anchorage.8 /29/@contained.8/@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" 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="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" 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"/>
+ <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="-40:-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="60:-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="eastadl.profile.uml#_EVu7sFgbEd-SipQLbZtnVw"/>
+ </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="/29/@contained.0/@anchorage.9 /29/@contained.7/@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: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="20:-60" 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" 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"/>
+ <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="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" 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="eastadl.profile.uml#_EkiMsFgbEd-SipQLbZtnVw"/>
+ </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="/29/@contained.0/@anchorage.10 /29/@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="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="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" 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"/>
+ <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="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" 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" 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="eastadl.profile.uml#_E6ZH8FgbEd-SipQLbZtnVw"/>
+ </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="/29/@contained.0/@anchorage.11 /29/@contained.4/@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="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" 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"/>
+ <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="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" 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" 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="eastadl.profile.uml#_FMgysFgbEd-SipQLbZtnVw"/>
+ </semanticModel>
+ </contained>
+ <owner xsi:type="di2:Uml1SemanticModelBridge">
+ <element xsi:type="uml:Profile" href="eastadl.profile.uml#_LJxzMEn1Ed-CwvH3DORXbA"/>
+ </owner>
+ </di2:Diagram>
+</xmi:XMI>
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadl.profile.notation b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadl.profile.notation
new file mode 100644
index 00000000000..dd375c2e803
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadl.profile.notation
@@ -0,0 +1,2334 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" 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/4.0.0/UML">
+ <notation:Diagram xmi:id="_sexTIJqiEeGhQ8mhoNM_3Q" type="PapyrusUMLProfileDiagram" name="Elements" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_vbDeEJqiEeGhQ8mhoNM_3Q" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vbFTQJqiEeGhQ8mhoNM_3Q" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vbFTQZqiEeGhQ8mhoNM_3Q" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vbFTQpqiEeGhQ8mhoNM_3Q" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vbFTQ5qiEeGhQ8mhoNM_3Q" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vbF6UJqiEeGhQ8mhoNM_3Q" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vbF6UZqiEeGhQ8mhoNM_3Q" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vbF6UpqiEeGhQ8mhoNM_3Q" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_vbF6U5qiEeGhQ8mhoNM_3Q" type="1071">
+ <children xmi:type="notation:Shape" xmi:id="_fX-u4LY0EeGyVPNcbdBunw" type="3002" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Property" href="eastadl.profile.uml#_fX5PULY0EeGyVPNcbdBunw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_fX-u4bY0EeGyVPNcbdBunw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_vbF6VJqiEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_vbF6VZqiEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_vbF6VpqiEeGhQ8mhoNM_3Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vbF6V5qiEeGhQ8mhoNM_3Q"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_vbF6WJqiEeGhQ8mhoNM_3Q" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_vbF6WZqiEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_vbF6WpqiEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_vbF6W5qiEeGhQ8mhoNM_3Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vbF6XJqiEeGhQ8mhoNM_3Q"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vbDeEZqiEeGhQ8mhoNM_3Q" x="90" y="25"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_xd9J8JqiEeGhQ8mhoNM_3Q" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xd9J8pqiEeGhQ8mhoNM_3Q" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xd9J85qiEeGhQ8mhoNM_3Q" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xd9J9JqiEeGhQ8mhoNM_3Q" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xd9J9ZqiEeGhQ8mhoNM_3Q" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xd9xAJqiEeGhQ8mhoNM_3Q" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xd9xAZqiEeGhQ8mhoNM_3Q" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_xd9xApqiEeGhQ8mhoNM_3Q" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_xd9xA5qiEeGhQ8mhoNM_3Q" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_xd9xBJqiEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_xd9xBZqiEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_xd9xBpqiEeGhQ8mhoNM_3Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xd9xB5qiEeGhQ8mhoNM_3Q"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_xd9xCJqiEeGhQ8mhoNM_3Q" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_xd9xCZqiEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_xd9xCpqiEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_xd9xC5qiEeGhQ8mhoNM_3Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xd9xDJqiEeGhQ8mhoNM_3Q"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xd9J8ZqiEeGhQ8mhoNM_3Q" x="75" y="350" width="151"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1sNTEJqiEeGhQ8mhoNM_3Q" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1sNTEpqiEeGhQ8mhoNM_3Q" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1sN6IJqiEeGhQ8mhoNM_3Q" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1sN6IZqiEeGhQ8mhoNM_3Q" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1sN6IpqiEeGhQ8mhoNM_3Q" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1sN6I5qiEeGhQ8mhoNM_3Q" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1sN6JJqiEeGhQ8mhoNM_3Q" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_1sN6JZqiEeGhQ8mhoNM_3Q" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1sN6JpqiEeGhQ8mhoNM_3Q" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1sN6J5qiEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1sN6KJqiEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1sN6KZqiEeGhQ8mhoNM_3Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1sN6KpqiEeGhQ8mhoNM_3Q"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1sN6K5qiEeGhQ8mhoNM_3Q" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1sN6LJqiEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1sN6LZqiEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1sN6LpqiEeGhQ8mhoNM_3Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1sN6L5qiEeGhQ8mhoNM_3Q"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_1raB0JqiEeGhQ8mhoNM_3Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1sNTEZqiEeGhQ8mhoNM_3Q" x="85" y="180"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_sEp7QJqoEeGhQ8mhoNM_3Q" type="1031" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sEp7QpqoEeGhQ8mhoNM_3Q" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_sEp7Q5qoEeGhQ8mhoNM_3Q" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sEqiUJqoEeGhQ8mhoNM_3Q" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_sEqiUZqoEeGhQ8mhoNM_3Q" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sEqiUpqoEeGhQ8mhoNM_3Q" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_sEqiU5qoEeGhQ8mhoNM_3Q" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sGJwEJqoEeGhQ8mhoNM_3Q" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nQZ3IGrzEeKfAKdIb-SdVw" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nQZ3IWrzEeKfAKdIb-SdVw" key="StereotypeList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nQZ3ImrzEeKfAKdIb-SdVw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nQZ3I2rzEeKfAKdIb-SdVw" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nQZ3JGrzEeKfAKdIb-SdVw" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_sEqiVJqoEeGhQ8mhoNM_3Q" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#PackageableElement"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sEp7QZqoEeGhQ8mhoNM_3Q" x="395" y="235" width="146"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_6la2AJqoEeGhQ8mhoNM_3Q" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6lbdEJqoEeGhQ8mhoNM_3Q" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6lbdEZqoEeGhQ8mhoNM_3Q" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6lbdEpqoEeGhQ8mhoNM_3Q" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6lbdE5qoEeGhQ8mhoNM_3Q" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6lbdFJqoEeGhQ8mhoNM_3Q" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6lbdFZqoEeGhQ8mhoNM_3Q" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_6lbdFpqoEeGhQ8mhoNM_3Q" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_6lbdF5qoEeGhQ8mhoNM_3Q" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_6lbdGJqoEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_6lbdGZqoEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_6lbdGpqoEeGhQ8mhoNM_3Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6lbdG5qoEeGhQ8mhoNM_3Q"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_6lbdHJqoEeGhQ8mhoNM_3Q" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_6lbdHZqoEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_6lbdHpqoEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_6lbdH5qoEeGhQ8mhoNM_3Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6lbdIJqoEeGhQ8mhoNM_3Q"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_6k_YMJqoEeGhQ8mhoNM_3Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6la2AZqoEeGhQ8mhoNM_3Q" x="670" y="215"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_FB2YoJqpEeGhQ8mhoNM_3Q" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FB2_sJqpEeGhQ8mhoNM_3Q" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FB2_sZqpEeGhQ8mhoNM_3Q" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FB3mwJqpEeGhQ8mhoNM_3Q" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FB3mwZqpEeGhQ8mhoNM_3Q" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FB3mwpqpEeGhQ8mhoNM_3Q" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FB3mw5qpEeGhQ8mhoNM_3Q" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_FB3mxJqpEeGhQ8mhoNM_3Q" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_FB3mxZqpEeGhQ8mhoNM_3Q" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_FB3mxpqpEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_FB3mx5qpEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_FB3myJqpEeGhQ8mhoNM_3Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FB3myZqpEeGhQ8mhoNM_3Q"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_FB3mypqpEeGhQ8mhoNM_3Q" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_FB3my5qpEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_FB3mzJqpEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_FB3mzZqpEeGhQ8mhoNM_3Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FB3mzpqpEeGhQ8mhoNM_3Q"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pathmap://SysML_PROFILES/SysML.profile.uml#_mwAc8LU9Edu2ieF4ON8UjA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FB2YoZqpEeGhQ8mhoNM_3Q" x="665" y="15"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_SB_-wJq1EeGgUfgGS4KevA" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SCCbAJq1EeGgUfgGS4KevA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SCCbAZq1EeGgUfgGS4KevA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SCCbApq1EeGgUfgGS4KevA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SCCbA5q1EeGgUfgGS4KevA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SCDCEJq1EeGgUfgGS4KevA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SCDCEZq1EeGgUfgGS4KevA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_SCDCEpq1EeGgUfgGS4KevA" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_SCDCE5q1EeGgUfgGS4KevA" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_SCDCFJq1EeGgUfgGS4KevA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_SCDCFZq1EeGgUfgGS4KevA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_SCDCFpq1EeGgUfgGS4KevA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SCDCF5q1EeGgUfgGS4KevA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_SCDCGJq1EeGgUfgGS4KevA" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_SCDCGZq1EeGgUfgGS4KevA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_SCDCGpq1EeGgUfgGS4KevA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_SCDCG5q1EeGgUfgGS4KevA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SCDCHJq1EeGgUfgGS4KevA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_SAbRcJq1EeGgUfgGS4KevA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SB_-wZq1EeGgUfgGS4KevA" x="315" y="25"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_3pIYIJq1EeGgUfgGS4KevA" type="1031" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3pI_MZq1EeGgUfgGS4KevA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3pI_Mpq1EeGgUfgGS4KevA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3pI_M5q1EeGgUfgGS4KevA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3pI_NJq1EeGgUfgGS4KevA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3pJmQJq1EeGgUfgGS4KevA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3pJmQZq1EeGgUfgGS4KevA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3pKNUJq1EeGgUfgGS4KevA" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nRdAAGrzEeKfAKdIb-SdVw" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nRdAAWrzEeKfAKdIb-SdVw" key="StereotypeList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nRdAAmrzEeKfAKdIb-SdVw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nRdAA2rzEeKfAKdIb-SdVw" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nRdABGrzEeKfAKdIb-SdVw" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_3pJmQpq1EeGgUfgGS4KevA" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3pJmQ5q1EeGgUfgGS4KevA" x="505" y="25"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_JlW5MKWjEeGVVPgQD6jlgA" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JlYuYKWjEeGVVPgQD6jlgA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JlYuYaWjEeGVVPgQD6jlgA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JlYuYqWjEeGVVPgQD6jlgA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JlYuY6WjEeGVVPgQD6jlgA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JlYuZKWjEeGVVPgQD6jlgA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JlYuZaWjEeGVVPgQD6jlgA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_JlZVcKWjEeGVVPgQD6jlgA" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_JlZVcaWjEeGVVPgQD6jlgA" type="1071">
+ <children xmi:type="notation:Shape" xmi:id="_MF6xcKWjEeGVVPgQD6jlgA" type="3002" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Property" href="eastadl.profile.uml#_MEa8oKWjEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_MF6xcaWjEeGVVPgQD6jlgA"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_JlZVcqWjEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_JlZVc6WjEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_JlZVdKWjEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JlZVdaWjEeGVVPgQD6jlgA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_JlZVdqWjEeGVVPgQD6jlgA" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_JlZVd6WjEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_JlZVeKWjEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_JlZVeaWjEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JlZVeqWjEeGVVPgQD6jlgA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_JjPZUKWjEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JlW5MaWjEeGVVPgQD6jlgA" x="70" y="520" width="159" height="76"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a4q0EKWjEeGVVPgQD6jlgA" type="1031" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a4rbIKWjEeGVVPgQD6jlgA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a4rbIaWjEeGVVPgQD6jlgA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a4rbIqWjEeGVVPgQD6jlgA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a4rbI6WjEeGVVPgQD6jlgA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a4sCMKWjEeGVVPgQD6jlgA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a4sCMaWjEeGVVPgQD6jlgA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a4spQKWjEeGVVPgQD6jlgA" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nRdACGrzEeKfAKdIb-SdVw" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nRdACWrzEeKfAKdIb-SdVw" key="StereotypeList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nRdACmrzEeKfAKdIb-SdVw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nRdAC2rzEeKfAKdIb-SdVw" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nRdADGrzEeKfAKdIb-SdVw" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a4sCMqWjEeGVVPgQD6jlgA" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a4sCM6WjEeGVVPgQD6jlgA" x="355" y="520" width="101" height="76"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_-N-XMLYqEeGyVPNcbdBunw" type="1031" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-N_lULYqEeGyVPNcbdBunw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-N_lUbYqEeGyVPNcbdBunw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-N_lUrYqEeGyVPNcbdBunw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-N_lU7YqEeGyVPNcbdBunw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-OAMYLYqEeGyVPNcbdBunw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-OAMYbYqEeGyVPNcbdBunw" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-OAzcLYqEeGyVPNcbdBunw" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nRmJ8GrzEeKfAKdIb-SdVw" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nRmJ8WrzEeKfAKdIb-SdVw" key="StereotypeList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nRmJ8mrzEeKfAKdIb-SdVw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nRmJ82rzEeKfAKdIb-SdVw" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nRmJ9GrzEeKfAKdIb-SdVw" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_-OAMYrYqEeGyVPNcbdBunw" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-OAMY7YqEeGyVPNcbdBunw" x="-70" y="25"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_sexTIZqiEeGhQ8mhoNM_3Q"/>
+ <element xmi:type="uml:Profile" href="eastadl.profile.uml#_i-WNZjxIEdyqfK4bFJstMQ"/>
+ <edges xmi:type="notation:Connector" xmi:id="_0WA8MJqiEeGhQ8mhoNM_3Q" type="4002" source="_xd9J8JqiEeGhQ8mhoNM_3Q" target="_1sNTEJqiEeGhQ8mhoNM_3Q" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_0WCKUJqiEeGhQ8mhoNM_3Q" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_0WCxYJqiEeGhQ8mhoNM_3Q" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_0WA8MZqiEeGhQ8mhoNM_3Q" fontName="Segoe UI"/>
+ <element xmi:type="uml:Generalization" href="eastadl.profile.uml#_bjqcwE9wEd63TMVefYU7MQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0WA8MpqiEeGhQ8mhoNM_3Q" points="[-4, -50, 0, 162]$[0, -162, 4, 50]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6uCOMJqiEeGhQ8mhoNM_3Q" id="(0.5669291338582677,0.83)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_7tdD0JqiEeGhQ8mhoNM_3Q" type="4002" source="_1sNTEJqiEeGhQ8mhoNM_3Q" target="_vbDeEJqiEeGhQ8mhoNM_3Q" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_7tdq4JqiEeGhQ8mhoNM_3Q" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7teR8JqiEeGhQ8mhoNM_3Q" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_7tdD0ZqiEeGhQ8mhoNM_3Q" fontName="Segoe UI"/>
+ <element xmi:type="uml:Generalization" href="eastadl.profile.uml#_7tGegJqiEeGhQ8mhoNM_3Q"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7tdD0pqiEeGhQ8mhoNM_3Q" points="[1, -8, -1, 105]$[1, -63, -1, 50]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7uHLIJqiEeGhQ8mhoNM_3Q" id="(0.6771653543307087,0.03)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_L0VYwLbnEeGRzMmi3_uxgw" id="(0.38341968911917096,0.9705882352941176)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_tSj40JqoEeGhQ8mhoNM_3Q" type="1013" source="_1sNTEJqiEeGhQ8mhoNM_3Q" target="_sEp7QJqoEeGhQ8mhoNM_3Q" lineColor="0">
+ <styles xmi:type="notation:FontStyle" xmi:id="_tSj40ZqoEeGhQ8mhoNM_3Q" fontName="Segoe UI"/>
+ <element xmi:type="uml:Extension" href="eastadl.profile.uml#_tR5KcJqoEeGhQ8mhoNM_3Q"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tSj40pqoEeGhQ8mhoNM_3Q" points="[5, -2, -238, 0]$[113, -2, -130, 0]$[188, -2, -55, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tTMK8JqoEeGhQ8mhoNM_3Q" id="(0.9763779527559056,0.85)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_GbNYQJqpEeGhQ8mhoNM_3Q" type="4002" source="_6la2AJqoEeGhQ8mhoNM_3Q" target="_FB2YoJqpEeGhQ8mhoNM_3Q" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_GbNYQ5qpEeGhQ8mhoNM_3Q" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GbNYRJqpEeGhQ8mhoNM_3Q" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_GbNYQZqpEeGhQ8mhoNM_3Q" fontName="Segoe UI"/>
+ <element xmi:type="uml:Generalization" href="eastadl.profile.uml#_Ga09wJqpEeGhQ8mhoNM_3Q"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GbNYQpqpEeGhQ8mhoNM_3Q" points="[1, -5, -1, 150]$[1, -105, -1, 50]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Gb570JqpEeGhQ8mhoNM_3Q" id="(0.43,0.05)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_YNdbcJq1EeGgUfgGS4KevA" type="4001" source="_SB_-wJq1EeGgUfgGS4KevA" target="_SB_-wJq1EeGgUfgGS4KevA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_YNeCgJq1EeGgUfgGS4KevA" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_YNepkJq1EeGgUfgGS4KevA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_YNepkZq1EeGgUfgGS4KevA" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_YNepkpq1EeGgUfgGS4KevA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_YNepk5q1EeGgUfgGS4KevA" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_YNeplJq1EeGgUfgGS4KevA" x="36" y="-75"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_YNeplZq1EeGgUfgGS4KevA" visible="false" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_YNeplpq1EeGgUfgGS4KevA" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_YNepl5q1EeGgUfgGS4KevA" visible="false" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_YNepmJq1EeGgUfgGS4KevA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_YNepmZq1EeGgUfgGS4KevA" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_YNepmpq1EeGgUfgGS4KevA" x="36" y="24"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_YNdbcZq1EeGgUfgGS4KevA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Association" href="eastadl.profile.uml#_YM3lkJq1EeGgUfgGS4KevA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YNdbcpq1EeGgUfgGS4KevA" points="[9, 0, 18, -44]$[69, 0, 78, -44]$[69, 110, 78, 66]$[-16, 110, -7, 66]$[-16, 48, -7, 4]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YOOQcJq1EeGgUfgGS4KevA" id="(0.91,0.52)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YOOQcZq1EeGgUfgGS4KevA" id="(0.82,0.96)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_gyc7UJq1EeGgUfgGS4KevA" type="4002" source="_SB_-wJq1EeGgUfgGS4KevA" target="_vbDeEJqiEeGhQ8mhoNM_3Q" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_gydiYJq1EeGgUfgGS4KevA" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_gydiYZq1EeGgUfgGS4KevA" y="18"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_gyc7UZq1EeGgUfgGS4KevA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Generalization" href="eastadl.profile.uml#_gx4TkJq1EeGgUfgGS4KevA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gyc7Upq1EeGgUfgGS4KevA" points="[-1, -3, 131, 0]$[-126, -4, 6, -1]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gzLUEJq1EeGgUfgGS4KevA" id="(0.01,0.48)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gzLUEZq1EeGgUfgGS4KevA" id="(0.94,0.45)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_shv0AJq1EeGgUfgGS4KevA" type="4001" source="_SB_-wJq1EeGgUfgGS4KevA" target="_1sNTEJqiEeGhQ8mhoNM_3Q" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_shv0A5q1EeGgUfgGS4KevA" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_shwbEJq1EeGgUfgGS4KevA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_shwbEZq1EeGgUfgGS4KevA" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_shwbEpq1EeGgUfgGS4KevA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_shwbE5q1EeGgUfgGS4KevA" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_shwbFJq1EeGgUfgGS4KevA" x="-70" y="13"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_shwbFZq1EeGgUfgGS4KevA" visible="false" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_shwbFpq1EeGgUfgGS4KevA" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_shwbF5q1EeGgUfgGS4KevA" visible="false" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_shwbGJq1EeGgUfgGS4KevA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_shwbGZq1EeGgUfgGS4KevA" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_shwbGpq1EeGgUfgGS4KevA" x="3" y="-12"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_shv0AZq1EeGgUfgGS4KevA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Association" href="eastadl.profile.uml#_shLMQJq1EeGgUfgGS4KevA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_shv0Apq1EeGgUfgGS4KevA" points="[6, 9, 126, -73]$[6, 89, 126, 7]$[-117, 89, 3, 7]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sifa4Jq1EeGgUfgGS4KevA" id="(0.14,0.91)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sifa4Zq1EeGgUfgGS4KevA" id="(0.9763779527559056,0.18)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_4jpfoJq1EeGgUfgGS4KevA" type="1013" source="_SB_-wJq1EeGgUfgGS4KevA" target="_3pIYIJq1EeGgUfgGS4KevA" lineColor="0">
+ <styles xmi:type="notation:FontStyle" xmi:id="_4jpfoZq1EeGgUfgGS4KevA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Extension" href="eastadl.profile.uml#_4ixV4Zq1EeGgUfgGS4KevA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4jpfopq1EeGgUfgGS4KevA" points="[5, 0, -107, 0]$[95, -5, -17, -5]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4kWDMJq1EeGgUfgGS4KevA" id="(0.95,0.16)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4kWDMZq1EeGgUfgGS4KevA" id="(0.17,0.32)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_dIb3QKWjEeGVVPgQD6jlgA" type="1013" source="_JlW5MKWjEeGVVPgQD6jlgA" target="_a4q0EKWjEeGVVPgQD6jlgA" lineColor="0">
+ <styles xmi:type="notation:FontStyle" xmi:id="_dIb3QaWjEeGVVPgQD6jlgA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Extension" href="eastadl.profile.uml#_dGwcQKWjEeGVVPgQD6jlgA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dIb3QqWjEeGVVPgQD6jlgA" points="[5, 1, -143, 0]$[131, 1, -17, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dLl48KWjEeGVVPgQD6jlgA" id="(0.9685534591194969,0.4868421052631579)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dLl48aWjEeGVVPgQD6jlgA" id="(0.16831683168316833,0.5)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="__RPLALYqEeGyVPNcbdBunw" type="1013" source="_vbDeEJqiEeGhQ8mhoNM_3Q" target="_-N-XMLYqEeGyVPNcbdBunw" lineColor="0">
+ <styles xmi:type="notation:FontStyle" xmi:id="__RPLAbYqEeGyVPNcbdBunw" fontName="Segoe UI"/>
+ <element xmi:type="uml:Extension" href="eastadl.profile.uml#__PwkULYqEeGyVPNcbdBunw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__RPLArYqEeGyVPNcbdBunw" points="[-11, -4, 110, -10]$[-71, -14, 50, -20]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__SOpgLYqEeGyVPNcbdBunw" id="(0.11,0.19)"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_anG7wJqnEeGhQ8mhoNM_3Q" type="PapyrusUMLProfileDiagram" name="Requirements" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_exFB0JqnEeGhQ8mhoNM_3Q" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_exFB0pqnEeGhQ8mhoNM_3Q" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_exFB05qnEeGhQ8mhoNM_3Q" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_exFB1JqnEeGhQ8mhoNM_3Q" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_exFB1ZqnEeGhQ8mhoNM_3Q" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_exFB1pqnEeGhQ8mhoNM_3Q" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_exFo4JqnEeGhQ8mhoNM_3Q" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_exFo4ZqnEeGhQ8mhoNM_3Q" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_exFo4pqnEeGhQ8mhoNM_3Q" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_exFo45qnEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_exFo5JqnEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_exFo5ZqnEeGhQ8mhoNM_3Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_exFo5pqnEeGhQ8mhoNM_3Q"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_exFo55qnEeGhQ8mhoNM_3Q" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_exFo6JqnEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_exFo6ZqnEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_exFo6pqnEeGhQ8mhoNM_3Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_exFo65qnEeGhQ8mhoNM_3Q"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_kjXpINdsEd6hwb99h1VVPA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_exFB0ZqnEeGhQ8mhoNM_3Q" x="30" y="15" width="196"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_hLMT0JqnEeGhQ8mhoNM_3Q" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hLMT0pqnEeGhQ8mhoNM_3Q" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hLM64JqnEeGhQ8mhoNM_3Q" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hLM64ZqnEeGhQ8mhoNM_3Q" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hLM64pqnEeGhQ8mhoNM_3Q" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hLM645qnEeGhQ8mhoNM_3Q" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hLM65JqnEeGhQ8mhoNM_3Q" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_hLM65ZqnEeGhQ8mhoNM_3Q" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_hLM65pqnEeGhQ8mhoNM_3Q" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_hLM655qnEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_hLM66JqnEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_hLM66ZqnEeGhQ8mhoNM_3Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hLM66pqnEeGhQ8mhoNM_3Q"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_hLM665qnEeGhQ8mhoNM_3Q" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_hLM67JqnEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_hLM67ZqnEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_hLM67pqnEeGhQ8mhoNM_3Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hLM675qnEeGhQ8mhoNM_3Q"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_i-WLxDxIEdyqfK4bFJstMQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hLMT0ZqnEeGhQ8mhoNM_3Q" x="469" y="18" width="202"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_J_VQsKWpEeGVVPgQD6jlgA" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_J_V3wKWpEeGVVPgQD6jlgA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_J_V3waWpEeGVVPgQD6jlgA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_J_V3wqWpEeGVVPgQD6jlgA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_J_V3w6WpEeGVVPgQD6jlgA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_J_V3xKWpEeGVVPgQD6jlgA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_J_V3xaWpEeGVVPgQD6jlgA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_J_V3xqWpEeGVVPgQD6jlgA" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_J_V3x6WpEeGVVPgQD6jlgA" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_J_V3yKWpEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_J_V3yaWpEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_J_V3yqWpEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J_V3y6WpEeGVVPgQD6jlgA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_J_V3zKWpEeGVVPgQD6jlgA" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_J_V3zaWpEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_J_V3zqWpEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_J_V3z6WpEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J_V30KWpEeGVVPgQD6jlgA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_J-hYYKWpEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J_VQsaWpEeGVVPgQD6jlgA" x="395" y="370" width="566"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Qxe58KWpEeGVVPgQD6jlgA" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QxfhAKWpEeGVVPgQD6jlgA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QxfhAaWpEeGVVPgQD6jlgA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QxfhAqWpEeGVVPgQD6jlgA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QxfhA6WpEeGVVPgQD6jlgA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QxfhBKWpEeGVVPgQD6jlgA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QxfhBaWpEeGVVPgQD6jlgA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_QxgIEKWpEeGVVPgQD6jlgA" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QxgIEaWpEeGVVPgQD6jlgA" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_QxgIEqWpEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QxgIE6WpEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QxgIFKWpEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxgIFaWpEeGVVPgQD6jlgA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QxgIFqWpEeGVVPgQD6jlgA" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_QxgIF6WpEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QxgIGKWpEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QxgIGaWpEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QxgIGqWpEeGVVPgQD6jlgA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_Qvv0kKWpEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qxe58aWpEeGVVPgQD6jlgA" x="230" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_W87IgKWpEeGVVPgQD6jlgA" type="1031" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W87IgqWpEeGVVPgQD6jlgA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W87Ig6WpEeGVVPgQD6jlgA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W87IhKWpEeGVVPgQD6jlgA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W87IhaWpEeGVVPgQD6jlgA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W87vkKWpEeGVVPgQD6jlgA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_W87vkaWpEeGVVPgQD6jlgA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_W9tLoKWpEeGVVPgQD6jlgA" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nRv68GrzEeKfAKdIb-SdVw" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nRv68WrzEeKfAKdIb-SdVw" key="StereotypeList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nRv68mrzEeKfAKdIb-SdVw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nRv682rzEeKfAKdIb-SdVw" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nRv69GrzEeKfAKdIb-SdVw" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_W87vkqWpEeGVVPgQD6jlgA" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#UseCase"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W87IgaWpEeGVVPgQD6jlgA" x="1100" y="388"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_bSFx8KWpEeGVVPgQD6jlgA" type="1031" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bSFx8qWpEeGVVPgQD6jlgA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bSFx86WpEeGVVPgQD6jlgA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bSGZAKWpEeGVVPgQD6jlgA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bSGZAaWpEeGVVPgQD6jlgA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bSGZAqWpEeGVVPgQD6jlgA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bSGZA6WpEeGVVPgQD6jlgA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bSGZBqWpEeGVVPgQD6jlgA" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nRv6-GrzEeKfAKdIb-SdVw" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nRv6-WrzEeKfAKdIb-SdVw" key="StereotypeList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nRv6-mrzEeKfAKdIb-SdVw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nRv6-2rzEeKfAKdIb-SdVw" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nRv6_GrzEeKfAKdIb-SdVw" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_bSGZBKWpEeGVVPgQD6jlgA" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Include"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bSGZBaWpEeGVVPgQD6jlgA" x="1107" y="564"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_cGd1MKWpEeGVVPgQD6jlgA" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cGecQKWpEeGVVPgQD6jlgA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cGecQaWpEeGVVPgQD6jlgA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cGecQqWpEeGVVPgQD6jlgA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cGecQ6WpEeGVVPgQD6jlgA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cGfDUKWpEeGVVPgQD6jlgA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cGfDUaWpEeGVVPgQD6jlgA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_cGfDUqWpEeGVVPgQD6jlgA" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_cGfDU6WpEeGVVPgQD6jlgA" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_cGfDVKWpEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_cGfDVaWpEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_cGfDVqWpEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cGfDV6WpEeGVVPgQD6jlgA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_cGfDWKWpEeGVVPgQD6jlgA" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_cGfDWaWpEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_cGfDWqWpEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_cGfDW6WpEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cGfDXKWpEeGVVPgQD6jlgA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_cDxGgKWpEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cGd1MaWpEeGVVPgQD6jlgA" x="860" y="560"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_eYFSgKWpEeGVVPgQD6jlgA" type="1031" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eYF5kKWpEeGVVPgQD6jlgA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eYF5kaWpEeGVVPgQD6jlgA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eYF5kqWpEeGVVPgQD6jlgA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eYF5k6WpEeGVVPgQD6jlgA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eYGgoKWpEeGVVPgQD6jlgA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_eYGgoaWpEeGVVPgQD6jlgA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eYGgpKWpEeGVVPgQD6jlgA" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nR5E42rzEeKfAKdIb-SdVw" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nR5E5GrzEeKfAKdIb-SdVw" key="StereotypeList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nR5E5WrzEeKfAKdIb-SdVw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nR5E5mrzEeKfAKdIb-SdVw" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nR5E52rzEeKfAKdIb-SdVw" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_eYGgoqWpEeGVVPgQD6jlgA" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Actor"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eYGgo6WpEeGVVPgQD6jlgA" x="15" y="195"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_nPxr8KWpEeGVVPgQD6jlgA" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nPyTAKWpEeGVVPgQD6jlgA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nPyTAaWpEeGVVPgQD6jlgA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nPyTAqWpEeGVVPgQD6jlgA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nPyTA6WpEeGVVPgQD6jlgA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nPyTBKWpEeGVVPgQD6jlgA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nPyTBaWpEeGVVPgQD6jlgA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_nPyTBqWpEeGVVPgQD6jlgA" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_nPyTB6WpEeGVVPgQD6jlgA" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_nPyTCKWpEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_nPyTCaWpEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_nPyTCqWpEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nPyTC6WpEeGVVPgQD6jlgA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_nPy6EKWpEeGVVPgQD6jlgA" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_nPy6EaWpEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_nPy6EqWpEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_nPy6E6WpEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nPy6FKWpEeGVVPgQD6jlgA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nPxr8aWpEeGVVPgQD6jlgA" x="475" y="185"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_sRXWgKWpEeGVVPgQD6jlgA" type="1031" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sRX9kaWpEeGVVPgQD6jlgA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_sRX9kqWpEeGVVPgQD6jlgA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sRX9k6WpEeGVVPgQD6jlgA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_sRX9lKWpEeGVVPgQD6jlgA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sRYkoKWpEeGVVPgQD6jlgA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_sRYkoaWpEeGVVPgQD6jlgA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sRYkpKWpEeGVVPgQD6jlgA" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nR5E62rzEeKfAKdIb-SdVw" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nR5E7GrzEeKfAKdIb-SdVw" key="StereotypeList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nR5E7WrzEeKfAKdIb-SdVw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nR5E7mrzEeKfAKdIb-SdVw" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nR5E72rzEeKfAKdIb-SdVw" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_sRYkoqWpEeGVVPgQD6jlgA" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Extend"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sRYko6WpEeGVVPgQD6jlgA" x="600" y="730"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_tsKgkKWpEeGVVPgQD6jlgA" type="1031" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tsKgkqWpEeGVVPgQD6jlgA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tsKgk6WpEeGVVPgQD6jlgA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tsKglKWpEeGVVPgQD6jlgA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tsLHoKWpEeGVVPgQD6jlgA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tsLHoaWpEeGVVPgQD6jlgA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tsLHoqWpEeGVVPgQD6jlgA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tsLHpaWpEeGVVPgQD6jlgA" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nSC142rzEeKfAKdIb-SdVw" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nSC15GrzEeKfAKdIb-SdVw" key="StereotypeList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nSC15WrzEeKfAKdIb-SdVw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nSC15mrzEeKfAKdIb-SdVw" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nSC152rzEeKfAKdIb-SdVw" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_tsLHo6WpEeGVVPgQD6jlgA" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ExtensionPoint"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tsLHpKWpEeGVVPgQD6jlgA" x="10" y="570"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_vL51AKWpEeGVVPgQD6jlgA" type="1031" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vL51AqWpEeGVVPgQD6jlgA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vL51A6WpEeGVVPgQD6jlgA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vL51BKWpEeGVVPgQD6jlgA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vL51BaWpEeGVVPgQD6jlgA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vL6cEKWpEeGVVPgQD6jlgA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vL6cEaWpEeGVVPgQD6jlgA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vL6cFKWpEeGVVPgQD6jlgA" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nSC162rzEeKfAKdIb-SdVw" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nSC17GrzEeKfAKdIb-SdVw" key="StereotypeList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nSC17WrzEeKfAKdIb-SdVw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nSC17mrzEeKfAKdIb-SdVw" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nSC172rzEeKfAKdIb-SdVw" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vL6cEqWpEeGVVPgQD6jlgA" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#RedefinableElement"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vL6cE6WpEeGVVPgQD6jlgA" x="5" y="370" width="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_xVO5AKWpEeGVVPgQD6jlgA" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xVPgEKWpEeGVVPgQD6jlgA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xVPgEaWpEeGVVPgQD6jlgA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xVQHIKWpEeGVVPgQD6jlgA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xVQHIaWpEeGVVPgQD6jlgA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xVQHIqWpEeGVVPgQD6jlgA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xVQHI6WpEeGVVPgQD6jlgA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_xVQHJKWpEeGVVPgQD6jlgA" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_xVQHJaWpEeGVVPgQD6jlgA" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_xVQHJqWpEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_xVQHJ6WpEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_xVQHKKWpEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xVQHKaWpEeGVVPgQD6jlgA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_xVQHKqWpEeGVVPgQD6jlgA" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_xVQHK6WpEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_xVQHLKWpEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_xVQHLaWpEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xVQHLqWpEeGVVPgQD6jlgA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_xTJOUKWpEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xVO5AaWpEeGVVPgQD6jlgA" x="175" y="365" width="131"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_3ihhsKWpEeGVVPgQD6jlgA" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3iiIwKWpEeGVVPgQD6jlgA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3iiIwaWpEeGVVPgQD6jlgA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3iiIwqWpEeGVVPgQD6jlgA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3iiIw6WpEeGVVPgQD6jlgA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3iiIxKWpEeGVVPgQD6jlgA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3iiIxaWpEeGVVPgQD6jlgA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_3iiIxqWpEeGVVPgQD6jlgA" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_3iiv0KWpEeGVVPgQD6jlgA" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_3iiv0aWpEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3iiv0qWpEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3iiv06WpEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3iiv1KWpEeGVVPgQD6jlgA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_3iiv1aWpEeGVVPgQD6jlgA" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_3iiv1qWpEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3iiv16WpEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3iiv2KWpEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3iiv2aWpEeGVVPgQD6jlgA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_3gao4KWpEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3ihhsaWpEeGVVPgQD6jlgA" x="175" y="565" width="241"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_dvRz0KWuEeGVVPgQD6jlgA" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dvSa4KWuEeGVVPgQD6jlgA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dvSa4aWuEeGVVPgQD6jlgA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dvSa4qWuEeGVVPgQD6jlgA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dvSa46WuEeGVVPgQD6jlgA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dvSa5KWuEeGVVPgQD6jlgA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dvSa5aWuEeGVVPgQD6jlgA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_dvSa5qWuEeGVVPgQD6jlgA" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_dvSa56WuEeGVVPgQD6jlgA" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_dvSa6KWuEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_dvSa6aWuEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_dvSa6qWuEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dvSa66WuEeGVVPgQD6jlgA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_dvSa7KWuEeGVVPgQD6jlgA" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_dvSa7aWuEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_dvSa7qWuEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_dvSa76WuEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dvSa8KWuEeGVVPgQD6jlgA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_duBPkKWuEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dvRz0aWuEeGVVPgQD6jlgA" x="575" y="560" width="166"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_v9kJMKWuEeGVVPgQD6jlgA" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_v9kwQKWuEeGVVPgQD6jlgA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_v9kwQaWuEeGVVPgQD6jlgA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_v9kwQqWuEeGVVPgQD6jlgA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_v9kwQ6WuEeGVVPgQD6jlgA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_v9kwRKWuEeGVVPgQD6jlgA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_v9kwRaWuEeGVVPgQD6jlgA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_v9kwRqWuEeGVVPgQD6jlgA" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_v9lXUKWuEeGVVPgQD6jlgA" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_v9lXUaWuEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_v9lXUqWuEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_v9lXU6WuEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v9lXVKWuEeGVVPgQD6jlgA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_v9lXVaWuEeGVVPgQD6jlgA" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_v9lXVqWuEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_v9lXV6WuEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_v9lXWKWuEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v9lXWaWuEeGVVPgQD6jlgA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_i-WNqjxIEdyqfK4bFJstMQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v9kJMaWuEeGVVPgQD6jlgA" x="861" y="715"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_3_Z4sKWuEeGVVPgQD6jlgA" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3_afwKWuEeGVVPgQD6jlgA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3_afwaWuEeGVVPgQD6jlgA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3_afwqWuEeGVVPgQD6jlgA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3_afw6WuEeGVVPgQD6jlgA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_3_afxKWuEeGVVPgQD6jlgA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3_bG0KWuEeGVVPgQD6jlgA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_3_bG0aWuEeGVVPgQD6jlgA" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_3_bG0qWuEeGVVPgQD6jlgA" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_3_bG06WuEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3_bG1KWuEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3_bG1aWuEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3_bG1qWuEeGVVPgQD6jlgA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_3_bG16WuEeGVVPgQD6jlgA" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_3_bG2KWuEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3_bG2aWuEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3_bG2qWuEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3_bG26WuEeGVVPgQD6jlgA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_i-WNczxIEdyqfK4bFJstMQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3_Z4saWuEeGVVPgQD6jlgA" x="809" y="185" width="147"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_22ODgGr1EeKfAKdIb-SdVw" type="1026" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_22ODgmr1EeKfAKdIb-SdVw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_22ODg2r1EeKfAKdIb-SdVw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_22ODhGr1EeKfAKdIb-SdVw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_22ODhWr1EeKfAKdIb-SdVw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_22ODhmr1EeKfAKdIb-SdVw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_22ODh2r1EeKfAKdIb-SdVw" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_22ODiGr1EeKfAKdIb-SdVw" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_22ODiWr1EeKfAKdIb-SdVw" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_22ODimr1EeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_22ODi2r1EeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_22ODjGr1EeKfAKdIb-SdVw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_22ODjWr1EeKfAKdIb-SdVw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_22ODjmr1EeKfAKdIb-SdVw" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_22ODj2r1EeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_22ODkGr1EeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_22ODkWr1EeKfAKdIb-SdVw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_22ODkmr1EeKfAKdIb-SdVw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_DLP58Nu0EdyN-KVwISucrA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_22ODgWr1EeKfAKdIb-SdVw" x="690" y="15"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_EyVZEGr2EeKfAKdIb-SdVw" type="1026" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EyVZEmr2EeKfAKdIb-SdVw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EyVZE2r2EeKfAKdIb-SdVw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EyVZFGr2EeKfAKdIb-SdVw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EyVZFWr2EeKfAKdIb-SdVw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EyVZFmr2EeKfAKdIb-SdVw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EyVZF2r2EeKfAKdIb-SdVw" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_EyVZGGr2EeKfAKdIb-SdVw" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_EyVZGWr2EeKfAKdIb-SdVw" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_EyVZGmr2EeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EyVZG2r2EeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EyVZHGr2EeKfAKdIb-SdVw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EyVZHWr2EeKfAKdIb-SdVw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_EyVZHmr2EeKfAKdIb-SdVw" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_EyVZH2r2EeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EyVZIGr2EeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EyVZIWr2EeKfAKdIb-SdVw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EyVZImr2EeKfAKdIb-SdVw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Mqyw4LXoEduHWpAaWjM62w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EyVZEWr2EeKfAKdIb-SdVw" x="1073" y="13"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_anG7wZqnEeGhQ8mhoNM_3Q"/>
+ <element xmi:type="uml:Profile" href="eastadl.profile.uml#_i-WLPzxIEdyqfK4bFJstMQ"/>
+ <edges xmi:type="notation:Connector" xmi:id="_idOjcJqnEeGhQ8mhoNM_3Q" type="4001" source="_exFB0JqnEeGhQ8mhoNM_3Q" target="_hLMT0JqnEeGhQ8mhoNM_3Q" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_idPKgJqnEeGhQ8mhoNM_3Q" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_idPKgZqnEeGhQ8mhoNM_3Q" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_idPKgpqnEeGhQ8mhoNM_3Q" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_idPKg5qnEeGhQ8mhoNM_3Q" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_idPxkJqnEeGhQ8mhoNM_3Q" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_idPxkZqnEeGhQ8mhoNM_3Q" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_idPxkpqnEeGhQ8mhoNM_3Q" visible="false" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_idPxk5qnEeGhQ8mhoNM_3Q" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_idPxlJqnEeGhQ8mhoNM_3Q" visible="false" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_idPxlZqnEeGhQ8mhoNM_3Q" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_idPxlpqnEeGhQ8mhoNM_3Q" visible="false" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_idPxl5qnEeGhQ8mhoNM_3Q" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_idOjcZqnEeGhQ8mhoNM_3Q" fontName="Segoe UI"/>
+ <element xmi:type="uml:Association" href="eastadl.profile.uml#_icmRUJqnEeGhQ8mhoNM_3Q"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_idOjcpqnEeGhQ8mhoNM_3Q" points="[7, -1, -269, 0]$[250, -6, -26, -5]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ie8asJqnEeGhQ8mhoNM_3Q" id="(0.9642857142857143,0.42)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ie8asZqnEeGhQ8mhoNM_3Q" id="(0.12871287128712872,0.38)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Xm3dYKWpEeGVVPgQD6jlgA" type="1013" source="_J_VQsKWpEeGVVPgQD6jlgA" target="_W87IgKWpEeGVVPgQD6jlgA" lineColor="0">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Xm3dYaWpEeGVVPgQD6jlgA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Extension" href="eastadl.profile.uml#_XlCRYKWpEeGVVPgQD6jlgA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Xm3dYqWpEeGVVPgQD6jlgA" points="[13, 2, -146, 0]$[152, 2, -7, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XrCLsKWpEeGVVPgQD6jlgA" id="(0.9780033840947546,0.46)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XrCLsaWpEeGVVPgQD6jlgA" id="(0.07,0.6)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_hyu0cKWpEeGVVPgQD6jlgA" type="1013" source="_cGd1MKWpEeGVVPgQD6jlgA" target="_bSFx8KWpEeGVVPgQD6jlgA" lineColor="0">
+ <styles xmi:type="notation:FontStyle" xmi:id="_hyu0caWpEeGVVPgQD6jlgA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Extension" href="eastadl.profile.uml#_hwv3cKWpEeGVVPgQD6jlgA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hyu0cqWpEeGVVPgQD6jlgA" points="[9, -8, -154, 0]$[156, -6, -7, 2]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_h3QvIKWpEeGVVPgQD6jlgA" id="(0.91,0.52)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_h3QvIaWpEeGVVPgQD6jlgA" id="(0.07,0.8)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_kV24gKWpEeGVVPgQD6jlgA" type="1013" source="_Qxe58KWpEeGVVPgQD6jlgA" target="_eYFSgKWpEeGVVPgQD6jlgA" lineColor="0">
+ <styles xmi:type="notation:FontStyle" xmi:id="_kV24gaWpEeGVVPgQD6jlgA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Extension" href="eastadl.profile.uml#_kTs8YaWpEeGVVPgQD6jlgA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kV24gqWpEeGVVPgQD6jlgA" points="[-11, -8, 165, -9]$[-175, -24, 1, -25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kbEvsKWpEeGVVPgQD6jlgA" id="(0.11,0.29)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_oZDBIKWpEeGVVPgQD6jlgA" type="4002" source="_Qxe58KWpEeGVVPgQD6jlgA" target="_nPxr8KWpEeGVVPgQD6jlgA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_oZDoMKWpEeGVVPgQD6jlgA" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_oZDoMaWpEeGVVPgQD6jlgA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_oZDBIaWpEeGVVPgQD6jlgA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Generalization" href="eastadl.profile.uml#_oYVPcKWpEeGVVPgQD6jlgA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_oZDBIqWpEeGVVPgQD6jlgA" points="[10, -2, -153, 0]$[155, -3, -8, -1]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_odDXYKWpEeGVVPgQD6jlgA" id="(0.9,0.41)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_odDXYaWpEeGVVPgQD6jlgA" id="(0.06722689075630252,0.44)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_1lz9YKWpEeGVVPgQD6jlgA" type="1013" source="_xVO5AKWpEeGVVPgQD6jlgA" target="_vL51AKWpEeGVVPgQD6jlgA" lineColor="0">
+ <styles xmi:type="notation:FontStyle" xmi:id="_1lz9YaWpEeGVVPgQD6jlgA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Extension" href="eastadl.profile.uml#_1jsdgKWpEeGVVPgQD6jlgA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1lz9YqWpEeGVVPgQD6jlgA" points="[-4, 0, 82, 0]$[-67, 2, 19, 2]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1q7t8KWpEeGVVPgQD6jlgA" id="(0.030534351145038167,0.29)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1q7t8aWpEeGVVPgQD6jlgA" id="(0.822429906542056,0.58)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_5qabQKWpEeGVVPgQD6jlgA" type="1013" source="_3ihhsKWpEeGVVPgQD6jlgA" target="_tsKgkKWpEeGVVPgQD6jlgA" lineColor="0">
+ <styles xmi:type="notation:FontStyle" xmi:id="_5qabQaWpEeGVVPgQD6jlgA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Extension" href="eastadl.profile.uml#_5oUJgaWpEeGVVPgQD6jlgA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5qabQqWpEeGVVPgQD6jlgA" points="[-4, -2, 80, 0]$[-69, -4, 15, -2]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5v8bgKWpEeGVVPgQD6jlgA" id="(0.030534351145038167,0.29)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5v8bgaWpEeGVVPgQD6jlgA" id="(0.85,0.44)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_6aLrUKWpEeGVVPgQD6jlgA" type="4002" source="_3ihhsKWpEeGVVPgQD6jlgA" target="_xVO5AKWpEeGVVPgQD6jlgA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_6aMSYKWpEeGVVPgQD6jlgA" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_6aMSYaWpEeGVVPgQD6jlgA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_6aLrUaWpEeGVVPgQD6jlgA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Generalization" href="eastadl.profile.uml#_6ZcrgKWpEeGVVPgQD6jlgA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6aLrUqWpEeGVVPgQD6jlgA" points="[0, -10, 0, 107]$[-6, -95, -6, 22]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6eFT4KWpEeGVVPgQD6jlgA" id="(0.20640569395017794,0.06)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6eF68KWpEeGVVPgQD6jlgA" id="(0.45038167938931295,0.78)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_fwVFkKWuEeGVVPgQD6jlgA" type="1013" source="_dvRz0KWuEeGVVPgQD6jlgA" target="_sRXWgKWpEeGVVPgQD6jlgA" lineColor="0">
+ <styles xmi:type="notation:FontStyle" xmi:id="_fwVFkaWuEeGVVPgQD6jlgA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Extension" href="eastadl.profile.uml#_fvMdIKWuEeGVVPgQD6jlgA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fwVFkqWuEeGVVPgQD6jlgA" points="[0, 10, -5, -95]$[0, 80, -5, -25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_f1ocUKWuEeGVVPgQD6jlgA" id="(0.45,0.9)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_xJQgQKWuEeGVVPgQD6jlgA" type="4002" source="_cGd1MKWpEeGVVPgQD6jlgA" target="_v9kJMKWuEeGVVPgQD6jlgA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_xJRHUKWuEeGVVPgQD6jlgA" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_xJRHUaWuEeGVVPgQD6jlgA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_xJQgQaWuEeGVVPgQD6jlgA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Generalization" href="eastadl.profile.uml#_xIaLsKWuEeGVVPgQD6jlgA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xJQgQqWuEeGVVPgQD6jlgA" points="[-5, 15, 0, -64]$[-7, 70, -2, -9]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xOPG4KWuEeGVVPgQD6jlgA" id="(0.48,0.85)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xOPt8KWuEeGVVPgQD6jlgA" id="(0.42,0.09)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_x_ouoKWuEeGVVPgQD6jlgA" type="4002" source="_dvRz0KWuEeGVVPgQD6jlgA" target="_v9kJMKWuEeGVVPgQD6jlgA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_x_pVsKWuEeGVVPgQD6jlgA" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_x_pVsaWuEeGVVPgQD6jlgA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_x_ouoaWuEeGVVPgQD6jlgA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Generalization" href="eastadl.profile.uml#_x-35oKWuEeGVVPgQD6jlgA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_x_ouoqWuEeGVVPgQD6jlgA" points="[8, 13, -151, -91]$[8, 104, -151, 0]$[144, 104, -15, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEBfYKWuEeGVVPgQD6jlgA" id="(0.86,0.87)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yEBfYaWuEeGVVPgQD6jlgA" id="(0.15,0.36)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_6lS84KWuEeGVVPgQD6jlgA" type="4002" source="_J_VQsKWpEeGVVPgQD6jlgA" target="_nPxr8KWpEeGVVPgQD6jlgA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_6lS846WuEeGVVPgQD6jlgA" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_6lTj8KWuEeGVVPgQD6jlgA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_6lS84aWuEeGVVPgQD6jlgA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Generalization" href="eastadl.profile.uml#_6kymkKWuEeGVVPgQD6jlgA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6lS84qWuEeGVVPgQD6jlgA" points="[-2, -1, 0, 103]$[-2, -86, 0, 18]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6mblUKWuEeGVVPgQD6jlgA" id="(0.25265017667844525,0.01)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6mblUaWuEeGVVPgQD6jlgA" id="(0.5126050420168067,0.82)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_8LnacKWuEeGVVPgQD6jlgA" type="4001" source="_3_Z4sKWuEeGVVPgQD6jlgA" target="_J_VQsKWpEeGVVPgQD6jlgA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8LoBgKWuEeGVVPgQD6jlgA" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8LoBgaWuEeGVVPgQD6jlgA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8LoBgqWuEeGVVPgQD6jlgA" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8LoBg6WuEeGVVPgQD6jlgA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8LookKWuEeGVVPgQD6jlgA" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8LookaWuEeGVVPgQD6jlgA" x="-10" y="-91"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8LookqWuEeGVVPgQD6jlgA" visible="false" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8Look6WuEeGVVPgQD6jlgA" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8LoolKWuEeGVVPgQD6jlgA" visible="false" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8LoolaWuEeGVVPgQD6jlgA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8LoolqWuEeGVVPgQD6jlgA" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8Lool6WuEeGVVPgQD6jlgA" x="-5" y="17"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_8LnacaWuEeGVVPgQD6jlgA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Association" href="eastadl.profile.uml#_8J5jMKWuEeGVVPgQD6jlgA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8LnacqWuEeGVVPgQD6jlgA" points="[0, 4, 0, -85]$[0, 89, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8RQIYKWuEeGVVPgQD6jlgA" id="(0.4897959183673469,0.96)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8RQIYaWuEeGVVPgQD6jlgA" id="(0.8586572438162544,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_FnXjMKWvEeGVVPgQD6jlgA" type="4001" source="_J_VQsKWpEeGVVPgQD6jlgA" target="_cGd1MKWpEeGVVPgQD6jlgA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_FnXjM6WvEeGVVPgQD6jlgA" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FnYKQKWvEeGVVPgQD6jlgA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_FnYKQaWvEeGVVPgQD6jlgA" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FnYKQqWvEeGVVPgQD6jlgA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_FnYKQ6WvEeGVVPgQD6jlgA" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FnYKRKWvEeGVVPgQD6jlgA" y="-63"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_FnYKRaWvEeGVVPgQD6jlgA" visible="false" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FnYKRqWvEeGVVPgQD6jlgA" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_FnYKR6WvEeGVVPgQD6jlgA" visible="false" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FnYKSKWvEeGVVPgQD6jlgA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_FnYKSaWvEeGVVPgQD6jlgA" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FnYKSqWvEeGVVPgQD6jlgA" y="14"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_FnXjMaWvEeGVVPgQD6jlgA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Association" href="eastadl.profile.uml#_FlsvQ6WvEeGVVPgQD6jlgA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FnXjMqWvEeGVVPgQD6jlgA" points="[-2, 9, 0, -93]$[-1, 99, 1, -3]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Fs6xkKWvEeGVVPgQD6jlgA" id="(0.9628975265017667,0.91)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Fs6xkaWvEeGVVPgQD6jlgA" id="(0.78,0.03)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_NFRfMKWvEeGVVPgQD6jlgA" type="4001" source="_cGd1MKWpEeGVVPgQD6jlgA" target="_J_VQsKWpEeGVVPgQD6jlgA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_NFRfM6WvEeGVVPgQD6jlgA" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_NFSGQKWvEeGVVPgQD6jlgA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_NFSGQaWvEeGVVPgQD6jlgA" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_NFSGQqWvEeGVVPgQD6jlgA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_NFSGQ6WvEeGVVPgQD6jlgA" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_NFSGRKWvEeGVVPgQD6jlgA" x="1" y="-66"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_NFSGRaWvEeGVVPgQD6jlgA" visible="false" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_NFSGRqWvEeGVVPgQD6jlgA" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_NFSGR6WvEeGVVPgQD6jlgA" visible="false" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_NFSGSKWvEeGVVPgQD6jlgA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_NFSGSaWvEeGVVPgQD6jlgA" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_NFSGSqWvEeGVVPgQD6jlgA" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_NFRfMaWvEeGVVPgQD6jlgA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Association" href="eastadl.profile.uml#_NDq8sKWvEeGVVPgQD6jlgA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NFRfMqWvEeGVVPgQD6jlgA" points="[0, -1, 0, 104]$[77, -91, 77, 14]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NLL58KWvEeGVVPgQD6jlgA" id="(0.16,0.01)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NLL58aWvEeGVVPgQD6jlgA" id="(0.8498233215547704,0.86)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_R8bbYKWvEeGVVPgQD6jlgA" type="4001" source="_dvRz0KWuEeGVVPgQD6jlgA" target="_J_VQsKWpEeGVVPgQD6jlgA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_R8cCcKWvEeGVVPgQD6jlgA" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_R8cpgKWvEeGVVPgQD6jlgA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_R8cpgaWvEeGVVPgQD6jlgA" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_R8cpgqWvEeGVVPgQD6jlgA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_R8cpg6WvEeGVVPgQD6jlgA" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_R8cphKWvEeGVVPgQD6jlgA" x="1" y="-45"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_R8cphaWvEeGVVPgQD6jlgA" visible="false" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_R8cphqWvEeGVVPgQD6jlgA" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_R8cph6WvEeGVVPgQD6jlgA" visible="false" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_R8cpiKWvEeGVVPgQD6jlgA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_R8cpiaWvEeGVVPgQD6jlgA" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_R8cpiqWvEeGVVPgQD6jlgA" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_R8bbYaWvEeGVVPgQD6jlgA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Association" href="eastadl.profile.uml#_R6uLMKWvEeGVVPgQD6jlgA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_R8bbYqWvEeGVVPgQD6jlgA" points="[0, -1, 0, 105]$[20, -91, 20, 15]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SChcUKWvEeGVVPgQD6jlgA" id="(0.9036144578313253,0.01)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SChcUaWvEeGVVPgQD6jlgA" id="(0.5830388692579506,0.85)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_VxirwKWvEeGVVPgQD6jlgA" type="4001" source="_J_VQsKWpEeGVVPgQD6jlgA" target="_dvRz0KWuEeGVVPgQD6jlgA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_VxjS0KWvEeGVVPgQD6jlgA" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VxjS0aWvEeGVVPgQD6jlgA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_VxjS0qWvEeGVVPgQD6jlgA" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VxjS06WvEeGVVPgQD6jlgA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vxj54KWvEeGVVPgQD6jlgA" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vxj54aWvEeGVVPgQD6jlgA" y="56"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vxj54qWvEeGVVPgQD6jlgA" visible="false" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vxj546WvEeGVVPgQD6jlgA" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vxj55KWvEeGVVPgQD6jlgA" visible="false" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vxj55aWvEeGVVPgQD6jlgA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vxj55qWvEeGVVPgQD6jlgA" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vxj556WvEeGVVPgQD6jlgA" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_VxirwaWvEeGVVPgQD6jlgA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Association" href="eastadl.profile.uml#_Vv7iM6WvEeGVVPgQD6jlgA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VxirwqWvEeGVVPgQD6jlgA" points="[-2, 3, 0, -96]$[-11, 93, -9, -6]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_V3TVgKWvEeGVVPgQD6jlgA" id="(0.35335689045936397,0.97)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_V3TVgaWvEeGVVPgQD6jlgA" id="(0.10843373493975904,0.06)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_ZqesMKWvEeGVVPgQD6jlgA" type="4001" source="_dvRz0KWuEeGVVPgQD6jlgA" target="_3ihhsKWpEeGVVPgQD6jlgA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ZqfTQqWvEeGVVPgQD6jlgA" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ZqfTQ6WvEeGVVPgQD6jlgA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ZqfTRKWvEeGVVPgQD6jlgA" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ZqfTRaWvEeGVVPgQD6jlgA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Zqf6UKWvEeGVVPgQD6jlgA" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Zqf6UaWvEeGVVPgQD6jlgA" x="-54" y="19"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Zqf6UqWvEeGVVPgQD6jlgA" visible="false" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Zqf6U6WvEeGVVPgQD6jlgA" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Zqf6VKWvEeGVVPgQD6jlgA" visible="false" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Zqf6VaWvEeGVVPgQD6jlgA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Zqf6VqWvEeGVVPgQD6jlgA" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Zqf6V6WvEeGVVPgQD6jlgA" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ZqfTQKWvEeGVVPgQD6jlgA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Association" href="eastadl.profile.uml#_Zo1GYKWvEeGVVPgQD6jlgA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZqfTQaWvEeGVVPgQD6jlgA" points="[-4, -4, 131, 0]$[-123, -4, 12, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZwhCwKWvEeGVVPgQD6jlgA" id="(0.024096385542168676,0.6)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZwhCwaWvEeGVVPgQD6jlgA" id="(0.9572953736654805,0.51)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_usDokKWvEeGVVPgQD6jlgA" type="4001" source="_J_VQsKWpEeGVVPgQD6jlgA" target="_3ihhsKWpEeGVVPgQD6jlgA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_usEPoKWvEeGVVPgQD6jlgA" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_usEPoaWvEeGVVPgQD6jlgA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_usEPoqWvEeGVVPgQD6jlgA" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_usEPo6WvEeGVVPgQD6jlgA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_usEPpKWvEeGVVPgQD6jlgA" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_usE2sKWvEeGVVPgQD6jlgA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_usE2saWvEeGVVPgQD6jlgA" visible="false" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_usE2sqWvEeGVVPgQD6jlgA" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_usE2s6WvEeGVVPgQD6jlgA" visible="false" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_usE2tKWvEeGVVPgQD6jlgA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_usE2taWvEeGVVPgQD6jlgA" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_usE2tqWvEeGVVPgQD6jlgA" x="11" y="-26"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_usDokaWvEeGVVPgQD6jlgA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Association" href="eastadl.profile.uml#_uqVKQKWvEeGVVPgQD6jlgA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_usDokqWvEeGVVPgQD6jlgA" points="[-8, 4, 0, -100]$[3, 99, 11, -5]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_uyJCcKWvEeGVVPgQD6jlgA" id="(0.019434628975265017,0.96)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_uyJpgKWvEeGVVPgQD6jlgA" id="(0.9253112033195021,0.05)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_24TuMGr1EeKfAKdIb-SdVw" type="4002" source="_3_Z4sKWuEeGVVPgQD6jlgA" target="_22ODgGr1EeKfAKdIb-SdVw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_24TuM2r1EeKfAKdIb-SdVw" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_24TuNGr1EeKfAKdIb-SdVw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_24TuMWr1EeKfAKdIb-SdVw" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="eastadl.profile.uml#_pVJBEE2DEd-Y0rmHl9ZsQw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_24TuMmr1EeKfAKdIb-SdVw" points="[-73, -20, 809, 215]$[-882, -235, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_E1dlkGr2EeKfAKdIb-SdVw" type="4002" source="_3_Z4sKWuEeGVVPgQD6jlgA" target="_EyVZEGr2EeKfAKdIb-SdVw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_E1dlk2r2EeKfAKdIb-SdVw" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_E1dllGr2EeKfAKdIb-SdVw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_E1dlkWr2EeKfAKdIb-SdVw" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="eastadl.profile.uml#_zq57AE2DEd-Y0rmHl9ZsQw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_E1dlkmr2EeKfAKdIb-SdVw" points="[-73, -20, 809, 215]$[-882, -235, 0, 0]"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_7-KDMJqrEeGhQ8mhoNM_3Q" type="PapyrusUMLProfileDiagram" name="Needs" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_8r22sJqrEeGhQ8mhoNM_3Q" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8r3dwJqrEeGhQ8mhoNM_3Q" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8r3dwZqrEeGhQ8mhoNM_3Q" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8r3dwpqrEeGhQ8mhoNM_3Q" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8r3dw5qrEeGhQ8mhoNM_3Q" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8r3dxJqrEeGhQ8mhoNM_3Q" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8r3dxZqrEeGhQ8mhoNM_3Q" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8r3dxpqrEeGhQ8mhoNM_3Q" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_8r3dx5qrEeGhQ8mhoNM_3Q" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_8r3dyJqrEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_8r4E0JqrEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_8r4E0ZqrEeGhQ8mhoNM_3Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8r4E0pqrEeGhQ8mhoNM_3Q"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_8r4E05qrEeGhQ8mhoNM_3Q" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_8r4E1JqrEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_8r4E1ZqrEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_8r4E1pqrEeGhQ8mhoNM_3Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8r4E15qrEeGhQ8mhoNM_3Q"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_042DYExHEd-8Fb2lgHByaQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8r22sZqrEeGhQ8mhoNM_3Q" x="107" y="224"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="__5Qm0JqrEeGhQ8mhoNM_3Q" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__5RN4JqrEeGhQ8mhoNM_3Q" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__5RN4ZqrEeGhQ8mhoNM_3Q" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__5RN4pqrEeGhQ8mhoNM_3Q" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__5RN45qrEeGhQ8mhoNM_3Q" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__5RN5JqrEeGhQ8mhoNM_3Q" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__5RN5ZqrEeGhQ8mhoNM_3Q" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="__5RN5pqrEeGhQ8mhoNM_3Q" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="__5RN55qrEeGhQ8mhoNM_3Q" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="__5RN6JqrEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__5RN6ZqrEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__5RN6pqrEeGhQ8mhoNM_3Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__5RN65qrEeGhQ8mhoNM_3Q"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="__5RN7JqrEeGhQ8mhoNM_3Q" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="__5RN7ZqrEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__5RN7pqrEeGhQ8mhoNM_3Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__5RN75qrEeGhQ8mhoNM_3Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__5RN8JqrEeGhQ8mhoNM_3Q"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__5Qm0ZqrEeGhQ8mhoNM_3Q" x="100" y="30"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_7-KqQJqrEeGhQ8mhoNM_3Q"/>
+ <element xmi:type="uml:Profile" href="eastadl.profile.uml#_OTomkErmEd-squZ2Pzs1Iw"/>
+ <edges xmi:type="notation:Connector" xmi:id="_BCkYQJqsEeGhQ8mhoNM_3Q" type="4002" source="_8r22sJqrEeGhQ8mhoNM_3Q" target="__5Qm0JqrEeGhQ8mhoNM_3Q" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_BCk_UJqsEeGhQ8mhoNM_3Q" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_BCk_UZqsEeGhQ8mhoNM_3Q" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_BCkYQZqsEeGhQ8mhoNM_3Q" fontName="Segoe UI"/>
+ <element xmi:type="uml:Generalization" href="eastadl.profile.uml#_BCVuwJqsEeGhQ8mhoNM_3Q"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BCkYQpqsEeGhQ8mhoNM_3Q" points="[5, -9, 3, 144]$[5, -103, 3, 50]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BC1eAJqsEeGhQ8mhoNM_3Q" id="(0.41,0.09)"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_NoNCEJq3EeGgUfgGS4KevA" type="PapyrusUMLProfileDiagram" name="UserAttributes" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_PFL9cJq3EeGgUfgGS4KevA" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PFMkgJq3EeGgUfgGS4KevA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PFMkgZq3EeGgUfgGS4KevA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PFMkgpq3EeGgUfgGS4KevA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PFMkg5q3EeGgUfgGS4KevA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PFMkhJq3EeGgUfgGS4KevA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PFMkhZq3EeGgUfgGS4KevA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PFMkhpq3EeGgUfgGS4KevA" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_PFMkh5q3EeGgUfgGS4KevA" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_PFMkiJq3EeGgUfgGS4KevA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_PFMkiZq3EeGgUfgGS4KevA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PFMkipq3EeGgUfgGS4KevA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PFMki5q3EeGgUfgGS4KevA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_PFNLkJq3EeGgUfgGS4KevA" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_PFNLkZq3EeGgUfgGS4KevA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_PFNLkpq3EeGgUfgGS4KevA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PFNLk5q3EeGgUfgGS4KevA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PFNLlJq3EeGgUfgGS4KevA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_UmXLgN5dEdyYTuvJlD3q4A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PFL9cZq3EeGgUfgGS4KevA" x="380" y="65" width="156"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_QWvE4Jq3EeGgUfgGS4KevA" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QWvr8Jq3EeGgUfgGS4KevA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QWvr8Zq3EeGgUfgGS4KevA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QWvr8pq3EeGgUfgGS4KevA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QWvr85q3EeGgUfgGS4KevA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QWvr9Jq3EeGgUfgGS4KevA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QWvr9Zq3EeGgUfgGS4KevA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_QWvr9pq3EeGgUfgGS4KevA" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QWvr95q3EeGgUfgGS4KevA" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_QWvr-Jq3EeGgUfgGS4KevA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QWvr-Zq3EeGgUfgGS4KevA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QWvr-pq3EeGgUfgGS4KevA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QWvr-5q3EeGgUfgGS4KevA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QWwTAJq3EeGgUfgGS4KevA" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_QWwTAZq3EeGgUfgGS4KevA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QWwTApq3EeGgUfgGS4KevA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QWwTA5q3EeGgUfgGS4KevA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QWwTBJq3EeGgUfgGS4KevA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_tW0_AN5eEdyYTuvJlD3q4A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QWvE4Zq3EeGgUfgGS4KevA" x="75" y="65" width="141"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_NoNCEZq3EeGgUfgGS4KevA"/>
+ <element xmi:type="uml:Profile" href="eastadl.profile.uml#_2M5XsNu0EdyN-KVwISucrA"/>
+ <edges xmi:type="notation:Connector" xmi:id="_Tjc4gJq3EeGgUfgGS4KevA" type="4001" source="_QWvE4Jq3EeGgUfgGS4KevA" target="_PFL9cJq3EeGgUfgGS4KevA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_TjdfkJq3EeGgUfgGS4KevA" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_TjdfkZq3EeGgUfgGS4KevA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Tjdfkpq3EeGgUfgGS4KevA" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Tjdfk5q3EeGgUfgGS4KevA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_TjdflJq3EeGgUfgGS4KevA" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_TjeGoJq3EeGgUfgGS4KevA" x="-7" y="15"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_TjeGoZq3EeGgUfgGS4KevA" visible="false" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_TjeGopq3EeGgUfgGS4KevA" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_TjeGo5q3EeGgUfgGS4KevA" visible="false" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_TjeGpJq3EeGgUfgGS4KevA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_TjeGpZq3EeGgUfgGS4KevA" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_TjeGppq3EeGgUfgGS4KevA" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Tjc4gZq3EeGgUfgGS4KevA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Association" href="eastadl.profile.uml#_Ti4QwJq3EeGgUfgGS4KevA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Tjc4gpq3EeGgUfgGS4KevA" points="[4, -3, -179, 0]$[168, -2, -15, 1]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TkO7oJq3EeGgUfgGS4KevA" id="(0.9716312056737588,0.6)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TkO7oZq3EeGgUfgGS4KevA" id="(0.09615384615384616,0.57)"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_fuHqoKWkEeGVVPgQD6jlgA" type="PapyrusUMLProfileDiagram" name="Datatypes" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_kSLrsKWkEeGVVPgQD6jlgA" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kSMSwKWkEeGVVPgQD6jlgA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kSMSwaWkEeGVVPgQD6jlgA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kSMSwqWkEeGVVPgQD6jlgA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kSMSw6WkEeGVVPgQD6jlgA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kSMSxKWkEeGVVPgQD6jlgA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kSMSxaWkEeGVVPgQD6jlgA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_kSMSxqWkEeGVVPgQD6jlgA" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_kSM50KWkEeGVVPgQD6jlgA" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_kSM50aWkEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kSM50qWkEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kSM506WkEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kSM51KWkEeGVVPgQD6jlgA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_kSM51aWkEeGVVPgQD6jlgA" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_kSM51qWkEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_kSM516WkEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_kSM52KWkEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kSM52aWkEeGVVPgQD6jlgA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_kRtxoKWkEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kSLrsaWkEeGVVPgQD6jlgA" x="55" y="165" width="158" height="77"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_za1s4KWkEeGVVPgQD6jlgA" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_za1s4qWkEeGVVPgQD6jlgA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_za1s46WkEeGVVPgQD6jlgA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_za1s5KWkEeGVVPgQD6jlgA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_za1s5aWkEeGVVPgQD6jlgA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_za2T8KWkEeGVVPgQD6jlgA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_za2T8aWkEeGVVPgQD6jlgA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_za2T8qWkEeGVVPgQD6jlgA" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_za2T86WkEeGVVPgQD6jlgA" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_za2T9KWkEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_za2T9aWkEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_za2T9qWkEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_za2T96WkEeGVVPgQD6jlgA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_za2T-KWkEeGVVPgQD6jlgA" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_za2T-aWkEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_za2T-qWkEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_za2T-6WkEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_za2T_KWkEeGVVPgQD6jlgA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_za1s4aWkEeGVVPgQD6jlgA" x="55" y="15" width="166" height="68"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_43Mn4KWkEeGVVPgQD6jlgA" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_43NO8KWkEeGVVPgQD6jlgA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_43NO8aWkEeGVVPgQD6jlgA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_43NO8qWkEeGVVPgQD6jlgA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_43NO86WkEeGVVPgQD6jlgA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_43NO9KWkEeGVVPgQD6jlgA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_43NO9aWkEeGVVPgQD6jlgA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_43N2AKWkEeGVVPgQD6jlgA" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_43N2AaWkEeGVVPgQD6jlgA" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_43N2AqWkEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_43N2A6WkEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_43N2BKWkEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_43N2BaWkEeGVVPgQD6jlgA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_43N2BqWkEeGVVPgQD6jlgA" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_43N2B6WkEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_43N2CKWkEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_43N2CaWkEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_43N2CqWkEeGVVPgQD6jlgA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_42QMsKWkEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_43Mn4aWkEeGVVPgQD6jlgA" x="565" y="170" width="116" height="76"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_-Qzw4KWkEeGVVPgQD6jlgA" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-Qzw4qWkEeGVVPgQD6jlgA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-Q0X8KWkEeGVVPgQD6jlgA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-Q0X8aWkEeGVVPgQD6jlgA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-Q0X8qWkEeGVVPgQD6jlgA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-Q0X86WkEeGVVPgQD6jlgA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-Q0X9KWkEeGVVPgQD6jlgA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_-Q0X9aWkEeGVVPgQD6jlgA" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_-Q0X9qWkEeGVVPgQD6jlgA" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_-Q0X96WkEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_-Q0X-KWkEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_-Q0X-aWkEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-Q0X-qWkEeGVVPgQD6jlgA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_-Q0X-6WkEeGVVPgQD6jlgA" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_-Q0X_KWkEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_-Q0X_aWkEeGVVPgQD6jlgA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_-Q0X_qWkEeGVVPgQD6jlgA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-Q0X_6WkEeGVVPgQD6jlgA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_i-WNODxIEdyqfK4bFJstMQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-Qzw4aWkEeGVVPgQD6jlgA" x="570" y="10" width="116" height="76"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_fuHqoaWkEeGVVPgQD6jlgA"/>
+ <element xmi:type="uml:Profile" href="eastadl.profile.uml#_i-WNLTxIEdyqfK4bFJstMQ"/>
+ <edges xmi:type="notation:Connector" xmi:id="_1Vn-kKWkEeGVVPgQD6jlgA" type="4002" source="_kSLrsKWkEeGVVPgQD6jlgA" target="_za1s4KWkEeGVVPgQD6jlgA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_1VoloKWkEeGVVPgQD6jlgA" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1VoloaWkEeGVVPgQD6jlgA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_1Vn-kaWkEeGVVPgQD6jlgA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Generalization" href="eastadl.profile.uml#_1UbEsKWkEeGVVPgQD6jlgA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1Vn-kqWkEeGVVPgQD6jlgA" points="[-1, -7, -6, 116]$[-1, -157, -6, -34]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1YyAQKWkEeGVVPgQD6jlgA" id="(0.4936708860759494,0.09090909090909091)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_B0SesKWlEeGVVPgQD6jlgA" type="4002" source="_43Mn4KWkEeGVVPgQD6jlgA" target="_-Qzw4KWkEeGVVPgQD6jlgA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_B0TFwKWlEeGVVPgQD6jlgA" visible="false" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_B0TFwaWlEeGVVPgQD6jlgA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_B0SesaWlEeGVVPgQD6jlgA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Generalization" href="eastadl.profile.uml#_BznwUKWlEeGVVPgQD6jlgA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_B0SesqWlEeGVVPgQD6jlgA" points="[0, -8, 0, 99]$[-4, -92, -4, 15]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_B1Z5AKWlEeGVVPgQD6jlgA" id="(0.5,0.10526315789473684)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_B1Z5AaWlEeGVVPgQD6jlgA" id="(0.45689655172413796,0.8026315789473685)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_KwvcUKWlEeGVVPgQD6jlgA" type="4001" source="_43Mn4KWkEeGVVPgQD6jlgA" target="_kSLrsKWkEeGVVPgQD6jlgA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_KwwDYKWlEeGVVPgQD6jlgA" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_KwwDYaWlEeGVVPgQD6jlgA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_KwwDYqWlEeGVVPgQD6jlgA" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_KwwDY6WlEeGVVPgQD6jlgA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_KwwqcKWlEeGVVPgQD6jlgA" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_KwwqcaWlEeGVVPgQD6jlgA" x="-35" y="-14"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_KwwqcqWlEeGVVPgQD6jlgA" visible="false" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Kwwqc6WlEeGVVPgQD6jlgA" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_KwwqdKWlEeGVVPgQD6jlgA" visible="false" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_KwwqdaWlEeGVVPgQD6jlgA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_KwwqdqWlEeGVVPgQD6jlgA" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Kwwqd6WlEeGVVPgQD6jlgA" x="16" y="16"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_KwvcUaWlEeGVVPgQD6jlgA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Association" href="eastadl.profile.uml#_KwCRs6WlEeGVVPgQD6jlgA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KwvcUqWlEeGVVPgQD6jlgA" points="[-4, -5, 186, 0]$[-186, -5, 4, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KxylMKWlEeGVVPgQD6jlgA" id="(0.034482758620689655,0.5657894736842105)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KxzMQKWlEeGVVPgQD6jlgA" id="(0.9746835443037974,0.5584415584415584)"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_rlK-ILYsEeGyVPNcbdBunw" type="PapyrusUMLProfileDiagram" name="UserAttributes" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_r7KcQLYsEeGyVPNcbdBunw" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_r7KcQrYsEeGyVPNcbdBunw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_r7KcQ7YsEeGyVPNcbdBunw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_r7KcRLYsEeGyVPNcbdBunw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_r7KcRbYsEeGyVPNcbdBunw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_r7LDULYsEeGyVPNcbdBunw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_r7LDUbYsEeGyVPNcbdBunw" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_r7LDUrYsEeGyVPNcbdBunw" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_r7LDU7YsEeGyVPNcbdBunw" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_r7LDVLYsEeGyVPNcbdBunw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_r7LDVbYsEeGyVPNcbdBunw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_r7LDVrYsEeGyVPNcbdBunw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r7LDV7YsEeGyVPNcbdBunw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_r7LDWLYsEeGyVPNcbdBunw" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_r7LDWbYsEeGyVPNcbdBunw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_r7LDWrYsEeGyVPNcbdBunw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_r7LDW7YsEeGyVPNcbdBunw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r7LDXLYsEeGyVPNcbdBunw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_asWc4N5eEdyYTuvJlD3q4A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r7KcQbYsEeGyVPNcbdBunw" x="210" y="257" width="200"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_tWyFsLYsEeGyVPNcbdBunw" type="1031" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tWyswLYsEeGyVPNcbdBunw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tWyswbYsEeGyVPNcbdBunw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tWyswrYsEeGyVPNcbdBunw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tWysw7YsEeGyVPNcbdBunw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tWysxLYsEeGyVPNcbdBunw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tWysxbYsEeGyVPNcbdBunw" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tWysyLYsEeGyVPNcbdBunw" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nSMm4GrzEeKfAKdIb-SdVw" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nSMm4WrzEeKfAKdIb-SdVw" key="StereotypeList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nSMm4mrzEeKfAKdIb-SdVw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nSMm42rzEeKfAKdIb-SdVw" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_nSMm5GrzEeKfAKdIb-SdVw" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_tWysxrYsEeGyVPNcbdBunw" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tWysx7YsEeGyVPNcbdBunw" x="680" y="255" height="106"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_jhIkULYuEeGyVPNcbdBunw" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jhJLYLYuEeGyVPNcbdBunw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jhJLYbYuEeGyVPNcbdBunw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jhJLYrYuEeGyVPNcbdBunw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jhJLY7YuEeGyVPNcbdBunw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jhJLZLYuEeGyVPNcbdBunw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_jhJLZbYuEeGyVPNcbdBunw" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_jhJLZrYuEeGyVPNcbdBunw" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jhJLZ7YuEeGyVPNcbdBunw" type="1071">
+ <children xmi:type="notation:Shape" xmi:id="_pv3-gLYuEeGyVPNcbdBunw" type="3002" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Property" href="eastadl.profile.uml#_osrRoEu8Ed-xzKBfQHZrnw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_pv3-gbYuEeGyVPNcbdBunw" x="24" y="22"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_pxB1ELYuEeGyVPNcbdBunw" type="3002" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Property" href="eastadl.profile.uml#_-qNqgEu9Ed-xzKBfQHZrnw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_pxB1EbYuEeGyVPNcbdBunw" x="24" y="22"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_jhJLaLYuEeGyVPNcbdBunw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jhJLabYuEeGyVPNcbdBunw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jhJLarYuEeGyVPNcbdBunw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jhJLa7YuEeGyVPNcbdBunw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_jhJLbLYuEeGyVPNcbdBunw" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_jhJLbbYuEeGyVPNcbdBunw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_jhJLbrYuEeGyVPNcbdBunw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_jhJLb7YuEeGyVPNcbdBunw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jhJLcLYuEeGyVPNcbdBunw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_UmXLgN5dEdyYTuvJlD3q4A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jhIkUbYuEeGyVPNcbdBunw" x="205" y="488" width="221"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_tY8W8LYuEeGyVPNcbdBunw" type="1026" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tY8-ALYuEeGyVPNcbdBunw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tY8-AbYuEeGyVPNcbdBunw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tY8-ArYuEeGyVPNcbdBunw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tY8-A7YuEeGyVPNcbdBunw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tY8-BLYuEeGyVPNcbdBunw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tY8-BbYuEeGyVPNcbdBunw" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_tY8-BrYuEeGyVPNcbdBunw" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_tY8-B7YuEeGyVPNcbdBunw" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_tY8-CLYuEeGyVPNcbdBunw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_tY8-CbYuEeGyVPNcbdBunw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_tY8-CrYuEeGyVPNcbdBunw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tY8-C7YuEeGyVPNcbdBunw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_tY8-DLYuEeGyVPNcbdBunw" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_tY9lELYuEeGyVPNcbdBunw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_tY9lEbYuEeGyVPNcbdBunw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_tY9lErYuEeGyVPNcbdBunw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tY9lE7YuEeGyVPNcbdBunw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_UdoyUNu1EdyN-KVwISucrA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tY8W8bYuEeGyVPNcbdBunw" x="865" y="490" width="216"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_rlK-IbYsEeGyVPNcbdBunw"/>
+ <element xmi:type="uml:Profile" href="eastadl.profile.uml#_2M5XsNu0EdyN-KVwISucrA"/>
+ <edges xmi:type="notation:Connector" xmi:id="_u9Df8LYsEeGyVPNcbdBunw" type="4001" source="_r7KcQLYsEeGyVPNcbdBunw" target="_tWyFsLYsEeGyVPNcbdBunw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_u9EHALYsEeGyVPNcbdBunw" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_u9EHAbYsEeGyVPNcbdBunw" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_u9EHArYsEeGyVPNcbdBunw" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_u9EHA7YsEeGyVPNcbdBunw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_u9EHBLYsEeGyVPNcbdBunw" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_u9EHBbYsEeGyVPNcbdBunw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_u9EHBrYsEeGyVPNcbdBunw" visible="false" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_u9EuELYsEeGyVPNcbdBunw" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_u9EuEbYsEeGyVPNcbdBunw" visible="false" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_u9EuErYsEeGyVPNcbdBunw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_u9EuE7YsEeGyVPNcbdBunw" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_u9EuFLYsEeGyVPNcbdBunw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_u9Df8bYsEeGyVPNcbdBunw" fontName="Segoe UI"/>
+ <element xmi:type="uml:Association" href="eastadl.profile.uml#_u77ekLYsEeGyVPNcbdBunw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_u9Df8rYsEeGyVPNcbdBunw" points="[7, -2, -160, 0]$[152, -1, -15, 1]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_u_fv8LYsEeGyVPNcbdBunw" id="(0.948905109489051,0.51)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_u_gXALYsEeGyVPNcbdBunw" id="(0.15,0.5283018867924528)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_PIZmELYtEeGyVPNcbdBunw" type="1013" source="_r7KcQLYsEeGyVPNcbdBunw" target="_tWyFsLYsEeGyVPNcbdBunw" lineColor="0">
+ <styles xmi:type="notation:FontStyle" xmi:id="_PIZmEbYtEeGyVPNcbdBunw" fontName="Segoe UI"/>
+ <element xmi:type="uml:Extension" href="eastadl.profile.uml#_PHXEQbYtEeGyVPNcbdBunw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PIZmErYtEeGyVPNcbdBunw" points="[5, 2, -287, 0]$[275, -15, -17, -17]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PKepsLYtEeGyVPNcbdBunw" id="(0.975,0.16)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PKepsbYtEeGyVPNcbdBunw" id="(0.17,0.18867924528301888)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_taJQ0LYuEeGyVPNcbdBunw" type="4001" source="_jhIkULYuEeGyVPNcbdBunw" target="_tY8W8LYuEeGyVPNcbdBunw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_taJ34LYuEeGyVPNcbdBunw" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_taJ34bYuEeGyVPNcbdBunw" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_taJ34rYuEeGyVPNcbdBunw" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_taJ347YuEeGyVPNcbdBunw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_taJ35LYuEeGyVPNcbdBunw" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_taJ35bYuEeGyVPNcbdBunw" x="-61" y="17"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_taJ35rYuEeGyVPNcbdBunw" visible="false" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_taJ357YuEeGyVPNcbdBunw" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_taJ36LYuEeGyVPNcbdBunw" visible="false" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_taKe8LYuEeGyVPNcbdBunw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_taKe8bYuEeGyVPNcbdBunw" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_taKe8rYuEeGyVPNcbdBunw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_taJQ0bYuEeGyVPNcbdBunw" fontName="Segoe UI"/>
+ <element xmi:type="uml:Association" href="eastadl.profile.uml#_hbj8UN5dEdyYTuvJlD3q4A"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_taJQ0rYuEeGyVPNcbdBunw" points="[-32, -55, 283, 488]$[-315, -543, 0, 0]"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_4sodcGrzEeKfAKdIb-SdVw" type="PapyrusUMLProfileDiagram" name="Dependability" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_5vPJ8GrzEeKfAKdIb-SdVw" type="1026" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5vPJ8mrzEeKfAKdIb-SdVw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5vPJ82rzEeKfAKdIb-SdVw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5vPJ9GrzEeKfAKdIb-SdVw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5vPJ9WrzEeKfAKdIb-SdVw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5vPJ9mrzEeKfAKdIb-SdVw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5vPJ92rzEeKfAKdIb-SdVw" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_5vPJ-GrzEeKfAKdIb-SdVw" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_5vPJ-WrzEeKfAKdIb-SdVw" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_5vPJ-mrzEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_5vPJ-2rzEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_5vPJ_GrzEeKfAKdIb-SdVw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5vPJ_WrzEeKfAKdIb-SdVw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_5vPJ_mrzEeKfAKdIb-SdVw" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_5vPJ_2rzEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_5vPKAGrzEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_5vPKAWrzEeKfAKdIb-SdVw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5vPKAmrzEeKfAKdIb-SdVw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_smrDAPN0Ed2Fz7wuW3iPYQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5vPJ8WrzEeKfAKdIb-SdVw" x="5" y="10" width="155"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_7u7w0GrzEeKfAKdIb-SdVw" type="1026" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7u7w0mrzEeKfAKdIb-SdVw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7u7w02rzEeKfAKdIb-SdVw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7u7w1GrzEeKfAKdIb-SdVw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7u7w1WrzEeKfAKdIb-SdVw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7u7w1mrzEeKfAKdIb-SdVw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7u7w12rzEeKfAKdIb-SdVw" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_7u7w2GrzEeKfAKdIb-SdVw" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7u7w2WrzEeKfAKdIb-SdVw" type="1071">
+ <children xmi:type="notation:Shape" xmi:id="_J5zUEGr0EeKfAKdIb-SdVw" type="3002" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Property" href="eastadl.profile.uml#_XVwPEE2eEd-Nn4upK86kww"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_J5zUEWr0EeKfAKdIb-SdVw" x="18" y="40"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7u7w2mrzEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7u7w22rzEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7u7w3GrzEeKfAKdIb-SdVw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7u7w3WrzEeKfAKdIb-SdVw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7u7w3mrzEeKfAKdIb-SdVw" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7u7w32rzEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7u7w4GrzEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7u7w4WrzEeKfAKdIb-SdVw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7u7w4mrzEeKfAKdIb-SdVw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_KIrJwE2eEd-Nn4upK86kww"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7u7w0WrzEeKfAKdIb-SdVw" x="335" y="25"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="__KuiQGrzEeKfAKdIb-SdVw" type="1026" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__KuiQmrzEeKfAKdIb-SdVw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__KuiQ2rzEeKfAKdIb-SdVw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__K3sMGrzEeKfAKdIb-SdVw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__K3sMWrzEeKfAKdIb-SdVw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__K3sMmrzEeKfAKdIb-SdVw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__K3sM2rzEeKfAKdIb-SdVw" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="__K3sNGrzEeKfAKdIb-SdVw" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="__K3sNWrzEeKfAKdIb-SdVw" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="__K3sNmrzEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__K3sN2rzEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__K3sOGrzEeKfAKdIb-SdVw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__K3sOWrzEeKfAKdIb-SdVw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="__K3sOmrzEeKfAKdIb-SdVw" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="__K3sO2rzEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__K3sPGrzEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__K3sPWrzEeKfAKdIb-SdVw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__K3sPmrzEeKfAKdIb-SdVw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__KuiQWrzEeKfAKdIb-SdVw" x="735" y="25"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_zEVRkGuKEeKfAKdIb-SdVw" type="1026" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zEVRkmuKEeKfAKdIb-SdVw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zEVRk2uKEeKfAKdIb-SdVw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zEVRlGuKEeKfAKdIb-SdVw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zEVRlWuKEeKfAKdIb-SdVw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zEVRlmuKEeKfAKdIb-SdVw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zEVRl2uKEeKfAKdIb-SdVw" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_zEVRmGuKEeKfAKdIb-SdVw" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_zEVRmWuKEeKfAKdIb-SdVw" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_zEVRmmuKEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_zEVRm2uKEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_zEVRnGuKEeKfAKdIb-SdVw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zEVRnWuKEeKfAKdIb-SdVw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_zEVRnmuKEeKfAKdIb-SdVw" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_zEVRn2uKEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_zEVRoGuKEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_zEVRoWuKEeKfAKdIb-SdVw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zEVRomuKEeKfAKdIb-SdVw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_pTBMQE2mEd-Nn4upK86kww"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zEVRkWuKEeKfAKdIb-SdVw" x="10" y="125" width="161"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_8o6mMGuKEeKfAKdIb-SdVw" type="1026" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8o6mMmuKEeKfAKdIb-SdVw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8o6mM2uKEeKfAKdIb-SdVw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8o6mNGuKEeKfAKdIb-SdVw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8o6mNWuKEeKfAKdIb-SdVw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8o6mNmuKEeKfAKdIb-SdVw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_8o6mN2uKEeKfAKdIb-SdVw" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8o6mOGuKEeKfAKdIb-SdVw" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_8o6mOWuKEeKfAKdIb-SdVw" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_8o6mOmuKEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_8o6mO2uKEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_8o6mPGuKEeKfAKdIb-SdVw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8o6mPWuKEeKfAKdIb-SdVw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_8o6mPmuKEeKfAKdIb-SdVw" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_8o6mP2uKEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_8o6mQGuKEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_8o6mQWuKEeKfAKdIb-SdVw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8o6mQmuKEeKfAKdIb-SdVw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_nkfVIN4rEdyW6f_GAa5b1w"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8o6mMWuKEeKfAKdIb-SdVw" x="300" y="155" width="496" height="66"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_F3IpQGuLEeKfAKdIb-SdVw" type="1026" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F3IpQmuLEeKfAKdIb-SdVw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_F3IpQ2uLEeKfAKdIb-SdVw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F3IpRGuLEeKfAKdIb-SdVw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_F3IpRWuLEeKfAKdIb-SdVw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F3IpRmuLEeKfAKdIb-SdVw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_F3IpR2uLEeKfAKdIb-SdVw" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_F3IpSGuLEeKfAKdIb-SdVw" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_F3IpSWuLEeKfAKdIb-SdVw" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_F3IpSmuLEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_F3IpS2uLEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_F3IpTGuLEeKfAKdIb-SdVw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_F3IpTWuLEeKfAKdIb-SdVw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_F3IpTmuLEeKfAKdIb-SdVw" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_F3IpT2uLEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_F3IpUGuLEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_F3IpUWuLEeKfAKdIb-SdVw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_F3IpUmuLEeKfAKdIb-SdVw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_L5AUMPLKEd2GjMX0La-ycQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_F3IpQWuLEeKfAKdIb-SdVw" x="670" y="270" width="121" height="131"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Z1VdEGuLEeKfAKdIb-SdVw" type="1026" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z1enAGuLEeKfAKdIb-SdVw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z1enAWuLEeKfAKdIb-SdVw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z1enAmuLEeKfAKdIb-SdVw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z1enA2uLEeKfAKdIb-SdVw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z1enBGuLEeKfAKdIb-SdVw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z1enBWuLEeKfAKdIb-SdVw" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Z1enBmuLEeKfAKdIb-SdVw" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Z1enB2uLEeKfAKdIb-SdVw" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Z1enCGuLEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Z1enCWuLEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Z1enCmuLEeKfAKdIb-SdVw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z1enC2uLEeKfAKdIb-SdVw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Z1enDGuLEeKfAKdIb-SdVw" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Z1enDWuLEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Z1enDmuLEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Z1enD2uLEeKfAKdIb-SdVw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z1enEGuLEeKfAKdIb-SdVw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z1VdEWuLEeKfAKdIb-SdVw" x="905" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_as6lUGuLEeKfAKdIb-SdVw" type="1026" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_atDvQGuLEeKfAKdIb-SdVw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_atDvQWuLEeKfAKdIb-SdVw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_atDvQmuLEeKfAKdIb-SdVw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_atDvQ2uLEeKfAKdIb-SdVw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_atDvRGuLEeKfAKdIb-SdVw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_atDvRWuLEeKfAKdIb-SdVw" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_atDvRmuLEeKfAKdIb-SdVw" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_atDvR2uLEeKfAKdIb-SdVw" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_atDvSGuLEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_atDvSWuLEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_atDvSmuLEeKfAKdIb-SdVw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_atDvS2uLEeKfAKdIb-SdVw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_atDvTGuLEeKfAKdIb-SdVw" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_atDvTWuLEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_atDvTmuLEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_atDvT2uLEeKfAKdIb-SdVw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_atDvUGuLEeKfAKdIb-SdVw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_JaFasPLKEd2GjMX0La-ycQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_as6lUWuLEeKfAKdIb-SdVw" x="350" y="280" height="116"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_dB6t0GuLEeKfAKdIb-SdVw" type="1026" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dB6t0muLEeKfAKdIb-SdVw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dB6t02uLEeKfAKdIb-SdVw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dB6t1GuLEeKfAKdIb-SdVw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dB6t1WuLEeKfAKdIb-SdVw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dB6t1muLEeKfAKdIb-SdVw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dB6t12uLEeKfAKdIb-SdVw" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_dB6t2GuLEeKfAKdIb-SdVw" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_dB6t2WuLEeKfAKdIb-SdVw" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_dB6t2muLEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_dB6t22uLEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_dB6t3GuLEeKfAKdIb-SdVw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dB6t3WuLEeKfAKdIb-SdVw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_dB6t3muLEeKfAKdIb-SdVw" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_dB6t32uLEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_dB6t4GuLEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_dB6t4WuLEeKfAKdIb-SdVw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dB6t4muLEeKfAKdIb-SdVw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_HZ6SsPLKEd2GjMX0La-ycQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dB6t0WuLEeKfAKdIb-SdVw" x="315" y="430" width="481" height="71"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_x7CfgGuQEeKMZaXH9OfbRg" type="1031" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_x7CfgmuQEeKMZaXH9OfbRg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_x7Cfg2uQEeKMZaXH9OfbRg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_x7CfhGuQEeKMZaXH9OfbRg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_x7CfhWuQEeKMZaXH9OfbRg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_x7CfhmuQEeKMZaXH9OfbRg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_x7Cfh2uQEeKMZaXH9OfbRg" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_x7CfiGuQEeKMZaXH9OfbRg" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x7CfgWuQEeKMZaXH9OfbRg" x="505" y="80"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_42CiwGuQEeKMZaXH9OfbRg" type="1031" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_42CiwmuQEeKMZaXH9OfbRg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_42Ciw2uQEeKMZaXH9OfbRg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_42CixGuQEeKMZaXH9OfbRg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_42CixWuQEeKMZaXH9OfbRg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_42CixmuQEeKMZaXH9OfbRg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_42Cix2uQEeKMZaXH9OfbRg" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_42CiyGuQEeKMZaXH9OfbRg" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_42CiwWuQEeKMZaXH9OfbRg" x="475" y="280"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_4sodcWrzEeKfAKdIb-SdVw"/>
+ <element xmi:type="uml:Profile" href="eastadl.profile.uml#_i-WJIDxIEdyqfK4bFJstMQ"/>
+ <edges xmi:type="notation:Connector" xmi:id="_72-5kGrzEeKfAKdIb-SdVw" type="4002" source="_5vPJ8GrzEeKfAKdIb-SdVw" target="_7u7w0GrzEeKfAKdIb-SdVw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_72-5k2rzEeKfAKdIb-SdVw" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_72-5lGrzEeKfAKdIb-SdVw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_72-5kWrzEeKfAKdIb-SdVw" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="eastadl.profile.uml#_WX0GgE2mEd-Nn4upK86kww"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_72-5kmrzEeKfAKdIb-SdVw" points="[-39, -50, 206, 270]$[-245, -320, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="__NQR0GrzEeKfAKdIb-SdVw" type="4002" source="_7u7w0GrzEeKfAKdIb-SdVw" target="__KuiQGrzEeKfAKdIb-SdVw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="__NQR02rzEeKfAKdIb-SdVw" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__NQR1GrzEeKfAKdIb-SdVw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="__NQR0WrzEeKfAKdIb-SdVw" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="eastadl.profile.uml#_2V0TYE3WEd-eluvub9wzww"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__NQR0mrzEeKfAKdIb-SdVw" points="[-50, -27, 410, 218]$[-460, -245, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_0rJeYGuKEeKfAKdIb-SdVw" type="4002" source="_zEVRkGuKEeKfAKdIb-SdVw" target="_7u7w0GrzEeKfAKdIb-SdVw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_0rJeY2uKEeKfAKdIb-SdVw" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_0rJeZGuKEeKfAKdIb-SdVw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_0rJeYWuKEeKfAKdIb-SdVw" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="eastadl.profile.uml#_uDLvoE2mEd-Nn4upK86kww"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0rJeYmuKEeKfAKdIb-SdVw" points="[55, -46, -203, 170]$[198, -166, -60, 50]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_9F0koGuKEeKfAKdIb-SdVw" type="4001" source="_8o6mMGuKEeKfAKdIb-SdVw" target="_8o6mMGuKEeKfAKdIb-SdVw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_9F0ko2uKEeKfAKdIb-SdVw" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9F0kpGuKEeKfAKdIb-SdVw" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_9F0kpWuKEeKfAKdIb-SdVw" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9F0kpmuKEeKfAKdIb-SdVw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_9F0kp2uKEeKfAKdIb-SdVw" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9F0kqGuKEeKfAKdIb-SdVw" x="2" y="6"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_9F0kqWuKEeKfAKdIb-SdVw" visible="false" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9F0kqmuKEeKfAKdIb-SdVw" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_9F0kq2uKEeKfAKdIb-SdVw" visible="false" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9F0krGuKEeKfAKdIb-SdVw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_9F0krWuKEeKfAKdIb-SdVw" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9F0krmuKEeKfAKdIb-SdVw" x="17" y="-53"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_9F0koWuKEeKfAKdIb-SdVw" fontHeight="8"/>
+ <element xmi:type="uml:Association" href="eastadl.profile.uml#_as9MkN4sEdyW6f_GAa5b1w"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9F0komuKEeKfAKdIb-SdVw" points="[-5, 11, 62, 33]$[-24, 61, 43, 83]$[-67, 61, 0, 83]$[-67, 11, 0, 33]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_H6HtUGuOEeKMZaXH9OfbRg" id="(0.6149193548387096,0.8939393939393939)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Z3uCsGuLEeKfAKdIb-SdVw" type="4001" source="_Z1VdEGuLEeKfAKdIb-SdVw" target="_F3IpQGuLEeKfAKdIb-SdVw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Z3uCs2uLEeKfAKdIb-SdVw" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Z3uCtGuLEeKfAKdIb-SdVw" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Z3uCtWuLEeKfAKdIb-SdVw" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Z3uCtmuLEeKfAKdIb-SdVw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Z3uCt2uLEeKfAKdIb-SdVw" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Z3uCuGuLEeKfAKdIb-SdVw" x="-48" y="-61"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Z3uCuWuLEeKfAKdIb-SdVw" visible="false" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Z3uCumuLEeKfAKdIb-SdVw" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Z3uCu2uLEeKfAKdIb-SdVw" visible="false" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Z3uCvGuLEeKfAKdIb-SdVw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Z3uCvWuLEeKfAKdIb-SdVw" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Z3uCvmuLEeKfAKdIb-SdVw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Z3uCsWuLEeKfAKdIb-SdVw" fontHeight="8"/>
+ <element xmi:type="uml:Association" href="eastadl.profile.uml#_3_R7QPLKEd2GjMX0La-ycQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Z3uCsmuLEeKfAKdIb-SdVw" points="[55, -4, -110, 6]$[115, -4, -50, 6]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_av5A0GuLEeKfAKdIb-SdVw" type="4001" source="_as6lUGuLEeKfAKdIb-SdVw" target="_F3IpQGuLEeKfAKdIb-SdVw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_av5A02uLEeKfAKdIb-SdVw" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_av5A1GuLEeKfAKdIb-SdVw" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_av5A1WuLEeKfAKdIb-SdVw" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_av5A1muLEeKfAKdIb-SdVw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_av5A12uLEeKfAKdIb-SdVw" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_av5A2GuLEeKfAKdIb-SdVw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_av5A2WuLEeKfAKdIb-SdVw" visible="false" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_av5A2muLEeKfAKdIb-SdVw" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_av5A22uLEeKfAKdIb-SdVw" visible="false" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_av5A3GuLEeKfAKdIb-SdVw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_av5A3WuLEeKfAKdIb-SdVw" visible="false" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_av5A3muLEeKfAKdIb-SdVw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_av5A0WuLEeKfAKdIb-SdVw" fontHeight="8"/>
+ <element xmi:type="uml:Association" href="eastadl.profile.uml#_-4kHQPLKEd2GjMX0La-ycQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_av5A0muLEeKfAKdIb-SdVw" points="[4, 0, -220, -13]$[224, 13, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__dK5sGuOEeKMZaXH9OfbRg" id="(0.93,0.8706896551724138)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_70HvYGuOEeKMZaXH9OfbRg" id="(0.0,0.9)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_nC28YGuNEeKMZaXH9OfbRg" type="4001" source="_dB6t0GuLEeKfAKdIb-SdVw" target="_F3IpQGuLEeKfAKdIb-SdVw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_nC28Y2uNEeKMZaXH9OfbRg" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nC28ZGuNEeKMZaXH9OfbRg" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_nC28ZWuNEeKMZaXH9OfbRg" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nC28ZmuNEeKMZaXH9OfbRg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_nC28Z2uNEeKMZaXH9OfbRg" visible="false" type="6003">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_weV_YGuNEeKMZaXH9OfbRg" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yMduEGuNEeKMZaXH9OfbRg" key="CustomAppearance_MaskValue" value="22"/>
+ </eAnnotations>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nC28aGuNEeKMZaXH9OfbRg" x="-31" y="-31"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_nC28aWuNEeKMZaXH9OfbRg" visible="false" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nC28amuNEeKMZaXH9OfbRg" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_nC28a2uNEeKMZaXH9OfbRg" visible="false" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nC28bGuNEeKMZaXH9OfbRg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_nC28bWuNEeKMZaXH9OfbRg" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nC28bmuNEeKMZaXH9OfbRg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_nC28YWuNEeKMZaXH9OfbRg" fontHeight="8"/>
+ <element xmi:type="uml:Association" href="eastadl.profile.uml#_OR0wQPLLEd2GjMX0La-ycQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nC28YmuNEeKMZaXH9OfbRg" points="[0, 0, -14, 36]$[11, -29, -3, 7]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Bdd9gGuPEeKMZaXH9OfbRg" id="(0.8212058212058212,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BKZQgGuPEeKMZaXH9OfbRg" id="(0.45,0.9465648854961832)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_7NRnQGuNEeKMZaXH9OfbRg" type="4001" source="_dB6t0GuLEeKfAKdIb-SdVw" target="_8o6mMGuKEeKfAKdIb-SdVw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_7NRnQ2uNEeKMZaXH9OfbRg" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7NRnRGuNEeKMZaXH9OfbRg" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_7NRnRWuNEeKMZaXH9OfbRg" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7NRnRmuNEeKMZaXH9OfbRg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_7NRnR2uNEeKMZaXH9OfbRg" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7NRnSGuNEeKMZaXH9OfbRg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_7NRnSWuNEeKMZaXH9OfbRg" visible="false" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7NRnSmuNEeKMZaXH9OfbRg" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_7NRnS2uNEeKMZaXH9OfbRg" visible="false" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7NRnTGuNEeKMZaXH9OfbRg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_7NRnTWuNEeKMZaXH9OfbRg" visible="false" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7NRnTmuNEeKMZaXH9OfbRg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_7NRnQWuNEeKMZaXH9OfbRg" fontHeight="8"/>
+ <element xmi:type="uml:Association" href="eastadl.profile.uml#_Nswi0PNkEd2fEu9kIaMRFw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7NRnQmuNEeKMZaXH9OfbRg" points="[0, -2, -21, 200]$[20, -197, -1, 5]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VCOzEGuOEeKMZaXH9OfbRg" id="(0.04158004158004158,0.02)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cWayYGuOEeKMZaXH9OfbRg" id="(0.07258064516129033,0.93)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_x9kPEGuQEeKMZaXH9OfbRg" type="1013" source="_8o6mMGuKEeKfAKdIb-SdVw" target="_x7CfgGuQEeKMZaXH9OfbRg" lineColor="0">
+ <styles xmi:type="notation:FontStyle" xmi:id="_x9kPEWuQEeKMZaXH9OfbRg" fontHeight="8"/>
+ <element xmi:type="uml:Extension" href="eastadl.profile.uml#_SJKjgE2gEd-Nn4upK86kww"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_x9kPEmuQEeKMZaXH9OfbRg" points="[-108, -33, 440, 135]$[-548, -168, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_44bIYGuQEeKMZaXH9OfbRg" type="4001" source="_42CiwGuQEeKMZaXH9OfbRg" target="_F3IpQGuLEeKfAKdIb-SdVw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_44bIY2uQEeKMZaXH9OfbRg" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_44bIZGuQEeKMZaXH9OfbRg" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_44bIZWuQEeKMZaXH9OfbRg" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_44bIZmuQEeKMZaXH9OfbRg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_44bIZ2uQEeKMZaXH9OfbRg" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_44bIaGuQEeKMZaXH9OfbRg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_44bIaWuQEeKMZaXH9OfbRg" visible="false" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_44bIamuQEeKMZaXH9OfbRg" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_44bIa2uQEeKMZaXH9OfbRg" visible="false" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_44bIbGuQEeKMZaXH9OfbRg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_44bIbWuQEeKMZaXH9OfbRg" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_44bIbmuQEeKMZaXH9OfbRg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_44bIYWuQEeKMZaXH9OfbRg" fontHeight="8"/>
+ <element xmi:type="uml:Association" href="eastadl.profile.uml#_3gxTIE2gEd-Nn4upK86kww"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_44bIYmuQEeKMZaXH9OfbRg" points="[0, 0, -720, -335]$[670, 312, -50, -23]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_nPVVUGuREeKMZaXH9OfbRg" type="4001" source="_F3IpQGuLEeKfAKdIb-SdVw" target="_as6lUGuLEeKfAKdIb-SdVw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_nPVVU2uREeKMZaXH9OfbRg" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nPVVVGuREeKMZaXH9OfbRg" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_nPVVVWuREeKMZaXH9OfbRg" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nPVVVmuREeKMZaXH9OfbRg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_nPVVV2uREeKMZaXH9OfbRg" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nPVVWGuREeKMZaXH9OfbRg" x="2" y="11"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_nPVVWWuREeKMZaXH9OfbRg" visible="false" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nPVVWmuREeKMZaXH9OfbRg" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_nPVVW2uREeKMZaXH9OfbRg" visible="false" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nPVVXGuREeKMZaXH9OfbRg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_nPVVXWuREeKMZaXH9OfbRg" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_nPVVXmuREeKMZaXH9OfbRg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_nPVVUWuREeKMZaXH9OfbRg" fontHeight="8"/>
+ <element xmi:type="uml:Association" href="eastadl.profile.uml#_nNZbo2uREeKMZaXH9OfbRg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nPVVUmuREeKMZaXH9OfbRg" points="[-14, -2, 270, 24]$[-334, -29, -50, -3]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nRbAAGuREeKMZaXH9OfbRg" id="(0.01652892561983471,0.6335877862595419)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_szeTUGuREeKMZaXH9OfbRg" id="(0.82,0.5775862068965517)"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_mWsMMGuIEeKfAKdIb-SdVw" type="PapyrusUMLProfileDiagram" name="Structure" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_mzdAsGuIEeKfAKdIb-SdVw" type="1026" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mzdAsmuIEeKfAKdIb-SdVw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mzdAs2uIEeKfAKdIb-SdVw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mzdAtGuIEeKfAKdIb-SdVw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mzdAtWuIEeKfAKdIb-SdVw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mzdAtmuIEeKfAKdIb-SdVw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mzdAt2uIEeKfAKdIb-SdVw" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_mzdAuGuIEeKfAKdIb-SdVw" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_mzdAuWuIEeKfAKdIb-SdVw" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_mzdAumuIEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_mzdAu2uIEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_mzdAvGuIEeKfAKdIb-SdVw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mzdAvWuIEeKfAKdIb-SdVw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_mzdAvmuIEeKfAKdIb-SdVw" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_mzdAv2uIEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_mzdAwGuIEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_mzdAwWuIEeKfAKdIb-SdVw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mzdAwmuIEeKfAKdIb-SdVw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_i-f6IDxIEdyqfK4bFJstMQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mzdAsWuIEeKfAKdIb-SdVw" x="316" y="261" width="220"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_vyn7IGuIEeKfAKdIb-SdVw" type="1026" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vyn7ImuIEeKfAKdIb-SdVw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vyn7I2uIEeKfAKdIb-SdVw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vyn7JGuIEeKfAKdIb-SdVw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vyn7JWuIEeKfAKdIb-SdVw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vyn7JmuIEeKfAKdIb-SdVw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vyn7J2uIEeKfAKdIb-SdVw" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vyn7KGuIEeKfAKdIb-SdVw" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_vyn7KWuIEeKfAKdIb-SdVw" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_vyn7KmuIEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_vyn7K2uIEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_vyn7LGuIEeKfAKdIb-SdVw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vyn7LWuIEeKfAKdIb-SdVw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_vyxsIGuIEeKfAKdIb-SdVw" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_vyxsIWuIEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_vyxsImuIEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_vyxsI2uIEeKfAKdIb-SdVw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vyxsJGuIEeKfAKdIb-SdVw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_i-f6UzxIEdyqfK4bFJstMQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vyn7IWuIEeKfAKdIb-SdVw" x="65" y="235"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_wtMF8GuIEeKfAKdIb-SdVw" type="1026" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wtMF8muIEeKfAKdIb-SdVw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wtMF82uIEeKfAKdIb-SdVw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wtMF9GuIEeKfAKdIb-SdVw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wtMF9WuIEeKfAKdIb-SdVw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wtMF9muIEeKfAKdIb-SdVw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wtMF92uIEeKfAKdIb-SdVw" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_wtMF-GuIEeKfAKdIb-SdVw" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_wtMF-WuIEeKfAKdIb-SdVw" type="1071">
+ <children xmi:type="notation:Shape" xmi:id="_A36BEGuJEeKfAKdIb-SdVw" type="3002" fontHeight="8" lineColor="0">
+ <element xmi:type="uml:Property" href="pathmap://SysML_PROFILES/SysML.profile.uml#_ULDP0LVEEdu2ieF4ON8UjA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_A36BEWuJEeKfAKdIb-SdVw" x="66" y="34"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_wtMF-muIEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_wtMF-2uIEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_wtMF_GuIEeKfAKdIb-SdVw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wtMF_WuIEeKfAKdIb-SdVw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_wtMF_muIEeKfAKdIb-SdVw" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_wtMF_2uIEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_wtMGAGuIEeKfAKdIb-SdVw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_wtMGAWuIEeKfAKdIb-SdVw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wtMGAmuIEeKfAKdIb-SdVw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pathmap://SysML_PROFILES/SysML.profile.uml#_lNvKMLVDEdu2ieF4ON8UjA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wtMF8WuIEeKfAKdIb-SdVw" x="350" y="90"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_yHw6oGuVEeKvkeyTk2kwBQ" type="1026" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yHw6omuVEeKvkeyTk2kwBQ" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yHw6o2uVEeKvkeyTk2kwBQ" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yHw6pGuVEeKvkeyTk2kwBQ" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yHw6pWuVEeKvkeyTk2kwBQ" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yHw6pmuVEeKvkeyTk2kwBQ" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yHw6p2uVEeKvkeyTk2kwBQ" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_yHw6qGuVEeKvkeyTk2kwBQ" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_yHw6qWuVEeKvkeyTk2kwBQ" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_yHw6qmuVEeKvkeyTk2kwBQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_yHw6q2uVEeKvkeyTk2kwBQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_yHw6rGuVEeKvkeyTk2kwBQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yHw6rWuVEeKvkeyTk2kwBQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_yHw6rmuVEeKvkeyTk2kwBQ" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_yHw6r2uVEeKvkeyTk2kwBQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_yHw6sGuVEeKvkeyTk2kwBQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_yHw6sWuVEeKvkeyTk2kwBQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yHw6smuVEeKvkeyTk2kwBQ"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_TGIuEE0cEd-bZ5L3ZgEOlA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yHw6oWuVEeKvkeyTk2kwBQ" x="145" y="535"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_yJjDUGuVEeKvkeyTk2kwBQ" type="1026" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yJjDUmuVEeKvkeyTk2kwBQ" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yJjDU2uVEeKvkeyTk2kwBQ" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yJjDVGuVEeKvkeyTk2kwBQ" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yJjDVWuVEeKvkeyTk2kwBQ" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yJjDVmuVEeKvkeyTk2kwBQ" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yJjDV2uVEeKvkeyTk2kwBQ" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_yJjDWGuVEeKvkeyTk2kwBQ" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_yJjDWWuVEeKvkeyTk2kwBQ" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_yJjDWmuVEeKvkeyTk2kwBQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_yJjDW2uVEeKvkeyTk2kwBQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_yJjDXGuVEeKvkeyTk2kwBQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yJjDXWuVEeKvkeyTk2kwBQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_yJjDXmuVEeKvkeyTk2kwBQ" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_yJjDX2uVEeKvkeyTk2kwBQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_yJjDYGuVEeKvkeyTk2kwBQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_yJjDYWuVEeKvkeyTk2kwBQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yJjDYmuVEeKvkeyTk2kwBQ"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_ELRQUExjEd-SDeUiu9LLYg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yJjDUWuVEeKvkeyTk2kwBQ" x="70" y="375" width="186"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_z3X3EGuVEeKvkeyTk2kwBQ" type="1026" fontHeight="8" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z3X3EmuVEeKvkeyTk2kwBQ" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_z3X3E2uVEeKvkeyTk2kwBQ" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z3X3FGuVEeKvkeyTk2kwBQ" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_z3X3FWuVEeKvkeyTk2kwBQ" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z3X3FmuVEeKvkeyTk2kwBQ" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_z3X3F2uVEeKvkeyTk2kwBQ" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_z3X3GGuVEeKvkeyTk2kwBQ" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_z3X3GWuVEeKvkeyTk2kwBQ" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_z3X3GmuVEeKvkeyTk2kwBQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_z3X3G2uVEeKvkeyTk2kwBQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_z3X3HGuVEeKvkeyTk2kwBQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z3X3HWuVEeKvkeyTk2kwBQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_z3X3HmuVEeKvkeyTk2kwBQ" visible="false" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_z3X3H2uVEeKvkeyTk2kwBQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_z3X3IGuVEeKvkeyTk2kwBQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_z3X3IWuVEeKvkeyTk2kwBQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z3X3ImuVEeKvkeyTk2kwBQ"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="eastadl.profile.uml#_Y-pWYE0YEd-bZ5L3ZgEOlA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z3X3EWuVEeKvkeyTk2kwBQ" x="665" y="325" width="176"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_mWsMMWuIEeKfAKdIb-SdVw"/>
+ <element xmi:type="uml:Profile" href="eastadl.profile.uml#_i-WJIDxIEdyqfK4bFJstMQ"/>
+ <edges xmi:type="notation:Connector" xmi:id="_v154oGuIEeKfAKdIb-SdVw" type="4002" source="_mzdAsGuIEeKfAKdIb-SdVw" target="_vyn7IGuIEeKfAKdIb-SdVw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_v154o2uIEeKfAKdIb-SdVw" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_v154pGuIEeKfAKdIb-SdVw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_v154oWuIEeKfAKdIb-SdVw" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="eastadl.profile.uml#_i-f6ITxIEdyqfK4bFJstMQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_v154omuIEeKfAKdIb-SdVw" points="[-69, -50, 357, 261]$[-426, -311, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_wxD5UGuIEeKfAKdIb-SdVw" type="4002" source="_mzdAsGuIEeKfAKdIb-SdVw" target="_wtMF8GuIEeKfAKdIb-SdVw" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_wxD5U2uIEeKfAKdIb-SdVw" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_wxD5VGuIEeKfAKdIb-SdVw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_wxD5UWuIEeKfAKdIb-SdVw" fontHeight="8"/>
+ <element xmi:type="uml:Generalization" href="eastadl.profile.uml#_R6KmAE0jEd-2q5ZoAGcl8Q"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wxD5UmuIEeKfAKdIb-SdVw" points="[-69, -50, 357, 261]$[-426, -311, 0, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_NGoU0GuWEeKvkeyTk2kwBQ" type="4001" source="_yJjDUGuVEeKvkeyTk2kwBQ" target="_z3X3EGuVEeKvkeyTk2kwBQ" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_NGoU02uWEeKvkeyTk2kwBQ" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_NGoU1GuWEeKvkeyTk2kwBQ" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_NGoU1WuWEeKvkeyTk2kwBQ" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_NGoU1muWEeKvkeyTk2kwBQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_NGoU12uWEeKvkeyTk2kwBQ" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_NGoU2GuWEeKvkeyTk2kwBQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_NGoU2WuWEeKvkeyTk2kwBQ" visible="false" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_NGoU2muWEeKvkeyTk2kwBQ" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_NGoU22uWEeKvkeyTk2kwBQ" visible="false" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_NGoU3GuWEeKvkeyTk2kwBQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_NGoU3WuWEeKvkeyTk2kwBQ" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_NGoU3muWEeKvkeyTk2kwBQ" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_NGoU0WuWEeKvkeyTk2kwBQ" fontHeight="8"/>
+ <element xmi:type="uml:Association" href="eastadl.profile.uml#_NEr0E2uWEeKvkeyTk2kwBQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NGoU0muWEeKvkeyTk2kwBQ" points="[29, -3, -442, 36]$[438, -31, -33, 8]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NIadgGuWEeKvkeyTk2kwBQ" id="(0.8440860215053764,0.53)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NIadgWuWEeKvkeyTk2kwBQ" id="(0.1875,0.64)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_PIamYGuWEeKvkeyTk2kwBQ" type="4001" source="_yJjDUGuVEeKvkeyTk2kwBQ" target="_yHw6oGuVEeKvkeyTk2kwBQ" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIamY2uWEeKvkeyTk2kwBQ" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIamZGuWEeKvkeyTk2kwBQ" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIamZWuWEeKvkeyTk2kwBQ" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIamZmuWEeKvkeyTk2kwBQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIamZ2uWEeKvkeyTk2kwBQ" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIamaGuWEeKvkeyTk2kwBQ" x="-26" y="15"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIamaWuWEeKvkeyTk2kwBQ" visible="false" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIamamuWEeKvkeyTk2kwBQ" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIama2uWEeKvkeyTk2kwBQ" visible="false" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIambGuWEeKvkeyTk2kwBQ" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIambWuWEeKvkeyTk2kwBQ" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIambmuWEeKvkeyTk2kwBQ" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PIamYWuWEeKvkeyTk2kwBQ" fontHeight="8"/>
+ <element xmi:type="uml:Association" href="eastadl.profile.uml#_PGess2uWEeKvkeyTk2kwBQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PIamYmuWEeKvkeyTk2kwBQ" points="[5, 21, -39, -110]$[36, 181, -8, 50]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PJ50IGuWEeKvkeyTk2kwBQ" id="(0.489247311827957,0.79)"/>
+ </edges>
+ </notation:Diagram>
+</xmi:XMI>
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml
new file mode 100644
index 00000000000..1490873738a
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml
@@ -0,0 +1,8499 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xmi:XMI xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
+ <uml:Profile xmi:id="_i-WJIDxIEdyqfK4bFJstMQ" name="EAST-ADL2" metaclassReference="_oT3XYE3dEd-eluvub9wzww _olDOAE3dEd-eluvub9wzww _OlBDgE3xEd-lBeOY4fJiaA _w72gEGGVEd-6O-A3OulkUA _gyy7QGztEd-32sTBz6AwMQ _IjMlsG9IEd-Nl92aXXxcsg">
+ <elementImport xmi:id="_9qqD8F0nEdyp3-f27ERX8A">
+ <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </elementImport>
+ <elementImport xmi:id="_9qzN4F0nEdyp3-f27ERX8A">
+ <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ </elementImport>
+ <elementImport xmi:id="_9qzN4V0nEdyp3-f27ERX8A">
+ <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </elementImport>
+ <elementImport xmi:id="_9qzN4l0nEdyp3-f27ERX8A">
+ <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
+ </elementImport>
+ <elementImport xmi:id="_oT3XYE3dEd-eluvub9wzww" alias="NamedElement">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ </elementImport>
+ <elementImport xmi:id="_olDOAE3dEd-eluvub9wzww" alias="Property">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </elementImport>
+ <elementImport xmi:id="_OlBDgE3xEd-lBeOY4fJiaA" alias="Namespace">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Namespace"/>
+ </elementImport>
+ <elementImport xmi:id="_w72gEGGVEd-6O-A3OulkUA" alias="Port">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ </elementImport>
+ <elementImport xmi:id="_gyy7QGztEd-32sTBz6AwMQ" alias="Package">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ </elementImport>
+ <elementImport xmi:id="_IjMlsG9IEd-Nl92aXXxcsg" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <packageImport xmi:id="_sQ4RAJq2EeGgUfgGS4KevA">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:Profile" xmi:id="_i-WL-TxIEdyqfK4bFJstMQ" name="Variability" metaclassReference="_lf0ucEAZEdympvaafZjFBw _5z8GwEx7Ed-NY53ABFLNeA _A36GgEyBEd-NY53ABFLNeA">
+ <ownedComment xmi:id="_N1yZQKAxEd20Qu_niqpmJw" annotatedElement="_i-WL-TxIEdyqfK4bFJstMQ">
+ <body>This package contains elements to express variability in the analysis architecture, design architecture and implementation architecture. These abstraction levels in EAST-ADL2 will sometimes be called the artifact levels.</body>
+ </ownedComment>
+ <elementImport xmi:id="_lf0ucEAZEdympvaafZjFBw" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <elementImport xmi:id="_5z8GwEx7Ed-NY53ABFLNeA" alias="Package">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ </elementImport>
+ <elementImport xmi:id="_A36GgEyBEd-NY53ABFLNeA" alias="NamedElement">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ </elementImport>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WMGzxIEdyqfK4bFJstMQ" name="VariationGroup">
+ <ownedComment xmi:id="_LtRe8JX8Ed2iJ9_Y3as_2A" annotatedElement="_i-WMGzxIEdyqfK4bFJstMQ">
+ <body>A VariationGroup defines a relation between an arbitrary number of VariableElements. It is primarily intended for defining how these VariableElements may be combined (e.g. one requires the other, alternative, etc.).
+
+
+Semantics:
+Defines a dependency or constraint between the variable elements denoted by association variableElement. The actual constraint is specified by attribute kind.
+
+Extension:
+Class</body>
+ </ownedComment>
+ <generalization xmi:id="_i-WMHDxIEdyqfK4bFJstMQ" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_i-WMHTxIEdyqfK4bFJstMQ" name="constraint" visibility="public">
+ <ownedComment xmi:id="_i-WMHjxIEdyqfK4bFJstMQ">
+ <body>Only defined iff kind==&quot;custom&quot;. An OCL constraint specifying how the VariableElements in the variation group can be combined.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-WMIDxIEdyqfK4bFJstMQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-WMHzxIEdyqfK4bFJstMQ" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_i-WMJzxIEdyqfK4bFJstMQ" name="kind" type="_wWTBsDxIEdyqfK4bFJstMQ" isUnique="false">
+ <ownedComment xmi:id="_SSHE8JX8Ed2iJ9_Y3as_2A" annotatedElement="_i-WMJzxIEdyqfK4bFJstMQ">
+ <body>The kind of the variation group (see enumeration VariationGroupKind).</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aziVkGgTEdyZ-rSA5-bo-g" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aziVkWgTEdyZ-rSA5-bo-g" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_5SZ2ME9zEd63TMVefYU7MQ" name="base_Class" isUnique="false" association="_5NhWME9zEd63TMVefYU7MQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_GbWLIG1VEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_oSdAcEyQEd-4NtQ6SoVDcg" name="variableElement" type="_29pckF0rEdyp3-f27ERX8A" isOrdered="true" association="_oNZhUEyQEd-4NtQ6SoVDcg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_oS9WwEyQEd-4NtQ6SoVDcg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_oS_zAEyQEd-4NtQ6SoVDcg" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WP9TxIEdyqfK4bFJstMQ" name="ReuseMetaInformation">
+ <ownedComment xmi:id="_wXpKkJX7Ed2iJ9_Y3as_2A" annotatedElement="_i-WP9TxIEdyqfK4bFJstMQ">
+ <body>ReuseMetaInformation represents the description information needed in the context of reuse. For example a specific entity is only a short-time solution that is not intended to be reused. Also a specific entity can only be reused for specific model ranges (that are not reflected in the product model). This kind of information can be stored in this information.
+
+Semantics:
+The ReuseMetaInformation represents information that explains if and how the respective entity can be reused.
+
+
+Extension: Class</body>
+ </ownedComment>
+ <generalization xmi:id="_yeAM8E3ZEd-eluvub9wzww" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_geeOwGEmEdyta4cfhP9jxw" name="information" isUnique="false">
+ <ownedComment xmi:id="_z_4ckJX7Ed2iJ9_Y3as_2A" annotatedElement="_geeOwGEmEdyta4cfhP9jxw">
+ <body>The reuse information is stored in this attribute.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_kEsukGEmEdyta4cfhP9jxw" name="isReusable" isUnique="false">
+ <ownedComment xmi:id="_2ft8EJX7Ed2iJ9_Y3as_2A" annotatedElement="_kEsukGEmEdyta4cfhP9jxw">
+ <body>This Boolean attributes just says if the entity itself can essentially be reused or not. Specific information or constraints on reuse are in the information attribute. Default value is TRUE.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_tPkSoGd8EdyZ-rSA5-bo-g" value="true"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_ObQ0gNkXEd6rlulM-6rbhg" name="base_Class" isUnique="false" association="_OR1ywNkXEd6rlulM-6rbhg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_VwCgcNlnEdybgKlxjJEMxQ" name="ConfigurableContainer">
+ <ownedComment xmi:id="_shGeMJX4Ed2iJ9_Y3as_2A" annotatedElement="_VwCgcNlnEdybgKlxjJEMxQ">
+ <body>ConfigurableContainer is a marker class that marks an element identified by association configurableElement as a configurable container of some variable content, i.e. VariableElements and other, lower-level ConfigurableContainers. In order to describe the contained variability to the outside world and to allow configuration of it, the ConfigurableContainer can have a public feature model and an internal configuration decision model not visible from the outside, called &quot;internal binding&quot;.
+
+In addition, the ConfigurableContainer can be used to extend the EAST-ADL2 variability approach to other languages and standards by pointing from the ConfigurableContainer to the respective (non EAST-ADL2) element with association configurableElement. This provides the public feature model and the ConfigurationDecisionModel to that non EAST-ADL2 element.
+
+The variable content of a ConfigurableContainer is defined as all VariableElements and all other ConfigurableContainers that are directly or indirectly contained in the Identifiable denoted by association configurableElement. Instead of 'variable content' the term 'internal variability' may be used.
+
+Note that, according to this rule, the containment between a ConfigurableContainer and its variable content, i.e. its contained VariableElements and lower-level ConfigurableContainers, is not(!) directly defined between these meta-classes. Instead, the containment is defined by the Identifiable pointed to by association configurableElement. For example, consider a FunctionType &quot;WiperSystem&quot; containing two FunctionPrototypes &quot;front&quot; and &quot;rear&quot; both typed by FunctionType &quot;WiperMotor&quot;; to make the wiper system configurable and the rear wiper motor optional, a ConfigurableContainer is created that points to FunctionType &quot;WiperSystem&quot; (with association configurableElement) and a VariableElement is created that points to FunctionPrototype &quot;rear&quot; (with association optionalElement); the containment between the ConfigurableContainer and the VariableElement is therefore not explicitly defined between these classes but instead only between FunctionType &quot;WiperSystem&quot; and &quot;FunctionPrototype&quot; rear. In addition, the variability-related visibility of &quot;rear&quot; can be changed with PrivateContent: by default the variability of &quot;rear&quot; will be public and visible for direct configuration from the outside of its containing ConfigurableContainer, i.e. &quot;WiperSystem&quot;; by defining a PrivateContent marker object pointing to the FunctionPrototype &quot;rear&quot; this can be changed to private and this variability will not be visible from the outside of &quot;WiperSystem&quot;.
+
+Constraints:
+[1] Identifies one FunctionType or one HardwareComponentType.
+
+[2] The publicFeatureModel is only allowed to contain Features (no VehicleFeatures).
+
+Semantics:
+Marks the element identified by association configurableElement as a configurable container of variable content (i.e. it contains VariableElements and/or other, lower-level ConfigurableContainers) and optionally provides a public feature model and an internal configuration decision model for it, thus providing configurability support for them.
+
+Extension:
+Class</body>
+ </ownedComment>
+ <generalization xmi:id="_H7h3EEx9Ed-NY53ABFLNeA" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_ppImEN4uEdyW6f_GAa5b1w" name="internalBinding" type="_XWvV8Ex_Ed-NY53ABFLNeA" association="_pikrEN4uEdyW6f_GAa5b1w">
+ <ownedComment xmi:id="_vv2SIJX4Ed2iJ9_Y3as_2A" annotatedElement="_ppImEN4uEdyW6f_GAa5b1w">
+ <body>The PDM of the configurable container.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ppbhAN4uEdyW6f_GAa5b1w"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pplSAN4uEdyW6f_GAa5b1w" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_gt9IIER_Ed6AH8tkUB7w9w" name="variationGroup" type="_i-WMGzxIEdyqfK4bFJstMQ" association="_go1-oER_Ed6AH8tkUB7w9w">
+ <ownedComment xmi:id="_HbPD0FQvEd6Xd4cXg8Jv5g" annotatedElement="_gt9IIER_Ed6AH8tkUB7w9w">
+ <body>The variation groups that define certain constraints between this ADLVariableContainer's variable elements.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gvVoMER_Ed6AH8tkUB7w9w"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gvZSkER_Ed6AH8tkUB7w9w" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_KffWsEx_Ed-NY53ABFLNeA" name="base_Class" isUnique="false" association="_KRYCMEx_Ed-NY53ABFLNeA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rOROcG1XEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rOYjMG1XEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_MmXjoEx_Ed-NY53ABFLNeA" name="base_Package" isUnique="false" association="_MaCX0Ex_Ed-NY53ABFLNeA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_r-bgEG1XEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_r-g_oG1XEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_DVqs8EyCEd-NY53ABFLNeA" name="configurableElement" isUnique="false" association="_DPDuoEyCEd-NY53ABFLNeA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Ga8b0EyCEd-NY53ABFLNeA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_GbDJgEyCEd-NY53ABFLNeA" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_qaTkUN4uEdyW6f_GAa5b1w" name="publicFeatureModel" type="_i-f7BDxIEdyqfK4bFJstMQ" association="_qTvpUN4uEdyW6f_GAa5b1w">
+ <ownedComment xmi:id="_xhrcIJX4Ed2iJ9_Y3as_2A" annotatedElement="_qaTkUN4uEdyW6f_GAa5b1w">
+ <body>The local feature model of the configurable container.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_qamfQN4uEdyW6f_GAa5b1w"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_qawQQN4uEdyW6f_GAa5b1w" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_29pckF0rEdyp3-f27ERX8A" name="VariableElement">
+ <ownedComment xmi:id="_4YNPEJX4Ed2iJ9_Y3as_2A" annotatedElement="_29pckF0rEdyp3-f27ERX8A">
+ <body>VariableElement is a marker class that marks an artifact element denoted by association optionalElement as being optional, i.e. it will not be present in all configurations of the complete system. A typical example is an optional FunctionPrototype.
+
+In addition, the VariableElement can be used to extend the EAST-ADL2 variability approach to other languages and standards by pointing from the VariableElement to the respective (non EAST-ADL2) element with association optionalElement, by that marking the non EAST-ADL2 element as optional and providing configuration support within its containing ConfigurableContainer.
+
+Refer to the documentation of meta-class ConfigurableContainer for a detailed explanation of how ConfigurableContainer and VariableElement play together.
+
+
+Constraints:
+[1] Identifies either one FunctionPrototype or one FunctionPort or one FunctionConnector or one HardwareComponentPrototype or one HardwarePort or one ClampConnector.
+
+Semantics:
+Marks the element identified by association optionalElement as optional.
+
+Extension:
+Class</body>
+ </ownedComment>
+ <generalization xmi:id="_Ot760EyEEd-NY53ABFLNeA" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_qJ2dYEyEEd-NY53ABFLNeA" name="requiredBindingTime" type="_i-f7hTxIEdyqfK4bFJstMQ" association="_qBekgEyEEd-NY53ABFLNeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_qK7bcEyEEd-NY53ABFLNeA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_qLA7AEyEEd-NY53ABFLNeA" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_wpfaUEyEEd-NY53ABFLNeA" name="actualBindingTime" type="_i-f7hTxIEdyqfK4bFJstMQ" association="_whGTUEyEEd-NY53ABFLNeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_7rNk4EyQEd-4NtQ6SoVDcg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_7rTEcEyQEd-4NtQ6SoVDcg" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_2-5dMEyEEd-NY53ABFLNeA" name="reuseMetaInformation" type="_i-WP9TxIEdyqfK4bFJstMQ" association="_2tSIwEyEEd-NY53ABFLNeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3AIzUEyEEd-NY53ABFLNeA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3AQIEEyEEd-NY53ABFLNeA" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_-TMKMEyEEd-NY53ABFLNeA" name="optionalElement" isUnique="false" association="_-KdE8EyEEd-NY53ABFLNeA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-Ug_4EyEEd-NY53ABFLNeA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-UntkEyEEd-NY53ABFLNeA" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_KYoSAEyFEd-NY53ABFLNeA" name="base_Class" isUnique="false" association="_KGk4sEyFEd-NY53ABFLNeA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_pikrEN4uEdyW6f_GAa5b1w" name="A_ConfigurableContainer_InternalBinding" memberEnd="_ppImEN4uEdyW6f_GAa5b1w _pplSAd4uEdyW6f_GAa5b1w">
+ <ownedEnd xmi:id="_pplSAd4uEdyW6f_GAa5b1w" name="aDLConfigurableContainer" type="_VwCgcNlnEdybgKlxjJEMxQ" isUnique="false" association="_pikrEN4uEdyW6f_GAa5b1w">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pqBW4N4uEdyW6f_GAa5b1w"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pp4M8N4uEdyW6f_GAa5b1w" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_go1-oER_Ed6AH8tkUB7w9w" name="A_ADLConfigurableContainer_VariationGroup" memberEnd="_gt9IIER_Ed6AH8tkUB7w9w _gvcV4ER_Ed6AH8tkUB7w9w">
+ <ownedEnd xmi:id="_gvcV4ER_Ed6AH8tkUB7w9w" name="aDLConfigurableContainer" type="_VwCgcNlnEdybgKlxjJEMxQ" isUnique="false" association="_go1-oER_Ed6AH8tkUB7w9w">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gwA9oER_Ed6AH8tkUB7w9w"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gv96UER_Ed6AH8tkUB7w9w" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_5NhWME9zEd63TMVefYU7MQ" name="Extension_VariationGroup" memberEnd="_5SIJYE9zEd63TMVefYU7MQ _5SZ2ME9zEd63TMVefYU7MQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_5SIJYE9zEd63TMVefYU7MQ" name="extension_VariationGroup" type="_i-WMGzxIEdyqfK4bFJstMQ" aggregation="composite" association="_5NhWME9zEd63TMVefYU7MQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_OR1ywNkXEd6rlulM-6rbhg" name="Extension_ReuseMetaInformation" memberEnd="_OazhgNkXEd6rlulM-6rbhg _ObQ0gNkXEd6rlulM-6rbhg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_OazhgNkXEd6rlulM-6rbhg" name="extension_ReuseMetaInformation" type="_i-WP9TxIEdyqfK4bFJstMQ" aggregation="composite" association="_OR1ywNkXEd6rlulM-6rbhg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_qxpzUEx7Ed-NY53ABFLNeA" name="Variability">
+ <ownedComment xmi:id="_xlGdEEx7Ed-NY53ABFLNeA" annotatedElement="_qxpzUEx7Ed-NY53ABFLNeA">
+ <body>The collection of variability descriptions, related feature models, and decision models. This collection can be done across the EAST-ADL2 abstraction levels.</body>
+ </ownedComment>
+ <generalization xmi:id="_2T6VkEx7Ed-NY53ABFLNeA" general="_i-WNsjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_4AwR4Ex7Ed-NY53ABFLNeA" name="base_Class" isUnique="false" association="_3-8UAEx7Ed-NY53ABFLNeA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_t5F18G1XEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_t5LVgG1XEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_6zzoUEx7Ed-NY53ABFLNeA" name="base_Package" isUnique="false" association="_6qhJcEx7Ed-NY53ABFLNeA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uu740G1XEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uvD0oG1XEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_7rHOUEx8Ed-NY53ABFLNeA" name="configurableContainer" type="_VwCgcNlnEdybgKlxjJEMxQ" association="_7pO_AEx8Ed-NY53ABFLNeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_7rdzoEx8Ed-NY53ABFLNeA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_7rfo0Ex8Ed-NY53ABFLNeA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_nh4yEEyDEd-NY53ABFLNeA" name="configuration" type="_5E0WYERgEd65c51kyCKYXg" association="_naM1sEyDEd-NY53ABFLNeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_niTo0EyDEd-NY53ABFLNeA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_niWFEEyDEd-NY53ABFLNeA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_FmwsMEyKEd-4NtQ6SoVDcg" name="productFeatureModel" type="_i-f7BDxIEdyqfK4bFJstMQ" association="_Fj17EEyKEd-4NtQ6SoVDcg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FnTewEyKEd-4NtQ6SoVDcg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FnWiEEyKEd-4NtQ6SoVDcg" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_x39J0EyKEd-4NtQ6SoVDcg" name="decisionModel" type="_jegRoEyCEd-NY53ABFLNeA" association="_x1AjgEyKEd-4NtQ6SoVDcg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_x4pGUEyKEd-4NtQ6SoVDcg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_x4swsEyKEd-4NtQ6SoVDcg" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_2PNs4F3AEd-X4e4E_mYbkQ" name="variableElement" type="_29pckF0rEdyp3-f27ERX8A" isUnique="false" association="_2FCdMF3AEd-X4e4E_mYbkQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_2P5CUF3AEd-X4e4E_mYbkQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_2P7ekF3AEd-X4e4E_mYbkQ" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_3-8UAEx7Ed-NY53ABFLNeA" name="Extension_Variability" memberEnd="_4Acv4Ex7Ed-NY53ABFLNeA _4AwR4Ex7Ed-NY53ABFLNeA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_4Acv4Ex7Ed-NY53ABFLNeA" name="extension_Variability" type="_qxpzUEx7Ed-NY53ABFLNeA" aggregation="composite" association="_3-8UAEx7Ed-NY53ABFLNeA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_6qhJcEx7Ed-NY53ABFLNeA" name="Extension_Variability" memberEnd="_6zmM8Ex7Ed-NY53ABFLNeA _6zzoUEx7Ed-NY53ABFLNeA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_6zmM8Ex7Ed-NY53ABFLNeA" name="extension_Variability" type="_qxpzUEx7Ed-NY53ABFLNeA" aggregation="composite" association="_6qhJcEx7Ed-NY53ABFLNeA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-f6-TxIEdyqfK4bFJstMQ" name="ConfigurationDecision">
+ <ownedComment xmi:id="_kkJi4JVBEd2pV7v-CAwgKg" annotatedElement="_i-f6-TxIEdyqfK4bFJstMQ">
+ <body>ConfigurationDecision represents a single, atomized rule on how to configure the target feature model(s) of the containing ConfigurationDecisionModel, depending on a given configuration of the source feature model(s). Two examples are: &quot;all North American (USA+Canada) cars except A-Class have cruise control&quot; (one ConfigurationDecision) or &quot;all Canadian cars have adaptive cruise control&quot; (another ConfigurationDecision). All ConfigurationDecisions within a single ConfigurationDecisionModel then specify how the target feature model(s) are to be configured depending on the configuration of the source feature model(s).
+
+Example: Lets assume we have two FeatureModels: FM1 and FM2. FM1 has possible end-customer decisions like USA, Canada, EU, Japan and A-Class, C-Class, etc. FM2 has another possible end-customer decision such as CruiseControl, AdaptiveCruiseControl, RearWiper, RainSensor. End-customer decisions in FM2 describe possible technical features of the delivered products. By way of a set of ConfigurationDecisions it is now possible to define the configuration of FM2 (i.e. if there is a RainSensor, etc.) in dependency of a configuration of FM1. In other words, with a ConfigurationDecision we can express something like: &quot;If USA is selected in FM1 AND A-Class is not selected in FM1, then CruiseControl will be selected in FM2&quot;.
+
+The two most important constituents of a ConfigurationDecision are its 'criterion' and 'effect'. The effect is a list of things to select and deselect in the target(!) configuration(s), whereas the criterion formulates a condition on the source(!) configuration(s) under which this ConfigurationDecision's effect will actually be applied to the target configuration(s). In the first example above, the criterion would be &quot;USA &amp; not A-Class&quot; and the effect would be &quot;CruiseControl[+]&quot;.
+
+
+Semantics:
+The ConfigurationDecision excludes or includes Features based on a given criterion.
+
+The elements of the criterion and effect attributes may be identified through the target and the source in the selectionCriterion. The criterion and effect attributes can contain a VSL expression with qualified names of the identified elements.
+
+Extension:
+Class</body>
+ </ownedComment>
+ <generalization xmi:id="_l00awF0oEdyp3-f27ERX8A" general="_dWJ3QF0mEdyp3-f27ERX8A"/>
+ <ownedAttribute xmi:id="_Q0d7YGEjEdyta4cfhP9jxw" name="effect" isUnique="false">
+ <ownedComment xmi:id="_y6WMYJVBEd2pV7v-CAwgKg" annotatedElement="_Q0d7YGEjEdyta4cfhP9jxw">
+ <body>The rationale gives the reason for the specified product decision, especially for the inclusion criterion and the selection of included and excluded features.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_RkmX0GEjEdyta4cfhP9jxw" name="criterion" isUnique="false">
+ <ownedComment xmi:id="_sY8U4JVBEd2pV7v-CAwgKg" annotatedElement="_RkmX0GEjEdyta4cfhP9jxw">
+ <body>The inclusionCriterion gives the criterion to select the respective products (e.g. Northern American cars).</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_FMkIQNmBEdyQqcooNZBNQg" name="isEquivalence" isUnique="false">
+ <ownedComment xmi:id="_ucZaYJVBEd2pV7v-CAwgKg" annotatedElement="_FMkIQNmBEdyQqcooNZBNQg">
+ <body>Means that the included and excluded features are selected if and only if the specified inclusion criterion holds.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_CNA4QEyBEd-NY53ABFLNeA" name="target" isOrdered="true" isUnique="false" association="_CGXdsEyBEd-NY53ABFLNeA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_CNbvAEyBEd-NY53ABFLNeA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_CNdkMEyBEd-NY53ABFLNeA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_x4Y9wEyBEd-NY53ABFLNeA" name="selectionCriterion" type="_Nt6IkEyBEd-NY53ABFLNeA" association="_xx4tIEyBEd-NY53ABFLNeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_QhcDsFaTEd-IHoZrGPPWCg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_QiIAMFaTEd-IHoZrGPPWCg" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_ZMesIF0mEdyp3-f27ERX8A" name="ConfigurationDecisionModel" isAbstract="true">
+ <ownedComment xmi:id="_D4ZB4JVCEd2pV7v-CAwgKg" annotatedElement="_ZMesIF0mEdyp3-f27ERX8A">
+ <body>A ConfigurationDecisionModel defines how to configure m so-called target feature models, depending on a given configuration of n so-called source feature models, thus establishing a configuration-related link from the n source feature models to the m target feature models (also called configuration link). With the information captured in a ConfigurationDecisionModel it is then possible to transform a given set of source configurations (one for every source feature model) into corresponding target configurations (one for every target feature model).
+
+For example, a ConfigurationDecisionModel can capture information such as &quot;if feature 'S-Class' is selected in the source feature model, then select feature 'RainSensor' in the target feature model&quot; or &quot;if feature 'USA' is selected in the source feature model, then select feature 'CupHolder' in the target feature model&quot;.
+
+Note that in principle all ConfigurationDecisionModels have source / target feature models. However, only for those used on vehicle level they are defined explicitly; for ConfigurationDecisionModels used as an internal binding on FunctionTypes the source and target feature models are defined implicitly (cf. metaclass InternalBinding). In addition, in the special case of FeatureConfiguration there is by definition no source and only a single target feature model, which is defined explicitly (cf. metaclass FeatureConfiguration).
+
+The configuration information captured in a ConfigurationDecisionModel is represented by ConfigurationDecisions, each of which captures a single, atomized rule on how to configure the target feature model(s) depending on a given configuration of the source feature model(s).
+
+
+Extension:
+Class</body>
+ </ownedComment>
+ <generalization xmi:id="_x5KQ8FTHEd6YkpxqgR2miA" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_AKmbsF0pEdyp3-f27ERX8A" name="base_Package" isUnique="false" association="_AKdRwF0pEdyp3-f27ERX8A">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_wnIJgG1XEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_wnNCAG1XEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_mtxxYEx_Ed-NY53ABFLNeA" name="base_Class" isUnique="false" association="_mf9-4Ex_Ed-NY53ABFLNeA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_xS2AAG1XEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_xS8GoG1XEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_nqy90EyAEd-NY53ABFLNeA" name="rootEntry" type="_dWJ3QF0mEdyp3-f27ERX8A" association="_nj3PYEyAEd-NY53ABFLNeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nriksEyAEd-NY53ABFLNeA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_nrm2IEyAEd-NY53ABFLNeA" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_dWJ3QF0mEdyp3-f27ERX8A" name="ConfigurationDecisionModelEntry" isAbstract="true">
+ <ownedComment xmi:id="_ZnYd4JVCEd2pV7v-CAwgKg" annotatedElement="_dWJ3QF0mEdyp3-f27ERX8A">
+ <body>ConfigurationDecisionModelEntry is the abstract base class for all content of a ConfigurationDecisionModel.
+
+Extension:
+Class</body>
+ </ownedComment>
+ <generalization xmi:id="_CDovQEyAEd-NY53ABFLNeA" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_X-pVIF0oEdyp3-f27ERX8A" name="isActive" isUnique="false">
+ <ownedComment xmi:id="_bgYm4JVCEd2pV7v-CAwgKg" annotatedElement="_X-pVIF0oEdyp3-f27ERX8A">
+ <body>If active==TRUE then the entry is selected for the ProductDecisionModel.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_GAPHsEyAEd-NY53ABFLNeA" value="true"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_DFwlQF0pEdyp3-f27ERX8A" name="base_Class" isUnique="false" association="_DFdqUF0pEdyp3-f27ERX8A">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_iUI0MF0mEdyp3-f27ERX8A" name="ConfigurationDecisionFolder">
+ <ownedComment xmi:id="_3mGw4JVBEd2pV7v-CAwgKg" annotatedElement="_iUI0MF0mEdyp3-f27ERX8A">
+ <body>ConfigurationDecisionFolder represents a grouping for ConfigurationDecisions.
+
+
+Semantics:
+ConfigurationDecisionFolder is a grouping entity for ConfigurationDecisions.
+
+Extension:
+Class</body>
+ </ownedComment>
+ <generalization xmi:id="_ploZ8F0oEdyp3-f27ERX8A" general="_dWJ3QF0mEdyp3-f27ERX8A"/>
+ <ownedAttribute xmi:id="_YSjogEyAEd-NY53ABFLNeA" name="childEntry" type="_dWJ3QF0mEdyp3-f27ERX8A" association="_YMVEsEyAEd-NY53ABFLNeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_YTIQQEyAEd-NY53ABFLNeA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_YTQMEEyAEd-NY53ABFLNeA" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_AKdRwF0pEdyp3-f27ERX8A" name="Extension_ConfigDecisionModel" memberEnd="_AKdRwV0pEdyp3-f27ERX8A _AKmbsF0pEdyp3-f27ERX8A">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_AKdRwV0pEdyp3-f27ERX8A" name="extension_ConfigDecisionModel" type="_ZMesIF0mEdyp3-f27ERX8A" aggregation="composite" association="_AKdRwF0pEdyp3-f27ERX8A"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_DFdqUF0pEdyp3-f27ERX8A" name="Extension_ConfigDecisionModelEntry" memberEnd="_DFnbUF0pEdyp3-f27ERX8A _DFwlQF0pEdyp3-f27ERX8A">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_DFnbUF0pEdyp3-f27ERX8A" name="extension_ConfigDecisionModelEntry" type="_dWJ3QF0mEdyp3-f27ERX8A" aggregation="composite" association="_DFdqUF0pEdyp3-f27ERX8A"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_7pO_AEx8Ed-NY53ABFLNeA" name="A_Variability_ConfigurableContainer" memberEnd="_7rHOUEx8Ed-NY53ABFLNeA _7rheAEx8Ed-NY53ABFLNeA">
+ <ownedEnd xmi:id="_7rheAEx8Ed-NY53ABFLNeA" name="variability" type="_qxpzUEx7Ed-NY53ABFLNeA" isUnique="false" association="_7pO_AEx8Ed-NY53ABFLNeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_7sDCcEx8Ed-NY53ABFLNeA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_7sBNQEx8Ed-NY53ABFLNeA" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_KRYCMEx_Ed-NY53ABFLNeA" name="Extension_ConfigurableContainer" memberEnd="_KfQtMEx_Ed-NY53ABFLNeA _KffWsEx_Ed-NY53ABFLNeA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_KfQtMEx_Ed-NY53ABFLNeA" name="extension_ConfigurableContainer" type="_VwCgcNlnEdybgKlxjJEMxQ" aggregation="composite" association="_KRYCMEx_Ed-NY53ABFLNeA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_MaCX0Ex_Ed-NY53ABFLNeA" name="Extension_ConfigurableContainer" memberEnd="_MmI6IEx_Ed-NY53ABFLNeA _MmXjoEx_Ed-NY53ABFLNeA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_MmI6IEx_Ed-NY53ABFLNeA" name="extension_ConfigurableContainer" type="_VwCgcNlnEdybgKlxjJEMxQ" aggregation="composite" association="_MaCX0Ex_Ed-NY53ABFLNeA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_XWvV8Ex_Ed-NY53ABFLNeA" name="InternalBinding">
+ <ownedComment xmi:id="_ys9xIEyIEd-4NtQ6SoVDcg" annotatedElement="_XWvV8Ex_Ed-NY53ABFLNeA">
+ <body>The InternalBinding is the private, internal ConfigurationDecisionModel of the ConfigurableContainer. It defines how the internal, lower-level variability of the ConfigurableContainer is bound, i.e. configured, depending on a given configuration of the ConfigurableContainer's public feature model. This way, the binding of this internal variability is encapsulated and hidden behind the public feature model, which serves as a variability-related interface.
+
+Note that for this use case, the source and target feature models need not be defined explicitly because they are deduced implicitly: the ConfigurableContainer's public feature model serves as the (single) target feature model, and the source feature models are deduced from the ConfigurableContainer's internal variability (esp. other, lower-level ConfigurableContainers which are contained).
+
+For a definition of the precise meaning of 'internal variability' in the above sense (also called variable content) refer to the documentation of meta-class ConfigurableContainer.</body>
+ </ownedComment>
+ <generalization xmi:id="_cx5XEEx_Ed-NY53ABFLNeA" general="_ZMesIF0mEdyp3-f27ERX8A"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_mf9-4Ex_Ed-NY53ABFLNeA" name="Extension_ConfigurationDecisionModel" memberEnd="_mtig0Ex_Ed-NY53ABFLNeA _mtxxYEx_Ed-NY53ABFLNeA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_mtig0Ex_Ed-NY53ABFLNeA" name="extension_ConfigurationDecisionModel" type="_ZMesIF0mEdyp3-f27ERX8A" aggregation="composite" association="_mf9-4Ex_Ed-NY53ABFLNeA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_YMVEsEyAEd-NY53ABFLNeA" name="A_ConfigurationDecisionFolder_ConfigurationDecisionModelEntry" memberEnd="_YSjogEyAEd-NY53ABFLNeA _YTUdgEyAEd-NY53ABFLNeA">
+ <ownedEnd xmi:id="_YTUdgEyAEd-NY53ABFLNeA" name="configurationDecisionFolder" type="_iUI0MF0mEdyp3-f27ERX8A" isUnique="false" association="_YMVEsEyAEd-NY53ABFLNeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_YTutMEyAEd-NY53ABFLNeA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_YTs4AEyAEd-NY53ABFLNeA" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_nj3PYEyAEd-NY53ABFLNeA" name="A_ConfigurationDecisionModel_ConfigurationDecisionModelEntry" memberEnd="_nqy90EyAEd-NY53ABFLNeA _nrux8EyAEd-NY53ABFLNeA">
+ <ownedEnd xmi:id="_nrux8EyAEd-NY53ABFLNeA" name="configurationDecisionModel" type="_ZMesIF0mEdyp3-f27ERX8A" isUnique="false" association="_nj3PYEyAEd-NY53ABFLNeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nsJBoEyAEd-NY53ABFLNeA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_nsHMcEyAEd-NY53ABFLNeA" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_CGXdsEyBEd-NY53ABFLNeA" name="A_ConfigurationDecision_NamedElement" memberEnd="_CNA4QEyBEd-NY53ABFLNeA _CNfZYEyBEd-NY53ABFLNeA">
+ <ownedEnd xmi:id="_CNfZYEyBEd-NY53ABFLNeA" name="configurationDecision" type="_i-f6-TxIEdyqfK4bFJstMQ" isUnique="false" association="_CGXdsEyBEd-NY53ABFLNeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_CN63MEyBEd-NY53ABFLNeA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_CN4a8EyBEd-NY53ABFLNeA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_Nt6IkEyBEd-NY53ABFLNeA" name="SelectionCriterion">
+ <ownedComment xmi:id="_vCJJYEyBEd-NY53ABFLNeA" annotatedElement="_Nt6IkEyBEd-NY53ABFLNeA">
+ <body>A mixed string description, identifying the source elements.</body>
+ </ownedComment>
+ <generalization xmi:id="_5syu4E3ZEd-eluvub9wzww" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_RN9H4EyBEd-NY53ABFLNeA" name="source" isOrdered="true" isUnique="false" association="_RHukEEyBEd-NY53ABFLNeA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ROM_gEyBEd-NY53ABFLNeA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ROPbwEyBEd-NY53ABFLNeA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_4fPV8EyBEd-NY53ABFLNeA" name="base_Class" isUnique="false" association="_4YU1oEyBEd-NY53ABFLNeA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_RHukEEyBEd-NY53ABFLNeA" name="A_SelectionCriterion_NamedElement" memberEnd="_RN9H4EyBEd-NY53ABFLNeA _RORQ8EyBEd-NY53ABFLNeA">
+ <ownedEnd xmi:id="_RORQ8EyBEd-NY53ABFLNeA" name="selectionCriterion" type="_Nt6IkEyBEd-NY53ABFLNeA" isUnique="false" association="_RHukEEyBEd-NY53ABFLNeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ROsuwEyBEd-NY53ABFLNeA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ROqSgEyBEd-NY53ABFLNeA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_xx4tIEyBEd-NY53ABFLNeA" name="A_ConfigurationDecision_SelectionCriterion" memberEnd="_x4Y9wEyBEd-NY53ABFLNeA _x47JQEyBEd-NY53ABFLNeA">
+ <ownedEnd xmi:id="_x47JQEyBEd-NY53ABFLNeA" name="configurationDecision" type="_i-f6-TxIEdyqfK4bFJstMQ" isUnique="false" association="_xx4tIEyBEd-NY53ABFLNeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_x5a4gEyBEd-NY53ABFLNeA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_x5YcQEyBEd-NY53ABFLNeA" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_4YU1oEyBEd-NY53ABFLNeA" name="Extension_SelectionCriterion" memberEnd="_4e7z8EyBEd-NY53ABFLNeA _4fPV8EyBEd-NY53ABFLNeA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_4e7z8EyBEd-NY53ABFLNeA" name="extension_SelectionCriterion" type="_Nt6IkEyBEd-NY53ABFLNeA" aggregation="composite" association="_4YU1oEyBEd-NY53ABFLNeA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_DPDuoEyCEd-NY53ABFLNeA" name="A_ConfigurableContainer_NamedElement" memberEnd="_DVqs8EyCEd-NY53ABFLNeA _DXFCMEyCEd-NY53ABFLNeA">
+ <ownedEnd xmi:id="_DXFCMEyCEd-NY53ABFLNeA" name="configurableContainer" type="_VwCgcNlnEdybgKlxjJEMxQ" isUnique="false" association="_DPDuoEyCEd-NY53ABFLNeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DXlYgEyCEd-NY53ABFLNeA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DXf48EyCEd-NY53ABFLNeA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_N-OnEEyCEd-NY53ABFLNeA" name="ContainerConfiguration">
+ <ownedComment xmi:id="_ccQW4EyCEd-NY53ABFLNeA" annotatedElement="_N-OnEEyCEd-NY53ABFLNeA">
+ <body>ContainerConfiguration defines an actual configuration of the variable content of a ConfigurableContainer, in particular the selection or deselection of contained VariableElements and the configuration of the public feature models of contained other ConfigurableContainers. For more details on the variable content of a ConfigurableContainer refer to the documentation of meta-class ConfigurableContainer.
+
+The ContainerConfiguration inherits from ConfigurationDecisionModel even though it does not define a configuration link between feature models, similar as FeatureConfiguration. For more information on this refer to the documentation of meta-class FeatureConfiguration.
+
+The source and target feature models of a ContainerConfiguration are defined implicitly: it always has zero source feature models (as explained for FeatureConfiguration) and its target feature models can be deduced from the ConfigurableContainer being configured by applying the same rules as defined for InternalBinding.
+
+Semantics:
+The ContainerConfiguration specifies a concrete configuration of the variable content of a ConfigurableContainer.
+
+Extension:
+Class</body>
+ </ownedComment>
+ <generalization xmi:id="_R7cqkEyCEd-NY53ABFLNeA" general="_ZMesIF0mEdyp3-f27ERX8A"/>
+ <ownedAttribute xmi:id="_TyRpUEyCEd-NY53ABFLNeA" name="configuredContainer" type="_VwCgcNlnEdybgKlxjJEMxQ" isUnique="false" association="_TrWh8EyCEd-NY53ABFLNeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Tyj9MEyCEd-NY53ABFLNeA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_TylyYEyCEd-NY53ABFLNeA" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_TrWh8EyCEd-NY53ABFLNeA" name="A_ContainerConfiguration_ConfigurableContainer" memberEnd="_TyRpUEyCEd-NY53ABFLNeA _TyoOoEyCEd-NY53ABFLNeA">
+ <ownedEnd xmi:id="_TyoOoEyCEd-NY53ABFLNeA" name="containerConfiguration" type="_N-OnEEyCEd-NY53ABFLNeA" isUnique="false" association="_TrWh8EyCEd-NY53ABFLNeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_TzDscEyCEd-NY53ABFLNeA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_TzB3QEyCEd-NY53ABFLNeA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_jegRoEyCEd-NY53ABFLNeA" name="VehicleLevelBinding">
+ <ownedComment xmi:id="_8wz0oEyIEd-4NtQ6SoVDcg" annotatedElement="_jegRoEyCEd-NY53ABFLNeA">
+ <body>This class represents a ConfigurationDecisionModel on vehicle level with explicitly defined source and target feature models. The source feature models must be on vehicle level, but the target feature models may be located on artifact level, e.g. the public feature model of the top-level FunctionType in the FDA. This way, a VehicleLevelConfigurationDecisionModel may be used to bridge the gap from vehicle level variability management to that on artifact level.
+
+Source feature models may be either the core technical feature model (as defined by association technicalFeatureModel of meta-class VehicleLevel) or one of the optional product feature models (as defined by association productFeatureModel of meta-class Variability in the variability extension).
+
+Constraints:
+[1] The sourceVehicleFeatureModels shall only contain VehicleFeatures.
+[2] The sourceVehicleFeatureModels shall be different from the targetFeatureModels</body>
+ </ownedComment>
+ <generalization xmi:id="_DCPlMEyDEd-NY53ABFLNeA" general="_ZMesIF0mEdyp3-f27ERX8A"/>
+ <ownedAttribute xmi:id="_ERXqwEyDEd-NY53ABFLNeA" name="sourceVehicleFeatureModel" type="_i-f7BDxIEdyqfK4bFJstMQ" isOrdered="true" isUnique="false" association="_EBn-kEyDEd-NY53ABFLNeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ERp-oEyDEd-NY53ABFLNeA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ERsa4EyDEd-NY53ABFLNeA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_KdMT0EyDEd-NY53ABFLNeA" name="targetFeatureModel" type="_i-f7BDxIEdyqfK4bFJstMQ" isOrdered="true" isUnique="false" association="_KNVS4EyDEd-NY53ABFLNeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KdhD8EyDEd-NY53ABFLNeA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KdjgMEyDEd-NY53ABFLNeA" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_5E0WYERgEd65c51kyCKYXg" name="FeatureConfiguration">
+ <ownedComment xmi:id="_G1jiYERhEd65c51kyCKYXg" annotatedElement="_5E0WYERgEd65c51kyCKYXg">
+ <body>FeatureConfiguration defines an actual configuration of a FeatureModel, in particular the selection or deselection of optional features, values for selected parameterized features, and instance creations for cloned features.
+
+Note that configurations of feature models are realized as a specialization of metaclass ConfigurationDecisionModel. This is possible because a ConfigurationDecisionModel also captures configuration, i.e. of its target feature model(s) ; while in the standard case of ConfigurationDecisionModel this target-side configuration depends on a given configuration of source feature model(s), we here simply define a &quot;constant&quot; target-side configuration without considering any source configurations. Therefore, the FeatureConfiguration meta-class has additional constraints compared to the super-class ConfigurationDecisionModel: the FeatureConfiguration has no source FeatureModel and only a single target FeatureModel, which serves as the FeatureModel being configured, explicitly defined through association 'configuredFeatureModel'. And since there are no source feature model to which the criterion can refer, all ConfigurationDecisions in a FeatureConfiguration must have &quot;true&quot; as their criterion.
+
+
+Semantics:
+The FeatureConfiguration specifies a concrete configuration of a feature model, in particular which Features of this FeatureModel are selected or deselected.
+
+Extension:
+Class
+
+Constraint:
+[1] Attribute criterion of all ConfigurationDecisions in a FeatureConfiguration must be set to &quot;true&quot;.</body>
+ </ownedComment>
+ <generalization xmi:id="_875VoERgEd65c51kyCKYXg" general="_ZMesIF0mEdyp3-f27ERX8A"/>
+ <ownedAttribute xmi:id="_6_VesEyCEd-NY53ABFLNeA" name="configuredFeatureModel" type="_i-f7BDxIEdyqfK4bFJstMQ" isUnique="false" association="_64KfsEyCEd-NY53ABFLNeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_6_pnwEyCEd-NY53ABFLNeA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_6_rc8EyCEd-NY53ABFLNeA" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_64KfsEyCEd-NY53ABFLNeA" name="A_FeatureConfiguration_FeatureModel" memberEnd="_6_VesEyCEd-NY53ABFLNeA _6_t5MEyCEd-NY53ABFLNeA">
+ <ownedEnd xmi:id="_6_t5MEyCEd-NY53ABFLNeA" name="featureConfiguration" type="_5E0WYERgEd65c51kyCKYXg" isUnique="false" association="_64KfsEyCEd-NY53ABFLNeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_7AJ-EEyCEd-NY53ABFLNeA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_7AHh0EyCEd-NY53ABFLNeA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_EBn-kEyDEd-NY53ABFLNeA" name="A_VehicleLevelConfigurationDecisionModel_FeatureModel" memberEnd="_ERXqwEyDEd-NY53ABFLNeA _ERu3IEyDEd-NY53ABFLNeA">
+ <ownedEnd xmi:id="_ERu3IEyDEd-NY53ABFLNeA" name="vehicleLevelConfigurationDecisionModel" type="_jegRoEyCEd-NY53ABFLNeA" isUnique="false" association="_EBn-kEyDEd-NY53ABFLNeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ESPNcEyDEd-NY53ABFLNeA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ESMxMEyDEd-NY53ABFLNeA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_KNVS4EyDEd-NY53ABFLNeA" name="A_VehicleLevelConfigurationDecisionModel_FeatureModel" memberEnd="_KdMT0EyDEd-NY53ABFLNeA _KdlVYEyDEd-NY53ABFLNeA">
+ <ownedEnd xmi:id="_KdlVYEyDEd-NY53ABFLNeA" name="vehicleLevelConfigurationDecisionModel" type="_jegRoEyCEd-NY53ABFLNeA" isUnique="false" association="_KNVS4EyDEd-NY53ABFLNeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KeG50EyDEd-NY53ABFLNeA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KeEdkEyDEd-NY53ABFLNeA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_naM1sEyDEd-NY53ABFLNeA" name="A_Variability_FeatureConfiguration" memberEnd="_nh4yEEyDEd-NY53ABFLNeA _niX6QEyDEd-NY53ABFLNeA">
+ <ownedEnd xmi:id="_niX6QEyDEd-NY53ABFLNeA" name="variability" type="_qxpzUEx7Ed-NY53ABFLNeA" isUnique="false" association="_naM1sEyDEd-NY53ABFLNeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ni0mMEyDEd-NY53ABFLNeA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_niyxAEyDEd-NY53ABFLNeA" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_qBekgEyEEd-NY53ABFLNeA" name="A_VariableElement_BindingTime" memberEnd="_qJ2dYEyEEd-NY53ABFLNeA _qLHBoEyEEd-NY53ABFLNeA">
+ <ownedEnd xmi:id="_qLHBoEyEEd-NY53ABFLNeA" name="variableElement" type="_29pckF0rEdyp3-f27ERX8A" isUnique="false" association="_qBekgEyEEd-NY53ABFLNeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_qLqbQEyEEd-NY53ABFLNeA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_qLn_AEyEEd-NY53ABFLNeA" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_whGTUEyEEd-NY53ABFLNeA" name="A_VariableElement_BindingTime" memberEnd="_wpfaUEyEEd-NY53ABFLNeA _wq5vkEyEEd-NY53ABFLNeA">
+ <ownedEnd xmi:id="_wq5vkEyEEd-NY53ABFLNeA" name="variableElement" type="_29pckF0rEdyp3-f27ERX8A" isUnique="false" association="_whGTUEyEEd-NY53ABFLNeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_wrYQsEyEEd-NY53ABFLNeA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_wrWbgEyEEd-NY53ABFLNeA" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_2tSIwEyEEd-NY53ABFLNeA" name="A_VariableElement_ReuseMetaInformation" memberEnd="_2-5dMEyEEd-NY53ABFLNeA _3AWOsEyEEd-NY53ABFLNeA">
+ <ownedEnd xmi:id="_3AWOsEyEEd-NY53ABFLNeA" name="variableElement" type="_29pckF0rEdyp3-f27ERX8A" isUnique="false" association="_2tSIwEyEEd-NY53ABFLNeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3A5oUEyEEd-NY53ABFLNeA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3A3MEEyEEd-NY53ABFLNeA" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_-KdE8EyEEd-NY53ABFLNeA" name="A_VariableElement_NamedElement" memberEnd="_-TMKMEyEEd-NY53ABFLNeA _-Ut0MEyEEd-NY53ABFLNeA">
+ <ownedEnd xmi:id="_-Ut0MEyEEd-NY53ABFLNeA" name="variableElement" type="_29pckF0rEdyp3-f27ERX8A" isUnique="false" association="_-KdE8EyEEd-NY53ABFLNeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-VR04EyEEd-NY53ABFLNeA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-VPYoEyEEd-NY53ABFLNeA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_KGk4sEyFEd-NY53ABFLNeA" name="Extension_VariableElement" memberEnd="_KYUI8EyFEd-NY53ABFLNeA _KYoSAEyFEd-NY53ABFLNeA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_KYUI8EyFEd-NY53ABFLNeA" name="extension_VariableElement" type="_29pckF0rEdyp3-f27ERX8A" aggregation="composite" association="_KGk4sEyFEd-NY53ABFLNeA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_R9vCMEyFEd-NY53ABFLNeA" name="PrivateContent">
+ <ownedComment xmi:id="_VSohcEyFEd-NY53ABFLNeA" annotatedElement="_R9vCMEyFEd-NY53ABFLNeA">
+ <body>PrivateContent is a marker class that marks the artifact element denoted by association privateElement as private, i.e. it will not be presented to the outside of the containing ConfigurableContainer.
+
+Refer to the documentation of meta-class ConfigurableContainer for a detailed explanation of how ConfigurableContainer and PrivateContent play together.
+
+Constraint:
+[1] Identifies either one FunctionPrototype or one FunctionPort or one FunctionConnector or one HardwareComponentPrototype or one HardwarePort or one ClampConnector.
+
+Semantics:
+Marks the element identified by association privateElement as private. Otherwise the elements visibility defaults to public.
+
+Extension:
+Class</body>
+ </ownedComment>
+ <generalization xmi:id="_85kM4E3ZEd-eluvub9wzww" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_W457sEyFEd-NY53ABFLNeA" name="base_Class" isUnique="false" association="_WmWMEEyFEd-NY53ABFLNeA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Y1K0EEyFEd-NY53ABFLNeA" name="privateElement" isUnique="false" association="_YgvcMEyFEd-NY53ABFLNeA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Y1rxcEyFEd-NY53ABFLNeA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Y1tmoEyFEd-NY53ABFLNeA" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_WmWMEEyFEd-NY53ABFLNeA" name="Extension_PrivateContent" memberEnd="_W4ivUEyFEd-NY53ABFLNeA _W457sEyFEd-NY53ABFLNeA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_W4ivUEyFEd-NY53ABFLNeA" name="extension_PrivateContent" type="_R9vCMEyFEd-NY53ABFLNeA" aggregation="composite" association="_WmWMEEyFEd-NY53ABFLNeA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_YgvcMEyFEd-NY53ABFLNeA" name="A_PrivateContent_NamedElement" memberEnd="_Y1K0EEyFEd-NY53ABFLNeA _Y1wC4EyFEd-NY53ABFLNeA">
+ <ownedEnd xmi:id="_Y1wC4EyFEd-NY53ABFLNeA" name="privateContent" type="_R9vCMEyFEd-NY53ABFLNeA" isUnique="false" association="_YgvcMEyFEd-NY53ABFLNeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Y2PyIEyFEd-NY53ABFLNeA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Y2NV4EyFEd-NY53ABFLNeA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_Fj17EEyKEd-4NtQ6SoVDcg" name="A_Variability_FeatureModel" memberEnd="_FmwsMEyKEd-4NtQ6SoVDcg _FnZlYEyKEd-4NtQ6SoVDcg">
+ <ownedEnd xmi:id="_FnZlYEyKEd-4NtQ6SoVDcg" name="variability" type="_qxpzUEx7Ed-NY53ABFLNeA" isUnique="false" association="_Fj17EEyKEd-4NtQ6SoVDcg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Fnz1EEyKEd-4NtQ6SoVDcg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Fnx_4EyKEd-4NtQ6SoVDcg" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_qTvpUN4uEdyW6f_GAa5b1w" name="A_ConfigurableContainer_FeatureModel" memberEnd="_qaTkUN4uEdyW6f_GAa5b1w _qawQQd4uEdyW6f_GAa5b1w">
+ <ownedEnd xmi:id="_qawQQd4uEdyW6f_GAa5b1w" name="aDLConfigurableContainer" type="_VwCgcNlnEdybgKlxjJEMxQ" isUnique="false" association="_qTvpUN4uEdyW6f_GAa5b1w">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_qbM8Md4uEdyW6f_GAa5b1w"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_qbM8MN4uEdyW6f_GAa5b1w" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_x1AjgEyKEd-4NtQ6SoVDcg" name="A_Variability_VehicleLevelConfigurationDecisionModel" memberEnd="_x39J0EyKEd-4NtQ6SoVDcg _x4v0AEyKEd-4NtQ6SoVDcg">
+ <ownedEnd xmi:id="_x4v0AEyKEd-4NtQ6SoVDcg" name="variability" type="_qxpzUEx7Ed-NY53ABFLNeA" isUnique="false" association="_x1AjgEyKEd-4NtQ6SoVDcg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_x5IOgEyKEd-4NtQ6SoVDcg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_x5GZUEyKEd-4NtQ6SoVDcg" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_oNZhUEyQEd-4NtQ6SoVDcg" name="A_VariationGroup_VariableElement" memberEnd="_oSdAcEyQEd-4NtQ6SoVDcg _oTBoMEyQEd-4NtQ6SoVDcg">
+ <ownedEnd xmi:id="_oTBoMEyQEd-4NtQ6SoVDcg" name="variationGroup" type="_i-WMGzxIEdyqfK4bFJstMQ" isUnique="false" association="_oNZhUEyQEd-4NtQ6SoVDcg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_oTfiQEyQEd-4NtQ6SoVDcg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_oTdtEEyQEd-4NtQ6SoVDcg" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_2FCdMF3AEd-X4e4E_mYbkQ" name="A_Variability_VariableElement" memberEnd="_2PNs4F3AEd-X4e4E_mYbkQ _2P-h4F3AEd-X4e4E_mYbkQ">
+ <ownedEnd xmi:id="_2P-h4F3AEd-X4e4E_mYbkQ" name="variability" type="_qxpzUEx7Ed-NY53ABFLNeA" isUnique="false" association="_2FCdMF3AEd-X4e4E_mYbkQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_2QVHMF3AEd-X4e4E_mYbkQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_2QTSAF3AEd-X4e4E_mYbkQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="_i-WMfjxIEdyqfK4bFJstMQ" name="Behavior" metaclassReference="_yWIPUUAVEdympvaafZjFBw _Hgtw4ExdEd-2jOkjG5hxSQ">
+ <ownedComment xmi:id="_g64CgKArEd20Qu_niqpmJw" annotatedElement="_i-WMfjxIEdyqfK4bFJstMQ">
+ <body>This chapter describes the behavioral constructs of the EAST-ADL2 language. What we mean by behavior here is either a function performing some computation on provided data (FlowPort interaction) or the execution of a service called upon by another function (in a ClientServer interaction).
+
+The execution of the behavior assumes a strict run-to-completion, single buffer-overwrite management of data. That is each execution starts with the reading of data, which are not stored locally and are constantly replaced by fresher data arriving on ports. The function then performs some calculation and finally outputs some data on the output ports. The execution is non-concurrent: only one behavior is active at any point in time and not preemptable.
+
+A FunctionBehavior in EAST-ADL2 is mainly a reference point to some description provided else where in a tool-dependent format, as depicted in the Diagram for FunctionBehavior below. This enables to re-use current behavior descriptions contained in the tools currently used by automotive companies and suppliers. Given that, requirement and traceability information can be provided for behavior in relation to the rest of the EAST-ADL2 model. A list of typical tool format is provided as an enumeration, FunctionBehaviorKind. Depending on the EAST-ADL2 language implementation such a behavior description can be provided in the model itself, for instance when using a UML-implementation of the EAST-ADL2, UML behaviors can be used. Yet it shall be noted that the behavior described shall be compliant with the execution semantics of an EAST-ADL2 function.
+
+The rest of the behavioral constructs (see the first following Diagram of the behavior of a function) relate to the organization of the triggering of behaviors attached to functions. At a high level one can define activation Modes which may span across the whole architecture. Such Modes can be regrouped in exclusive sets. Whenever a FunctionTrigger or a FunctionBehavior refers to a Mode, this means its activation is dependent on the Mode being active or not. Thus different execution configurations can be defined.
+
+The triggering of behavior itself, defined by FunctionTrigger, can be either time or event-based and be either type-wise or prototype-wise to allow further adjustments of functions in a particular context. Events and timing constraint that are defined in separate sections of the language (see Events, Time and TimingConstraints sections).</body>
+ </ownedComment>
+ <elementImport xmi:id="_yWIPUUAVEdympvaafZjFBw" alias="Behavior">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Behavior"/>
+ </elementImport>
+ <elementImport xmi:id="_Hgtw4ExdEd-2jOkjG5hxSQ" alias="BehavioredClassifier">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#BehavioredClassifier"/>
+ </elementImport>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WNHzxIEdyqfK4bFJstMQ" name="FunctionBehavior">
+ <ownedComment xmi:id="_Zob7oJXjEd2iJ9_Y3as_2A" annotatedElement="_i-WNHzxIEdyqfK4bFJstMQ">
+ <body>FunctionBehavior represents the behavior of a particular FunctionType - referred to by the association to FunctionType. What is meant by behavior is a transfer function performing some data computation (in case of FlowPort interaction) or an operation that can be called by another function (in case of ClientServer interaction). The representation property indicates the kind of representation used to describe the behavior (see FunctionBehaviorKind). The representation itself (e.g defined in an external model file) is identified by a URL String in the path property. If the representation is provided in the same model file as the system itself, the path property is not used. It is merely a placeholder with the purpose of containing information about and links to the external behavioral model.
+
+FunctionBehavior may refer to execution modes - by the association to the element Mode. This is not mandatory, however when provided, the relation indicates the list of execution Modes in which the FunctionBehavior can potentially be executed (see element Mode).
+
+The triggering of a FunctionBehavior is unknown to the behavior. It is defined by FunctionTriggers (see this element).
+
+Note that the association between FunctionBehavior and FunctionType is specified as a one-way navigable link from FunctionBehavior to FunctionType: what this means is that the EAST-ADL2 language specification does not require that a FunctionType be aware of the FunctionBehavior it is assigned to. Only the navigation from behavior to function is mandatory, the implementation of a reverse link might however be provided depending on the tool support.
+
+Although each FunctionBehavior can refer to at most one FunctionType, note that several FunctionBehaviors can be referring to the same FunctionType. In this case when a FunctionType has several behaviors, only one behavior shall be active at any given time instant, i.e. no concurrent behaviors are allowed in EAST-ADL2 functions. For instance we cannot have one active behavior in Simulink and one in Modelica. Both can be referenced in the same function but at any given time, only one is executable. Conditions such as modes, etc. must prevent two behaviors being potentially active.
+
+Note also that FunctionBehaviors are assigned to FunctionTypes and not to FunctionPrototypes. This means that among a set of FunctionPrototypes, which share the same type, behaviors are also shared. However when a FunctionBehavior refer to Modes, which are referred to by different FunctionTriggers, different triggering conditions can be provided among a set of FunctionPrototypes for the same set of behaviors - see FunctionTrigger.
+
+In the case where the identified FunctionType is decomposed in parts, the behavior is a specification for the composed behavior of the FunctionType.
+
+
+Semantics:
+Though the representation provided to a FunctionBehavior follows the semantics of the behavioral representation used (for instance SIMULINK, ASCET, etc.). Externally, in relation to the EAST-ADL2 model, however, the FunctionBehavior has synchronous execution semantics:
+1. Read inputs from input ports
+2. Execute Behavior with fixed inputs (run to completion)
+3. Provide outputs to output ports
+
+The data transfer between the EAST-ADL2 ports and the FunctionBehavior is representation specific and considered part of the execution of the FunctionBehavior.
+
+
+
+Notation:
+FunctionBehavior appears, if shown in a diagram, as a solid-outline rectangle with &quot;Behavior&quot; at the top right. The rectangle contains the name.
+
+
+Extension: Behavior</body>
+ </ownedComment>
+ <generalization xmi:id="_rmMo4FQpEd6IK-HxDirnpA" general="_i-WNsjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_-xu8YLyZEd2XprnLhRJt1A" name="base_Behavior" isUnique="false" association="_-Lv6cLyZEd2XprnLhRJt1A">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Behavior"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_AAoAcNjWEd6wXIBypQTswA" name="path" isUnique="false">
+ <ownedComment xmi:id="_EEih0NjWEd6wXIBypQTswA" annotatedElement="_AAoAcNjWEd6wXIBypQTswA">
+ <body>The path to the file or model entity containing the ExternalBehavior</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DpYP0NjWEd6wXIBypQTswA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DpdvYNjWEd6wXIBypQTswA" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_HNYiENjWEd6wXIBypQTswA" name="representation" type="_R_fZwNjWEd6wXIBypQTswA" isUnique="false">
+ <ownedComment xmi:id="_MXa-ANjWEd6wXIBypQTswA" annotatedElement="_HNYiENjWEd6wXIBypQTswA">
+ <body>The type of behavior that the ExternalBehavior represents.</body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_6JuPsExeEd-SDeUiu9LLYg" name="mode" type="_1nGm4NjgEd6wXIBypQTswA" isUnique="false" association="_6HNuQExeEd-SDeUiu9LLYg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_6KSQYExeEd-SDeUiu9LLYg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_6KV6wExeEd-SDeUiu9LLYg" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_9PmzEE5BEd-G9cJnuAM0QQ" name="function" type="_i-f6JDxIEdyqfK4bFJstMQ" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FtPtwE5CEd-G9cJnuAM0QQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FtTYIE5CEd-G9cJnuAM0QQ" value="1"/>
+ </ownedAttribute>
+ <icon xmi:id="_6t-UEE5SEd-xIqCijtc4kQ" content="71%73%70%56%57%97%16%0%16%0%-124%0%0%20%30%100%60%70%-116%64%74%-113%80%89%-101%81%91%-101%81%91%-99%82%91%-99%82%93%-98%96%106%-88%99%110%-86%112%122%-75%113%123%-75%127%127%127%116%126%-72%117%127%-72%-126%-116%-62%-123%-113%-60%-109%-100%-49%-109%-98%-48%-107%-98%-47%-106%-96%-47%-106%-96%-46%-76%-76%-76%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%33%-2%51%69%65%83%84%45%65%68%76%32%112%114%111%106%101%99%116%10%65%117%116%104%111%114%32%58%32%109%105%99%107%97%101%108%46%99%111%110%100%101%64%115%105%101%109%101%110%115%46%99%111%109%0%33%-7%4%1%10%0%31%0%44%0%0%0%0%16%0%16%0%0%5%68%-32%39%-114%100%105%-98%104%-86%-82%39%-32%-82%46%80%-59%-92%69%2%-44%36%73%17%48%90%64%-101%11%18%0%4%30%-81%32%-112%1%112%52%124%-128%-123%-62%-9%81%126%92%-119%98%0%-15%18%-39%70%-128%-125%-95%64%24%80%91%46%1%77%-75%102%-71%-33%-85%16%0%59%">
+ <eAnnotations xmi:id="_7iRe0E5SEd-xIqCijtc4kQ" source="image_papyrus">
+ <details xmi:id="_7ibP0E5SEd-xIqCijtc4kQ" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_-Lv6cLyZEd2XprnLhRJt1A" name="Extension_ADLBehavior" memberEnd="_-xJGgLyZEd2XprnLhRJt1A _-xu8YLyZEd2XprnLhRJt1A">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-xJGgLyZEd2XprnLhRJt1A" name="extension_ADLBehavior" type="_i-WNHzxIEdyqfK4bFJstMQ" aggregation="composite" association="_-Lv6cLyZEd2XprnLhRJt1A"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_R_fZwNjWEd6wXIBypQTswA" name="FunctionBehaviorKind">
+ <ownedComment xmi:id="_WvNRMNjWEd6wXIBypQTswA" annotatedElement="_R_fZwNjWEd6wXIBypQTswA">
+ <body>FunctionBehaviorKind is an enumeration which lists the various representations, used to describe a FunctionBehavior. It is used as a property of a FunctionBehavior. Several representations are listed; however one can always extend this list by using the literal OTHER.
+
+Semantics:
+Distinction between UML and MARTE comes from the slight differences in the behavioral definitions (namely concerning data-flow oriented behaviors).
+
+It shall be noted that though one can use several languages to provide a representation of a FunctionBehavior, the semantics shall remain compliant with the overall EAST-ADL2 execution semantics.
+
+Extension:
+Enumeration, no extension.</body>
+ </ownedComment>
+ <ownedLiteral xmi:id="_XxfNkNjWEd6wXIBypQTswA" name="ASCET"/>
+ <ownedLiteral xmi:id="_ZXsWYNjWEd6wXIBypQTswA" name="OTHER"/>
+ <ownedLiteral xmi:id="_aY4toNjWEd6wXIBypQTswA" name="SCADE"/>
+ <ownedLiteral xmi:id="_b9yO4NjWEd6wXIBypQTswA" name="SDL"/>
+ <ownedLiteral xmi:id="_dO21MNjWEd6wXIBypQTswA" name="SIMULINK"/>
+ <ownedLiteral xmi:id="_e9dsENjWEd6wXIBypQTswA" name="STATEMATE"/>
+ <ownedLiteral xmi:id="_ou1_IExcEd-2jOkjG5hxSQ" name="MARTE"/>
+ <ownedLiteral xmi:id="_psvx0ExcEd-2jOkjG5hxSQ" name="UML"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_uX4EMExcEd-2jOkjG5hxSQ" name="Behavior">
+ <ownedComment xmi:id="_v3mxkExcEd-2jOkjG5hxSQ" annotatedElement="_uX4EMExcEd-2jOkjG5hxSQ">
+ <body>Behavior is a container of FunctionBehaviors, it enables to regroup the behaviors assigned to functions in a particular context on which TraceableSpecifications can be applied. This can take any appropriate form depending on the language implementation (for instance in a UML implementation it could be a Package).
+
+The collection of functional behaviors can be done across the EAST-ADL2 abstraction levels.
+
+Semantics:
+This element has the same role and semantics as Context, but for behavioral aspects.
+
+Extension: BehavioredClassifier</body>
+ </ownedComment>
+ <generalization xmi:id="_yYidQExcEd-2jOkjG5hxSQ" general="_i-WNsjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_9knUIExcEd-2jOkjG5hxSQ" name="behavior" type="_i-WNHzxIEdyqfK4bFJstMQ" association="_9jBYsExcEd-2jOkjG5hxSQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9k9SYExcEd-2jOkjG5hxSQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_9k_uoExcEd-2jOkjG5hxSQ" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Ou4LQExeEd-SDeUiu9LLYg" name="functionTrigger" type="_RCXpkJQdEdyUQMht1ste1A" association="_OuOD8ExeEd-SDeUiu9LLYg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_OvPXoExeEd-SDeUiu9LLYg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_OvRz4ExeEd-SDeUiu9LLYg" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_GxcloFgaEd-SipQLbZtnVw" name="modeGroup" type="_GBbrUNjhEd6wXIBypQTswA" isUnique="false" association="_GuZRoFgaEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Gx4DcFgaEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Gx54oFgaEd-SipQLbZtnVw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_CnRZ0G9IEd-Nl92aXXxcsg" name="base_Package" isUnique="false" association="_CbHNIG9IEd-Nl92aXXxcsg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KhzAYG9IEd-Nl92aXXxcsg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Kh4f8G9IEd-Nl92aXXxcsg" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_JeP4sG9IEd-Nl92aXXxcsg" name="base_Class" isUnique="false" association="_JUnbkG9IEd-Nl92aXXxcsg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_LObc4G9IEd-Nl92aXXxcsg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_LOgVYG9IEd-Nl92aXXxcsg" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_9jBYsExcEd-2jOkjG5hxSQ" name="A_Behavior_FunctionBehavior" memberEnd="_9knUIExcEd-2jOkjG5hxSQ _9lBj0ExcEd-2jOkjG5hxSQ">
+ <ownedEnd xmi:id="_9lBj0ExcEd-2jOkjG5hxSQ" name="behavior" type="_uX4EMExcEd-2jOkjG5hxSQ" isUnique="false" association="_9jBYsExcEd-2jOkjG5hxSQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9le20ExcEd-2jOkjG5hxSQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_9lcakExcEd-2jOkjG5hxSQ" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_RCXpkJQdEdyUQMht1ste1A" name="FunctionTrigger">
+ <ownedComment xmi:id="_OKDesJXhEd2iJ9_Y3as_2A" annotatedElement="_RCXpkJQdEdyUQMht1ste1A">
+ <body>FunctionTrigger represents the triggering parameters necessary to define the execution of an identified FunctionType or FunctionPrototype. When referring to a FunctionType, a FunctionTrigger applies to all FunctionPrototypes of the given type. When referring to a FunctionPrototype, the trigger is only valid for this particular FunctionPrototype.
+
+Triggering is defined either as event-driven or time-driven - depending on the property triggerPolicy. If set to TIME, the timing constraint is defined with an event constraint associated with the Function&#x2019;s or FunctionPrototype&#x2019;s EventFunction. The function event refers to the activation of the function. If set to EVENT, one or several ports of the Function triggers the function, i.e. activates the function. In both cases, a triggerCondition is provided in the form of a Boolean expression that must evaluate to true for the function to execute. The triggerCondition syntax and grammar is unspecified.
+
+In addition a FunctionTrigger may refer to a list of Modes in which the trigger will be considered as potentially active. Because of FunctionBehaviors may also refer to Modes, it is thus possible to arrange various function configurations for which different sets of triggers and behaviors are active. And this, at various level of granularity, either with a type-wise scope (by referring to a FunctionType) or specifically at prototype level (by referring to a FunctionPrototype).
+
+Note that several FunctionTriggers may be assigned to the same Function (Type or Prototype), for instance to define alternative trigger conditions and/or timing constraints.
+
+
+Semantics:
+Association Mode defines in which modes the trigger is active
+
+It is possible to have multiple triggers on a function, e.g. a slow period complemented with an event trigger allows fast response when needed but a minimal execution rate.
+
+
+Constraints:
+[1] The port association must not be empty when triggerPolicy is EVENT.
+
+[2] The port association is empty when triggerPolicy is TIME.
+
+[3] Function and functionPrototype are mutually exclusive associations. A FunctionTrigger either identifies a FunctionType or a FunctionPrototype as its target function, but not both.
+
+[4] Only FunctionFlowPort of FlowDirection=in shall be referred to in the association port and at least one of them shall trigger the function
+
+Extension:
+Class</body>
+ </ownedComment>
+ <generalization xmi:id="_pI77AE3ZEd-eluvub9wzww" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_YV_h0JaGEdy9tfphy-LpCA" name="triggerCondition" isUnique="false">
+ <ownedComment xmi:id="_Vvb7sJXhEd2iJ9_Y3as_2A" annotatedElement="_YV_h0JaGEdy9tfphy-LpCA">
+ <body>An OCL expression that allows release of the ADLFunctionType only if it evaluates to TRUE.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_x9EKMASFEd2gWpDJrHFnow" name="base_Class" isUnique="false" association="_xnm3kASFEd2gWpDJrHFnow">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_yn690EVEEd686o7OtOH77g" name="triggerPolicy" type="_sdYuMEVEEd686o7OtOH77g" isUnique="false">
+ <ownedComment xmi:id="_DRCwgFTNEd6YkpxqgR2miA" annotatedElement="_yn690EVEEd686o7OtOH77g">
+ <body>Defines whether time or trigger events on ports makes the Function execute</body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_8JBN8ExeEd-SDeUiu9LLYg" name="mode" type="_1nGm4NjgEd6wXIBypQTswA" isUnique="false" association="_8GfeYExeEd-SDeUiu9LLYg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_8JgWIExeEd-SDeUiu9LLYg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_8JiyYExeEd-SDeUiu9LLYg" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_fJ2zsFaVEd-IHoZrGPPWCg" name="function" type="_i-f6JDxIEdyqfK4bFJstMQ" isUnique="false" association="_fIZbIFaVEd-IHoZrGPPWCg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gb_J8FaVEd-IHoZrGPPWCg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gcDbYFaVEd-IHoZrGPPWCg" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_lcpncFaVEd-IHoZrGPPWCg" name="port" type="_i-f6UzxIEdyqfK4bFJstMQ" isUnique="false" association="_laWhYFaVEd-IHoZrGPPWCg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ldGTYFaVEd-IHoZrGPPWCg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ldIvoFaVEd-IHoZrGPPWCg" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_odlo4FaVEd-IHoZrGPPWCg" name="functionPrototype" type="_i-f6TTxIEdyqfK4bFJstMQ" isUnique="false" association="_ochR4FaVEd-IHoZrGPPWCg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_qAMrIFaVEd-IHoZrGPPWCg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_qAQ8kFaVEd-IHoZrGPPWCg" value="1"/>
+ </ownedAttribute>
+ <icon xmi:id="_h7BcUEnFEd2n_LV02Saw8w" content="71%73%70%56%57%97%16%0%16%0%-124%0%0%20%30%100%25%35%105%29%39%109%32%42%112%36%46%116%38%48%118%43%53%123%45%55%125%50%60%-126%52%62%-124%57%67%-119%58%68%-118%60%70%-116%-33%-15%-1%-32%-15%-1%-33%-14%-1%-32%-14%-1%-24%-11%-1%-23%-11%-1%-16%-8%-1%-16%-7%-1%-15%-7%-1%-7%-4%-1%-7%-3%-1%-6%-3%-1%-1%-1%-1%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%33%-2%51%69%65%83%84%45%65%68%76%32%112%114%111%106%101%99%116%10%65%117%116%104%111%114%32%58%32%109%105%99%107%97%101%108%46%99%111%110%100%101%64%115%105%101%109%101%110%115%46%99%111%109%0%33%-7%4%1%10%0%31%0%44%0%0%0%0%16%0%16%0%0%5%71%-32%39%-114%100%105%-98%104%-86%-82%108%-85%46%76%44%-49%34%35%38%89%-82%-21%10%125%96%64%0%0%115%-79%96%16%51%70%-127%66%1%80%42%-128%74%101%98%-96%13%36%-128%-120%54%34%-116%16%106%-94%-128%-29%-47%104%56%-54%13%-120%-96%36%108%-69%-123%-82%-72%124%20%2%0%59%">
+ <eAnnotations xmi:id="_iofmUEnFEd2n_LV02Saw8w" source="image_papyrus">
+ <details xmi:id="_iorMgEnFEd2n_LV02Saw8w" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_xnm3kASFEd2gWpDJrHFnow" name="Extension_Trigger" memberEnd="_x8eUUASFEd2gWpDJrHFnow _x9EKMASFEd2gWpDJrHFnow">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_x8eUUASFEd2gWpDJrHFnow" name="extension_Trigger" type="_RCXpkJQdEdyUQMht1ste1A" aggregation="composite" association="_xnm3kASFEd2gWpDJrHFnow"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_sdYuMEVEEd686o7OtOH77g" name="TriggerPolicyKind">
+ <ownedComment xmi:id="_JLUWkFTNEd6YkpxqgR2miA" annotatedElement="_sdYuMEVEEd686o7OtOH77g">
+ <body>TriggerPolicyKind represents an enumeration for triggering policies.
+
+Semantics:
+The TriggerPolicyKind contains EVENT and TIME as possible triggering policies.
+
+Extension:
+Enumeration, no extension.</body>
+ </ownedComment>
+ <ownedLiteral xmi:id="_vgBYwEVEEd686o7OtOH77g" name="EVENT">
+ <ownedComment xmi:id="_Li1nkFTNEd6YkpxqgR2miA" annotatedElement="_vgBYwEVEEd686o7OtOH77g">
+ <body>Triggering by event.</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_wxMswEVEEd686o7OtOH77g" name="TIME">
+ <ownedComment xmi:id="_NDfiAFTNEd6YkpxqgR2miA" annotatedElement="_wxMswEVEEd686o7OtOH77g">
+ <body>Triggering by time.</body>
+ </ownedComment>
+ </ownedLiteral>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_OuOD8ExeEd-SDeUiu9LLYg" name="A_Behavior_FunctionTrigger" memberEnd="_Ou4LQExeEd-SDeUiu9LLYg _OvUQIExeEd-SDeUiu9LLYg">
+ <ownedEnd xmi:id="_OvUQIExeEd-SDeUiu9LLYg" name="behavior" type="_uX4EMExcEd-2jOkjG5hxSQ" isUnique="false" association="_OuOD8ExeEd-SDeUiu9LLYg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_OvrcgExeEd-SDeUiu9LLYg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_OvpAQExeEd-SDeUiu9LLYg" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_1nGm4NjgEd6wXIBypQTswA" name="Mode">
+ <ownedComment xmi:id="_2pR1kNjgEd6wXIBypQTswA" annotatedElement="_1nGm4NjgEd6wXIBypQTswA">
+ <body>Modes are a way to introduce various configurations in the system to account for different states of the system, or of a hardware entity, or an application. The use of modes can be used to filter different views of the model.
+
+Modes are characterized by a Boolean condition provided as a String which evaluates to true when the Mode is active.
+
+As far as behavior is concerned, Modes enable to logically organize a set of triggers and behaviors over a set of functions. Modes are both referred to by FunctionTriggers and FunctionBehaviors, thus capturing this organization (see FunctionTrigger and FunctionBehavior).
+
+Modes can be further organized in mutually exclusive sets with ModeGroups (see that element).
+
+Semantics:
+The Mode is active if and only if the condition is true.</body>
+ </ownedComment>
+ <generalization xmi:id="_sSshQE3ZEd-eluvub9wzww" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_4G97kNjgEd6wXIBypQTswA" name="condition" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_G9KU8Nj7Ed6rlulM-6rbhg" name="base_Class" isUnique="false" association="_G7C1ENj7Ed6rlulM-6rbhg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_GBbrUNjhEd6wXIBypQTswA" name="ModeGroup">
+ <ownedComment xmi:id="_HOOOkNjhEd6wXIBypQTswA" annotatedElement="_GBbrUNjhEd6wXIBypQTswA">
+ <body>ModeGroups serve as container of Modes. The set of Modes in a ModeGroup are mutually exclusive. This means that only one Mode of a ModeGroup is active at any point in time. A precondition in the form of a Boolean expression is assigned to the ModeGroup so that ModeGroups can be switched on and off as a whole.</body>
+ </ownedComment>
+ <generalization xmi:id="_u9O04E3ZEd-eluvub9wzww" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_IQRhcNjhEd6wXIBypQTswA" name="precondition" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_PjwWINjhEd6wXIBypQTswA" name="mode" type="_1nGm4NjgEd6wXIBypQTswA" isUnique="false" association="_PjR1ANjhEd6wXIBypQTswA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PkQscNjhEd6wXIBypQTswA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_PkUW0NjhEd6wXIBypQTswA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_GidV8Nj7Ed6rlulM-6rbhg" name="base_Class" isUnique="false" association="_GgaHgNj7Ed6rlulM-6rbhg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_PjR1ANjhEd6wXIBypQTswA" name="A_ModeGroup_Mode" memberEnd="_PjwWINjhEd6wXIBypQTswA _PkYBMNjhEd6wXIBypQTswA">
+ <ownedEnd xmi:id="_PkYBMNjhEd6wXIBypQTswA" name="modeGroup" type="_GBbrUNjhEd6wXIBypQTswA" isUnique="false" association="_PjR1ANjhEd6wXIBypQTswA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PlGZ8NjhEd6wXIBypQTswA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_PlCvkNjhEd6wXIBypQTswA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_GgaHgNj7Ed6rlulM-6rbhg" name="Extension_ModeGroup" memberEnd="_GiB4INj7Ed6rlulM-6rbhg _GidV8Nj7Ed6rlulM-6rbhg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_GiB4INj7Ed6rlulM-6rbhg" name="extension_ModeGroup" type="_GBbrUNjhEd6wXIBypQTswA" aggregation="composite" association="_GgaHgNj7Ed6rlulM-6rbhg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_G7C1ENj7Ed6rlulM-6rbhg" name="Extension_Mode" memberEnd="_G8wFQNj7Ed6rlulM-6rbhg _G9KU8Nj7Ed6rlulM-6rbhg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_G8wFQNj7Ed6rlulM-6rbhg" name="extension_Mode" type="_1nGm4NjgEd6wXIBypQTswA" aggregation="composite" association="_G7C1ENj7Ed6rlulM-6rbhg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_6HNuQExeEd-SDeUiu9LLYg" name="A_FunctionBehavior_Mode" memberEnd="_6JuPsExeEd-SDeUiu9LLYg _6KY-EExeEd-SDeUiu9LLYg">
+ <ownedEnd xmi:id="_6KY-EExeEd-SDeUiu9LLYg" name="functionBehavior" type="_i-WNHzxIEdyqfK4bFJstMQ" isUnique="false" association="_6HNuQExeEd-SDeUiu9LLYg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_6K-z8ExeEd-SDeUiu9LLYg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_6K8-wExeEd-SDeUiu9LLYg" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_8GfeYExeEd-SDeUiu9LLYg" name="A_FunctionTrigger_Mode" memberEnd="_8JBN8ExeEd-SDeUiu9LLYg _8JknkExeEd-SDeUiu9LLYg">
+ <ownedEnd xmi:id="_8JknkExeEd-SDeUiu9LLYg" name="functionTrigger" type="_RCXpkJQdEdyUQMht1ste1A" isUnique="false" association="_8GfeYExeEd-SDeUiu9LLYg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_8J9pIExeEd-SDeUiu9LLYg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_8J7z8ExeEd-SDeUiu9LLYg" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_fIZbIFaVEd-IHoZrGPPWCg" name="A_FunctionTrigger_FunctionType" memberEnd="_fJ2zsFaVEd-IHoZrGPPWCg _fKYYIFaVEd-IHoZrGPPWCg">
+ <ownedEnd xmi:id="_fKYYIFaVEd-IHoZrGPPWCg" name="functionTrigger" type="_RCXpkJQdEdyUQMht1ste1A" isUnique="false" association="_fIZbIFaVEd-IHoZrGPPWCg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fKvkgFaVEd-IHoZrGPPWCg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fKtvUFaVEd-IHoZrGPPWCg" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_laWhYFaVEd-IHoZrGPPWCg" name="A_FunctionTrigger_FunctionPort" memberEnd="_lcpncFaVEd-IHoZrGPPWCg _ldKk0FaVEd-IHoZrGPPWCg">
+ <ownedEnd xmi:id="_ldKk0FaVEd-IHoZrGPPWCg" name="functionTrigger" type="_RCXpkJQdEdyUQMht1ste1A" isUnique="false" association="_laWhYFaVEd-IHoZrGPPWCg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ldgjEFaVEd-IHoZrGPPWCg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ldet4FaVEd-IHoZrGPPWCg" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_ochR4FaVEd-IHoZrGPPWCg" name="A_FunctionTrigger_FunctionPrototype" memberEnd="_odlo4FaVEd-IHoZrGPPWCg _oeH0YFaVEd-IHoZrGPPWCg">
+ <ownedEnd xmi:id="_oeH0YFaVEd-IHoZrGPPWCg" name="functionTrigger" type="_RCXpkJQdEdyUQMht1ste1A" isUnique="false" association="_ochR4FaVEd-IHoZrGPPWCg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_oedyoFaVEd-IHoZrGPPWCg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_oeb9cFaVEd-IHoZrGPPWCg" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_GuZRoFgaEd-SipQLbZtnVw" name="A_Behavior_ModeGroup" memberEnd="_GxcloFgaEd-SipQLbZtnVw _Gx7t0FgaEd-SipQLbZtnVw">
+ <ownedEnd xmi:id="_Gx7t0FgaEd-SipQLbZtnVw" name="behavior" type="_uX4EMExcEd-2jOkjG5hxSQ" isUnique="false" association="_GuZRoFgaEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_GyThQFgaEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_GyRsEFgaEd-SipQLbZtnVw" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="_i-WLPzxIEdyqfK4bFJstMQ" name="Requirements" metaclassReference="_dKOAUEAXEdympvaafZjFBw _dKz2MEAXEdympvaafZjFBw _XJrP4Nu3EdyN-KVwISucrA _ZTFE8E1-Ed-g_-U9icW-Pw _jnK-UFgbEd-SipQLbZtnVw _bRc4wKWpEeGVVPgQD6jlgA _eXcZUKWpEeGVVPgQD6jlgA _sQo9wKWpEeGVVPgQD6jlgA _trWoQKWpEeGVVPgQD6jlgA _vLMDUKWpEeGVVPgQD6jlgA">
+ <ownedComment xmi:id="__UnysKAsEd20Qu_niqpmJw" annotatedElement="_i-WLPzxIEdyqfK4bFJstMQ">
+ <body>A requirement expresses a condition or capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification or other formally imposed properties.
+
+Requirements can be introduced in different phases of the development process for different reasons. They could be introduced by marketing people, control engineers, system engineers, software engineers, Driver/OS developers, basic software developers or hardware engineers. This leads to the fact that requirements have many sources, and requirements are of many types (at different level of detail) and have several relations between them. Under these conditions the number of requirements can become quickly unmanageable if appropriate management does not exist. Note that, requirements can change during the project development and the changes should be taken into account. Requirements are organized hierarchically through several kinds of refinement relations.
+
+EAST-ADL2 has constructs that deal with these problems. Some of these constructs deals with general issues in software development and have been already addressed in the past by general processes. As done for the structure part of EAST-ADL2, the requirements part will be compliant with UML2. The EAST-ADL2 adapts existing concepts whenever possible and develops new ones otherwise. Support for requirements modeling is provided by the EAST-ADL2 on two levels: a generic level and specializing levels (e.g. Dependability.SafetyRequirement) where specialized requirement entities are provided which are intended for certain special uses.
+
+Elements inspired by SysML are Requirement, Satisfy, Refine, DeriveRequirement, (Verify)</body>
+ </ownedComment>
+ <elementImport xmi:id="_dKOAUEAXEdympvaafZjFBw" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <elementImport xmi:id="_dKz2MEAXEdympvaafZjFBw" alias="Dependency">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ </elementImport>
+ <elementImport xmi:id="_XJrP4Nu3EdyN-KVwISucrA" alias="Package">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ </elementImport>
+ <elementImport xmi:id="_ZTFE8E1-Ed-g_-U9icW-Pw" alias="UseCase">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#UseCase"/>
+ </elementImport>
+ <elementImport xmi:id="_jnK-UFgbEd-SipQLbZtnVw" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <elementImport xmi:id="_bRc4wKWpEeGVVPgQD6jlgA" alias="Include">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Include"/>
+ </elementImport>
+ <elementImport xmi:id="_eXcZUKWpEeGVVPgQD6jlgA" alias="Actor">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Actor"/>
+ </elementImport>
+ <elementImport xmi:id="_sQo9wKWpEeGVVPgQD6jlgA" alias="Extend">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Extend"/>
+ </elementImport>
+ <elementImport xmi:id="_trWoQKWpEeGVVPgQD6jlgA" alias="ExtensionPoint">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ExtensionPoint"/>
+ </elementImport>
+ <elementImport xmi:id="_vLMDUKWpEeGVVPgQD6jlgA" alias="RedefinableElement">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#RedefinableElement"/>
+ </elementImport>
+ <packageImport xmi:id="_IOtdoE2BEd-g_-U9icW-Pw">
+ <importedPackage xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WLejxIEdyqfK4bFJstMQ" name="QualityRequirement">
+ <ownedComment xmi:id="_A0xvkJX1Ed2iJ9_Y3as_2A" annotatedElement="_i-WLejxIEdyqfK4bFJstMQ">
+ <body>QualityRequirements are the kind of requirements that are used to introduce externally visible properties of the system considered as a whole.
+The attribute qualityRequirementType allows a more specific classification.
+
+
+
+Extension:
+Class, specializes Requirement</body>
+ </ownedComment>
+ <generalization xmi:id="_i-WLezxIEdyqfK4bFJstMQ" general="_i-WLxjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_i-WLfDxIEdyqfK4bFJstMQ" name="qualityRequirementType" visibility="public" type="_wVskwDxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_i-WLfTxIEdyqfK4bFJstMQ">
+ <body>The specific type of quality requirement</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_AwoCwGgSEdyZ-rSA5-bo-g" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_AwoCwWgSEdyZ-rSA5-bo-g" value="1"/>
+ </ownedAttribute>
+ <icon xmi:id="_RvOCcEnNEd2n_LV02Saw8w" content="71%73%70%56%57%97%16%0%16%0%-91%42%0%20%30%100%23%33%103%26%36%106%27%37%107%29%39%109%30%40%110%32%42%112%33%43%113%35%45%115%36%46%116%39%49%119%42%52%122%45%55%125%48%58%-128%51%61%-125%54%64%-122%57%67%-119%60%70%-116%-76%-76%-76%-35%-16%-1%-34%-16%-1%-35%-15%-1%-34%-15%-1%-31%-14%-1%-28%-13%-1%-27%-13%-1%-28%-12%-1%-25%-11%-1%-24%-11%-1%-22%-10%-1%-21%-10%-1%-21%-9%-1%-18%-8%-1%-15%-7%-1%-12%-6%-1%-11%-5%-1%-9%-4%-1%-8%-4%-1%-5%-2%-1%-2%-2%-1%-2%-1%-1%-1%-1%-1%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%33%-2%51%69%65%83%84%45%65%68%76%32%112%114%111%106%101%99%116%10%65%117%116%104%111%114%32%58%32%109%105%99%107%97%101%108%46%99%111%110%100%101%64%115%105%101%109%101%110%115%46%99%111%109%0%33%-7%4%1%10%0%63%0%44%0%0%0%0%16%0%16%0%0%6%122%-64%-97%112%72%44%22%35%-56%36%-46%40%-124%-92%-98%-48%7%68%8%32%62%78%40%84%42%-5%-24%2%-86%67%-121%73%66%38%123%-63%-61%70%105%77%34%-107%72%-33%70%-111%49%42%3%36%95%17%3%-3%91%-124%-2%33%95%0%127%95%68%10%32%101%120%18%32%-123%68%8%29%31%-112%29%30%30%95%9%69%6%28%118%120%0%27%7%69%4%25%26%-93%-126%24%24%5%69%2%23%-119%119%23%23%3%69%1%22%-77%-77%21%20%22%19%1%69%-126%-68%-68%76%-65%66%65%0%59%">
+ <eAnnotations xmi:id="_SPjIUEnNEd2n_LV02Saw8w" source="image_papyrus">
+ <details xmi:id="_SPon4EnNEd2n_LV02Saw8w" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WLxDxIEdyqfK4bFJstMQ" name="RequirementsContainer">
+ <ownedComment xmi:id="_nPKlIJXlEd2iJ9_Y3as_2A" annotatedElement="_i-WLxDxIEdyqfK4bFJstMQ">
+ <body>RequirementContainer represents a larger unit or module of specification information. It is used to share several Requirements which are semantically related to each other. Also, a RequirementContainer structure will be used for structuring requirement specification objects (Requirements, Rationals etc.). Thus, to preserve the ordering of requirement specification objects the ordering of child containers is very important here.
+
+In addition to sharing related Requirements, the RequirementContainer allows to define relations between its contained Requirements and also a grouping of them.
+
+Furthermore, the RequirementContainer allows introducing additional user attribute definitions by way of UserAttributeElementTypes or UserAttributeTemplates which are valid only locally inside this RequirementContainer. These are additional in that they are used in addition to the user attribute definitions which are provided globally for the entire EAST-ADL2 repository.
+
+An EAST-ADL2 system model may contain a forest of RequirementContainer (see parent child relationship). Only non root RequirementContainer which have a parentContainer are allowed to reference a RequirementSpecificationObject.
+The RequirementContainer with its parent child containment relationship and the reference to RequirementSpecificationObject is the basis element for structuring requirement information into a forest structure.
+
+Constraints:
+[1] Only non root RequirementContainer (parentContainer must be set) which have a parentContainer are allowed to reference a RequirementSpecificationObject.
+
+Notation:
+RequirementContainer is shown as a solid-outline rectangle containing the name. Contained entities may also be shown inside (White-box view)
+
+Extension: Package</body>
+ </ownedComment>
+ <generalization xmi:id="_QriGkNdtEd6hwb99h1VVPA" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_jnuDwNdtEd6hwb99h1VVPA" name="childContainer" type="_i-WLxDxIEdyqfK4bFJstMQ" isOrdered="true" association="_jiUmYNdtEd6hwb99h1VVPA">
+ <ownedComment xmi:id="_ut9_cNdtEd6hwb99h1VVPA" annotatedElement="_jnuDwNdtEd6hwb99h1VVPA">
+ <body>Sub containers of a requirement container. Sub containers may have references (each time max. 1) to requirement specification objects. To preserve the original ordering of requirement specifiaction objects, the ordering of Sub containers is very important here.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jouJUNdtEd6hwb99h1VVPA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_joxzsNdtEd6hwb99h1VVPA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_jo2FINdtEd6hwb99h1VVPA" name="parentContainer" type="_i-WLxDxIEdyqfK4bFJstMQ" isUnique="false" association="_jiUmYNdtEd6hwb99h1VVPA">
+ <ownedComment xmi:id="_7gzYwNdtEd6hwb99h1VVPA" annotatedElement="_jo2FINdtEd6hwb99h1VVPA">
+ <body>The Parent container of a container. If there is no parent, the container is a root container and thus cannot have a reference to a requirement specification object.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jpgzgNdtEd6hwb99h1VVPA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jpdJINdtEd6hwb99h1VVPA" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_U5mjMNkSEd6rlulM-6rbhg" name="base_Class" isUnique="false" association="_Ujbe4NkSEd6rlulM-6rbhg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_5rzPAG1XEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_5r3gcG1XEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_V6sz0NkSEd6rlulM-6rbhg" name="base_Package" isUnique="false" association="_VkAyINkSEd6rlulM-6rbhg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_6Zn-UG1XEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_6ZwhMG1XEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_tUNzsNdsEd6hwb99h1VVPA" name="containedReqSpecObject" type="_kjXpINdsEd6hwb99h1VVPA" isUnique="false" association="_tHxTINdsEd6hwb99h1VVPA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_lw5uQFaXEd-IHoZrGPPWCg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_lw9YoFaXEd-IHoZrGPPWCg" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WLxjxIEdyqfK4bFJstMQ" name="Requirement">
+ <ownedComment xmi:id="_cBxfoJXlEd2iJ9_Y3as_2A" annotatedElement="_i-WLxjxIEdyqfK4bFJstMQ">
+ <body>The Requirement represents a capability or condition that must (or should) be satisfied. A Requirement can also specify an informal constraint, e.g. &quot;The development of the component X must be according to the standard Y&quot;, or &quot;The realization of this function as a software component must adhere to the scope and external interface as specified by this function&quot;. It will be used to unite the common properties of specific requirement types. A Requirement may either be directly associated to a Context (by inheriting from TraceableSpecification or it may be included in a RequirementContainer, which represents a larger unit or module of specification information.
+
+The traceability between Requirement entities, and other specification or design entities, will be ensured by the relationship dependencies described in the Infrastructure part of this specification.
+
+Semantics:
+The Requirement metaclass applies to the EAElement that is associated to the Requirement through the Satisfy relation.
+
+Notation:
+Requirement is shown as a solid rectangle with Req top right and its name.
+
+Changes:
+Renamed from Requirement, name clash with SysML
+ToDo:
+Check the attributes specified in EAST.
+
+Extension:
+To specialize SysML::Requirement, which extends Class</body>
+ </ownedComment>
+ <generalization xmi:id="_k6KK4E2AEd-g_-U9icW-Pw" general="_kjXpINdsEd6hwb99h1VVPA"/>
+ <generalization xmi:id="_WDGakE2BEd-g_-U9icW-Pw">
+ <general xmi:type="uml:Stereotype" href="pathmap://SysML_PROFILES/SysML.profile.uml#_xajygLXqEduHWpAaWjM62w"/>
+ </generalization>
+ <ownedAttribute xmi:id="_i-WLyzxIEdyqfK4bFJstMQ" name="formalism" visibility="public">
+ <ownedComment xmi:id="_gFjeIJXlEd2iJ9_Y3as_2A" annotatedElement="_i-WLyzxIEdyqfK4bFJstMQ">
+ <body>Specifies the language used for the requirement statement.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-WLzTxIEdyqfK4bFJstMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-WLzDxIEdyqfK4bFJstMQ" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_NzWnAE9OEd6QoNfw_jhK0w" name="url" isUnique="false">
+ <ownedComment xmi:id="_wSqPoFQ3Ed6Xd4cXg8Jv5g" annotatedElement="_NzWnAE9OEd6QoNfw_jhK0w">
+ <body>Reference to possible external file containing the requirement statement.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_QaMtcE9OEd6QoNfw_jhK0w"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_QaRl8E9OEd6QoNfw_jhK0w" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_28EhAFgcEd-SipQLbZtnVw" name="mode" type="_1nGm4NjgEd6wXIBypQTswA" isUnique="false" association="_22bzEFgcEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_28qW4FgcEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_28sMEFgcEd-SipQLbZtnVw" value="*"/>
+ </ownedAttribute>
+ <icon xmi:id="_p9Rt8E4ZEd-ZaonW8j10xQ" content="71%73%70%56%57%97%16%0%16%0%-43%0%0%20%30%100%23%33%103%26%36%106%27%37%107%29%39%109%30%40%110%32%42%112%33%43%113%35%45%115%36%46%116%39%49%119%42%52%122%45%55%125%48%58%-128%51%61%-125%54%64%-122%57%67%-119%60%70%-116%-35%-16%-1%-34%-16%-1%-35%-15%-1%-34%-15%-1%-31%-14%-1%-28%-13%-1%-27%-13%-1%-28%-12%-1%-27%-12%-1%-25%-11%-1%-24%-11%-1%-22%-10%-1%-21%-10%-1%-21%-9%-1%-18%-9%-1%-18%-8%-1%-15%-7%-1%-14%-7%-1%-12%-6%-1%-11%-5%-1%-9%-4%-1%-8%-4%-1%-5%-3%-1%-5%-2%-1%-2%-2%-1%-2%-1%-1%-1%-1%-1%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%33%-7%4%1%0%0%63%0%44%0%0%0%0%16%0%16%0%0%6%126%-64%-97%112%72%44%26%35%-56%36%-46%40%-124%-80%-98%-48%7%-124%-7%80%-83%86%-84%-21%99%107%116%-92%0%40%-128%120%-5%112%20%27%-89%-76%-55%116%90%-97%26%-62%-110%-112%81%2%-112%-60%120%18%-67%-60%-1%45%68%-128%34%35%-125%-128%11%124%-121%10%33%0%-118%120%0%32%10%-121%124%8%29%31%-108%29%30%-104%30%9%69%6%28%0%27%-115%-97%7%69%4%24%25%-89%23%23%26%-87%5%69%2%22%0%-80%-115%22%3%69%1%21%-72%-72%20%19%21%18%1%69%-95%-63%76%-61%63%65%0%59%">
+ <eAnnotations xmi:id="_Bu3eYE4bEd-ZaonW8j10xQ" source="image_papyrus">
+ <details xmi:id="_Bu3eYU4bEd-ZaonW8j10xQ" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_i-WL5TxIEdyqfK4bFJstMQ" name="A_ADLRequirement_ADLSatisfy" memberEnd="_i-WL5jxIEdyqfK4bFJstMQ _i-WNeTxIEdyqfK4bFJstMQ">
+ <ownedEnd xmi:id="_i-WL5jxIEdyqfK4bFJstMQ" name="ADLSatisfy" type="_i-WNczxIEdyqfK4bFJstMQ" association="_i-WL5TxIEdyqfK4bFJstMQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-WL6DxIEdyqfK4bFJstMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-WL5zxIEdyqfK4bFJstMQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_i-WL6TxIEdyqfK4bFJstMQ" name="A_ADLRequirement_ADLDeriveReqt" memberEnd="_i-WL6jxIEdyqfK4bFJstMQ _i-WNnDxIEdyqfK4bFJstMQ">
+ <ownedEnd xmi:id="_i-WL6jxIEdyqfK4bFJstMQ" name="ADLDeriveReqt" type="_i-WNmDxIEdyqfK4bFJstMQ" association="_i-WL6TxIEdyqfK4bFJstMQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-WL7DxIEdyqfK4bFJstMQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-WL6zxIEdyqfK4bFJstMQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_i-WL7TxIEdyqfK4bFJstMQ" name="A_ADLRequirement_ADLDeriveReqt" memberEnd="_i-WL7jxIEdyqfK4bFJstMQ _i-WNnzxIEdyqfK4bFJstMQ">
+ <ownedEnd xmi:id="_i-WL7jxIEdyqfK4bFJstMQ" name="ADLDeriveReqt" type="_i-WNmDxIEdyqfK4bFJstMQ" association="_i-WL7TxIEdyqfK4bFJstMQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-WL8DxIEdyqfK4bFJstMQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-WL7zxIEdyqfK4bFJstMQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_i-WL8TxIEdyqfK4bFJstMQ" name="A_ADLRequirement_ADLRefine" memberEnd="_i-WL8jxIEdyqfK4bFJstMQ _i-WNgTxIEdyqfK4bFJstMQ">
+ <ownedEnd xmi:id="_i-WL8jxIEdyqfK4bFJstMQ" name="ADLRefine" type="_i-WNfzxIEdyqfK4bFJstMQ" association="_i-WL8TxIEdyqfK4bFJstMQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-WL9DxIEdyqfK4bFJstMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-WL8zxIEdyqfK4bFJstMQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_i-WL9TxIEdyqfK4bFJstMQ" name="A_ADLRequirement_ADLVerify" memberEnd="_i-WL9jxIEdyqfK4bFJstMQ _i-WNcDxIEdyqfK4bFJstMQ">
+ <ownedEnd xmi:id="_i-WL9jxIEdyqfK4bFJstMQ" name="ADLVerify" type="_i-WNZzxIEdyqfK4bFJstMQ" association="_i-WL9TxIEdyqfK4bFJstMQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-WL-DxIEdyqfK4bFJstMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-WL9zxIEdyqfK4bFJstMQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_wVskwDxIEdyqfK4bFJstMQ" name="QualityRequirementKind">
+ <ownedComment xmi:id="_EpFHoJX1Ed2iJ9_Y3as_2A" annotatedElement="_wVskwDxIEdyqfK4bFJstMQ">
+ <body>QualityRequirementKind represents an enumeration with enumeration literals describing various types of quality requirements.
+
+Extension:
+Enumeration, no extension.</body>
+ </ownedComment>
+ <ownedLiteral xmi:id="_i-WLcjxIEdyqfK4bFJstMQ" name="ergonomy"/>
+ <ownedLiteral xmi:id="_i-WLczxIEdyqfK4bFJstMQ" name="configurability"/>
+ <ownedLiteral xmi:id="_i-WLdDxIEdyqfK4bFJstMQ" name="integrity"/>
+ <ownedLiteral xmi:id="_i-WLdTxIEdyqfK4bFJstMQ" name="safety"/>
+ <ownedLiteral xmi:id="_i-WLdjxIEdyqfK4bFJstMQ" name="other"/>
+ <ownedLiteral xmi:id="_i-WLdzxIEdyqfK4bFJstMQ" name="security"/>
+ <ownedLiteral xmi:id="_i-WLeTxIEdyqfK4bFJstMQ" name="humanMachineInterface"/>
+ <ownedLiteral xmi:id="_pkubME9ZEd6hGLXAboHV6A" name="timing"/>
+ <ownedLiteral xmi:id="_fh1JYE2CEd-g_-U9icW-Pw" name="availability"/>
+ <ownedLiteral xmi:id="_hf28UE2CEd-g_-U9icW-Pw" name="reliability"/>
+ <ownedLiteral xmi:id="_jgPfsE2CEd-g_-U9icW-Pw" name="confidentiality"/>
+ <ownedLiteral xmi:id="_ppG7YE2CEd-g_-U9icW-Pw" name="maintainability"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_kjXpINdsEd6hwb99h1VVPA" name="RequirementSpecificationObject" isAbstract="true">
+ <ownedComment xmi:id="_o-o6kNdsEd6hwb99h1VVPA" annotatedElement="_kjXpINdsEd6hwb99h1VVPA">
+ <body>In general it is a standard practice (e.g. using IBM Rational DOORS) to define requirements and also rationales, explanations and other requirement related information as direct successors or predecessors of an appropriate requirement. Thus, requirements and requirement related information are generalized to RequirementSpecificationObject which in turn can be referenced by the structuring container structure (RequirementContainer).</body>
+ </ownedComment>
+ <generalization xmi:id="_DIgqwE1_Ed-g_-U9icW-Pw" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_iclDMJqnEeGhQ8mhoNM_3Q" name="referencingContainer" type="_i-WLxDxIEdyqfK4bFJstMQ" association="_icmRUJqnEeGhQ8mhoNM_3Q">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iclDMpqnEeGhQ8mhoNM_3Q" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iclDMZqnEeGhQ8mhoNM_3Q" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_tHxTINdsEd6hwb99h1VVPA" name="A_ADLRequirementSpecificationObject_ADLRequirementContainer" memberEnd="_tTmIoNdsEd6hwb99h1VVPA _tUNzsNdsEd6hwb99h1VVPA">
+ <ownedEnd xmi:id="_tTmIoNdsEd6hwb99h1VVPA" name="referencingContainer" type="_i-WLxDxIEdyqfK4bFJstMQ" isUnique="false" association="_tHxTINdsEd6hwb99h1VVPA">
+ <ownedComment xmi:id="_0Tt8cNdsEd6hwb99h1VVPA" annotatedElement="_tTmIoNdsEd6hwb99h1VVPA">
+ <body>In general it is a standard practice (e.g. using IBM Rational DOORS) to define requirements and also rationals, explanations and other requirement related information as direct successors or predeccessors of an appropriate requirement. Thus, requirements and requirement related informations are generalized to ADLRequirementSpecificationObject which in turn can be referenced by the structuring container structure (ADLRequirementContainer).</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_tUC0kNdsEd6hwb99h1VVPA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_tUGe8NdsEd6hwb99h1VVPA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_jiUmYNdtEd6hwb99h1VVPA" name="A_ADLRequirementContainer_ADLRequirementContainer" memberEnd="_jnuDwNdtEd6hwb99h1VVPA _jo2FINdtEd6hwb99h1VVPA"/>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_GOgRkNduEd6hwb99h1VVPA" name="RequirementsRelatedInformation">
+ <ownedComment xmi:id="_J2ed0NduEd6hwb99h1VVPA" annotatedElement="_GOgRkNduEd6hwb99h1VVPA">
+ <body>This is a placeholder for all objects which are not Requirements (such as Rational, Explanations, Related Material etc...). E.g. an element of type RequirementsRelatedInformation which is a rational of an element of type Requirement will directly succeeding this requirement as a sibling element (see structuring of requirement elements via RequirementContainer).
+
+Semantics:
+This metaclass can be used to represents information this is not a requirement but is related to requirements and is often provided together with a set of requirements in a requirements specification.</body>
+ </ownedComment>
+ <generalization xmi:id="_MWu0ENduEd6hwb99h1VVPA" general="_kjXpINdsEd6hwb99h1VVPA"/>
+ <ownedAttribute xmi:id="_fG68oNduEd6hwb99h1VVPA" name="base_Class" isUnique="false" association="_e-RW8NduEd6hwb99h1VVPA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <icon xmi:id="_GThVUE4bEd-ZaonW8j10xQ" content="71%73%70%56%57%97%16%0%16%0%-91%45%0%20%30%100%23%33%103%26%36%106%27%37%107%29%39%109%30%40%110%32%42%112%33%43%113%35%45%115%36%46%116%39%49%119%42%52%122%45%55%125%48%58%-128%51%61%-125%54%64%-122%57%67%-119%60%70%-116%-35%-16%-1%-34%-16%-1%-35%-15%-1%-34%-15%-1%-31%-14%-1%-28%-13%-1%-27%-13%-1%-28%-12%-1%-27%-12%-1%-25%-11%-1%-24%-11%-1%-22%-10%-1%-21%-10%-1%-21%-9%-1%-18%-9%-1%-18%-8%-1%-15%-7%-1%-14%-7%-1%-12%-6%-1%-11%-5%-1%-9%-4%-1%-8%-4%-1%-5%-3%-1%-5%-2%-1%-2%-2%-1%-2%-1%-1%-1%-1%-1%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%20%100%30%33%-2%51%69%65%83%84%45%65%68%76%32%112%114%111%106%101%99%116%10%65%117%116%104%111%114%32%58%32%109%105%99%107%97%101%108%46%99%111%110%100%101%64%115%105%101%109%101%110%115%46%99%111%109%0%33%-7%4%1%10%0%63%0%44%0%0%0%0%16%0%16%0%0%6%125%-64%-97%112%72%44%26%35%-56%36%-46%40%-124%-80%-98%-48%7%-124%-7%80%-83%86%-84%-21%99%107%116%-92%0%40%-128%120%-5%112%20%27%-89%-76%-55%116%90%-97%26%66%-128%-112%81%2%-112%-60%120%18%3%47%95%-120%-2%34%35%-126%127%11%124%0%10%33%0%-119%124%32%10%124%63%8%29%31%-110%29%30%-106%30%9%113%66%6%28%0%27%-122%27%7%69%4%24%25%-90%23%23%26%-88%5%69%2%22%0%-81%124%22%3%69%1%21%-73%-73%20%19%21%18%1%69%-122%-64%76%-62%63%65%0%59%">
+ <eAnnotations xmi:id="_H0-hAE4bEd-ZaonW8j10xQ" source="image_papyrus">
+ <details xmi:id="_H1Hq8E4bEd-ZaonW8j10xQ" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_e-RW8NduEd6hwb99h1VVPA" name="Extension_ADLRequirementRelatedInformation" memberEnd="_fGk-YNduEd6hwb99h1VVPA _fG68oNduEd6hwb99h1VVPA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_fGk-YNduEd6hwb99h1VVPA" name="extension_ADLRequirementRelatedInformation" type="_GOgRkNduEd6hwb99h1VVPA" aggregation="composite" association="_e-RW8NduEd6hwb99h1VVPA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_Ujbe4NkSEd6rlulM-6rbhg" name="Extension_ADLRequirementContainer" memberEnd="_U5KeUNkSEd6rlulM-6rbhg _U5mjMNkSEd6rlulM-6rbhg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_U5KeUNkSEd6rlulM-6rbhg" name="extension_ADLRequirementContainer" type="_i-WLxDxIEdyqfK4bFJstMQ" aggregation="composite" association="_Ujbe4NkSEd6rlulM-6rbhg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_VkAyINkSEd6rlulM-6rbhg" name="Extension_ADLRequirementContainer" memberEnd="_V6Qu8NkSEd6rlulM-6rbhg _V6sz0NkSEd6rlulM-6rbhg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_V6Qu8NkSEd6rlulM-6rbhg" name="extension_ADLRequirementContainer" type="_i-WLxDxIEdyqfK4bFJstMQ" aggregation="composite" association="_VkAyINkSEd6rlulM-6rbhg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="_i-WKtDxIEdyqfK4bFJstMQ" name="VerificationValidation" metaclassReference="_d2rWUEAaEdympvaafZjFBw _67r0QE1zEd-g_-U9icW-Pw _jM0gUE11Ed-g_-U9icW-Pw">
+ <ownedComment xmi:id="_tJID4KAyEd20Qu_niqpmJw" annotatedElement="_i-WKtDxIEdyqfK4bFJstMQ">
+ <body>A multitude of different verification and validation (V&amp;V) techniques, methods and tools are applied during the development of EE-Systems. Different techniques are applicable at different abstraction levels. Also, the technique of choice depends on the properties to validate and/or verify. Furthermore, each partner in a project may develop and employ his own V&amp;V processes and activities. Hence it is impossible to introduce in the EAST-ADL2 a way to model all the objects that can be required by all the possible V&amp;V techniques. As a consequence, EAST-ADL2 furnishes just the means for planning, organizing and describing V&amp;V activities on a fairly abstract level, and for defining the links between those V&amp;V activities, the satisfied and verified requirements, and the objects modeling the system (Functional Analysis Architecture, Functional components, Logical Tasks, etc.). The common parts of all V&amp;V techniques are described by the EAST-ADL2, which includes: the results expected from the V&amp;V activities, the actual results which were obtained when applying the V&amp;V techniques, how the V&amp;V activities are constrained. Information that is specific to an individual V&amp;V technique is not described in EAST-ADL2, but a place for storing this information is provided.
+
+Single V&amp;V techniques may be used only once or at several stages during an overall V&amp;V effort. Some of them are specific to one modeling design stage; others can be applied at various design stages.
+
+A set of V&amp;V techniques and activities is necessary in order to achieve a complete verification and validation of a given system. Often these techniques and activities are employed and performed by many different teams and departments, frequently even by different companies. This raises the demand for an overall planning and organization of all V&amp;V related information.
+
+A very important notion of V&amp;V support in EAST-ADL2 is the distinction of abstract and concrete V&amp;V information:
+
+(1) On the abstract level, verification and validation information is defined without referring to a concrete testing environment and without specifying stimuli and the expected outcome of a particular VVProcedure on a detailed technical level.
+
+(2) On the concrete level, verification and validation information specifies a concrete testing environment and provides all necessary details for testing, e.g. stimuli and expected outcomes, on a concrete technical level applicable to that testing environment.
+
+In accordance to the &quot;what vs. how&quot; definition of requirements one could say: the abstract level defines what needs to be done to verify and validate a certain system, but not precisely how this is done. Conversely, the concrete level defines the precise technical details for particular testing environments. So all abstract VVCases and VVProcedures for a certain system together form sort of a &quot;to-do&quot;-list, which describes what needs to be done when actually testing the system with a concrete testing environment, but in a form applicable to all conceivable testing environments to all conceivable testing environments.</body>
+ </ownedComment>
+ <elementImport xmi:id="_d2rWUEAaEdympvaafZjFBw" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <elementImport xmi:id="_67r0QE1zEd-g_-U9icW-Pw" alias="Package">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ </elementImport>
+ <elementImport xmi:id="_jM0gUE11Ed-g_-U9icW-Pw" alias="NamedElement">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ </elementImport>
+ <packageImport xmi:id="_B1wbsE16Ed-g_-U9icW-Pw">
+ <importedPackage xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WKuTxIEdyqfK4bFJstMQ" name="VVStimuli">
+ <ownedComment xmi:id="_CTzt0JX_Ed2iJ9_Y3as_2A" annotatedElement="_i-WKuTxIEdyqfK4bFJstMQ">
+ <body>VVStimuli represents the input values to the testing environment represented by VVTarget in order to perform the corresponding VVProcedure.
+
+Since this entity only occurs on the concrete level (i.e. within the context of a ConcreteVVCase), the input values must be provided in a form such that they are directly applicable to the VVTarget(s) defined for the containing ConcreteVVCase.
+
+
+Extension: Class</body>
+ </ownedComment>
+ <generalization xmi:id="_5DPswE9bEd6hGLXAboHV6A" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_njA4wEAaEdympvaafZjFBw" name="base_Class" isUnique="false" association="_ni3u0EAaEdympvaafZjFBw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WKxDxIEdyqfK4bFJstMQ" name="VVIntendedOutcome">
+ <ownedComment xmi:id="_wq5WYJX-Ed2iJ9_Y3as_2A" annotatedElement="_i-WKxDxIEdyqfK4bFJstMQ">
+ <body>Expected output of the testing environment represented by VVTarget when triggered by the corresponding VVStimuli of the containing ConcreteVVProcedure.
+Since this entity only occurs on the concrete level (i.e. within the context of a ConcreteVVCase), the output must be provided in a form such that it can directly be compared to the output of the VVTarget(s) defined for the containing ConcreteVVCase.</body>
+ </ownedComment>
+ <generalization xmi:id="_6y3QQE9bEd6hGLXAboHV6A" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_pH5y8EAaEdympvaafZjFBw" name="base_Class" isUnique="false" association="_pHwB8EAaEdympvaafZjFBw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WK4jxIEdyqfK4bFJstMQ" name="VVActualOutcome">
+ <ownedComment xmi:id="_n5NeUJX-Ed2iJ9_Y3as_2A" annotatedElement="_i-WK4jxIEdyqfK4bFJstMQ">
+ <body>VVActualOutcome represents the actual output of the testing environment represented by VVTarget when triggered by the VVStimuli of the ConcreteVVProcedure which is defined by the association 'performedVVProcedure' of the containing VVLog. It should be equivalent to the VVIntendedOutcome defined by association 'intendedOutcome'
+
+
+Extension: Class</body>
+ </ownedComment>
+ <generalization xmi:id="_FFWzwE9cEd6hGLXAboHV6A" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_rqnnUEAaEdympvaafZjFBw" name="base_Class" isUnique="false" association="_rqedYEAaEdympvaafZjFBw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_puNr0N5ZEdyYTuvJlD3q4A" name="intendedOutcome" type="_i-WKxDxIEdyqfK4bFJstMQ" isUnique="false" association="_ps4PEN5ZEdyYTuvJlD3q4A">
+ <ownedComment xmi:id="_uSkNEJX-Ed2iJ9_Y3as_2A" annotatedElement="_puNr0N5ZEdyYTuvJlD3q4A">
+ <body>Denotes the VVIntendedOutcome that must be matched by this actual outcome.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vF_BwN5ZEdyYTuvJlD3q4A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_vF_Bwd5ZEdyYTuvJlD3q4A" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_i-WLGTxIEdyqfK4bFJstMQ" name="A_VVProcedure_ADLVerify" memberEnd="_i-WLGjxIEdyqfK4bFJstMQ _i-WNajxIEdyqfK4bFJstMQ">
+ <ownedEnd xmi:id="_i-WLGjxIEdyqfK4bFJstMQ" name="ADLVerify" type="_i-WNZzxIEdyqfK4bFJstMQ" association="_i-WLGTxIEdyqfK4bFJstMQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-WLHDxIEdyqfK4bFJstMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-WLGzxIEdyqfK4bFJstMQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_i-WLHTxIEdyqfK4bFJstMQ" name="A_VVCase_ADLVerify" memberEnd="_i-WLHjxIEdyqfK4bFJstMQ _i-WNbTxIEdyqfK4bFJstMQ">
+ <ownedEnd xmi:id="_i-WLHjxIEdyqfK4bFJstMQ" name="ADLVerify" type="_i-WNZzxIEdyqfK4bFJstMQ" association="_i-WLHTxIEdyqfK4bFJstMQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-WLIDxIEdyqfK4bFJstMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-WLHzxIEdyqfK4bFJstMQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_ni3u0EAaEdympvaafZjFBw" name="Extension_VVStimuli" memberEnd="_ni3u0UAaEdympvaafZjFBw _njA4wEAaEdympvaafZjFBw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_ni3u0UAaEdympvaafZjFBw" name="extension_VVStimuli" type="_i-WKuTxIEdyqfK4bFJstMQ" aggregation="composite" association="_ni3u0EAaEdympvaafZjFBw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_pHwB8EAaEdympvaafZjFBw" name="Extension_VVIntendedOutcome" memberEnd="_pHwB8UAaEdympvaafZjFBw _pH5y8EAaEdympvaafZjFBw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_pHwB8UAaEdympvaafZjFBw" name="extension_VVIntendedOutcome" type="_i-WKxDxIEdyqfK4bFJstMQ" aggregation="composite" association="_pHwB8EAaEdympvaafZjFBw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_rqedYEAaEdympvaafZjFBw" name="Extension_VVActualOutcome" memberEnd="_rqedYUAaEdympvaafZjFBw _rqnnUEAaEdympvaafZjFBw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_rqedYUAaEdympvaafZjFBw" name="extension_VVActualOutcome" type="_i-WK4jxIEdyqfK4bFJstMQ" aggregation="composite" association="_rqedYEAaEdympvaafZjFBw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_Wu2rQJQdEdyUQMht1ste1A" name="VVCase">
+ <ownedComment xmi:id="_XeX5AJX9Ed2iJ9_Y3as_2A" annotatedElement="_Wu2rQJQdEdyUQMht1ste1A">
+ <body>VVCase represents a V&amp;V effort, i.e. it specifies concrete test subjects and targets and provides stimuli and the expected outcome on a concrete technical level.</body>
+ </ownedComment>
+ <generalization xmi:id="_gOWJsJZ8EdyHw-ftTuuhag" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_6_dG8N5VEdyYTuvJlD3q4A" name="base_Class" isUnique="false" association="_6-HqMN5VEdyYTuvJlD3q4A">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_goq-AE10Ed-g_-U9icW-Pw" name="vvCase" type="_Wu2rQJQdEdyUQMht1ste1A" isUnique="false" association="_gm0j4E10Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_go_uIE10Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gpBjUE10Ed-g_-U9icW-Pw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_juth4E10Ed-g_-U9icW-Pw" name="abstractVVCase" type="_Wu2rQJQdEdyUQMht1ste1A" isUnique="false" association="_jsU8QE10Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_l9l0QE10Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_l9rT0E10Ed-g_-U9icW-Pw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_zIhkgE10Ed-g_-U9icW-Pw" name="vvTarget" type="_B-hVYN5XEdyYTuvJlD3q4A" isUnique="false" association="_zGgLQE10Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_1hm7wE10Ed-g_-U9icW-Pw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_1hr0QE10Ed-g_-U9icW-Pw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_j7m48E11Ed-g_-U9icW-Pw" name="vvSubject" isUnique="false" association="_j5Z5gE11Ed-g_-U9icW-Pw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mENkME11Ed-g_-U9icW-Pw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mETDwE11Ed-g_-U9icW-Pw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_ix4bUE12Ed-g_-U9icW-Pw" name="vvLog" type="_V4uaAN5XEdyYTuvJlD3q4A" association="_iva9ME12Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iyxMIE12Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iy02gE12Ed-g_-U9icW-Pw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_isq4gN5VEdyYTuvJlD3q4A" name="vvProcedure" type="_a6e-MJQdEdyUQMht1ste1A" isOrdered="true" association="_iq4v0N5VEdyYTuvJlD3q4A">
+ <ownedComment xmi:id="_e0ubgJX9Ed2iJ9_Y3as_2A" annotatedElement="_isq4gN5VEdyYTuvJlD3q4A">
+ <body>The abstract VV procedures for this AbstractVVCase.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_itHkcN5VEdyYTuvJlD3q4A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_itHkcd5VEdyYTuvJlD3q4A" value="*"/>
+ </ownedAttribute>
+ <icon xmi:id="_jSY40E9gEd2eW62kipUStQ" content="71%73%70%56%57%97%16%0%16%0%-91%17%0%20%30%100%23%33%103%26%36%106%27%37%107%29%39%109%30%40%110%32%42%112%33%43%113%35%45%115%36%46%116%39%49%119%42%52%122%45%55%125%48%58%-128%51%61%-125%54%64%-122%57%67%-119%60%70%-116%-76%-76%-76%-35%-16%-1%-34%-16%-1%-35%-15%-1%-34%-15%-1%-31%-14%-1%-28%-13%-1%-27%-13%-1%-28%-12%-1%-27%-12%-1%-25%-11%-1%-24%-11%-1%-22%-10%-1%-21%-10%-1%-21%-9%-1%-18%-9%-1%-18%-8%-1%-15%-7%-1%-14%-7%-1%-12%-6%-1%-11%-5%-1%-9%-4%-1%-8%-4%-1%-5%-3%-1%-5%-2%-1%-2%-2%-1%-2%-1%-1%-1%-1%-1%60%70%-116%60%70%-116%60%70%-116%60%70%-116%60%70%-116%60%70%-116%60%70%-116%60%70%-116%60%70%-116%60%70%-116%60%70%-116%60%70%-116%60%70%-116%60%70%-116%60%70%-116%60%70%-116%60%70%-116%60%70%-116%33%-2%51%69%65%83%84%45%65%68%76%32%112%114%111%106%101%99%116%10%65%117%116%104%111%114%32%58%32%109%105%99%107%97%101%108%46%99%111%110%100%101%64%115%105%101%109%101%110%115%46%99%111%109%0%33%-7%4%1%10%0%63%0%44%0%0%0%0%16%0%16%0%0%6%123%-64%-97%112%72%44%14%35%-56%36%-46%40%-124%-76%-98%-48%7%-124%-7%88%-79%88%-83%-21%99%107%116%-88%36%41%-119%120%-5%112%20%27%-88%-12%-23%-124%90%-93%26%69%-122%73%82%18%-37%75%-116%-30%98%-60%31%-111%-2%124%11%69%10%34%18%-123%118%18%33%10%69%8%30%32%-114%30%31%-110%31%9%69%6%29%0%28%0%-101%-101%28%7%69%4%25%26%-93%24%24%27%-91%5%69%2%23%18%-84%-120%23%3%69%1%22%-76%-76%21%20%22%19%1%69%-100%-67%-67%76%-64%68%65%0%59%">
+ <eAnnotations xmi:id="_j3fJ8E9gEd2eW62kipUStQ" source="image_papyrus">
+ <details xmi:id="_j3o68E9gEd2eW62kipUStQ" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_a6e-MJQdEdyUQMht1ste1A" name="VVProcedure">
+ <ownedComment xmi:id="_hTpVAJX9Ed2iJ9_Y3as_2A" annotatedElement="_a6e-MJQdEdyUQMht1ste1A">
+ <body>VVProcedure represents an individual task in the context of an overall V&amp;V effort (represented by a VVCase), which has to be performed in order to achieve that effort's overall objective. Just as is the case for VVCases, the definition of VVProcedures is separated in two levels: an abstract and a concrete level represented by the entities AbstractVVProcedure and ConcreteVVProcedure.
+
+The concreteVVProcedure metaclass represents such a task on a concrete level, i.e. it is defined with a concrete testing environment in mind and provides stimuli and an expected outcome of the procedure in a form which is directly applicable to this testing environment.
+
+Extension: Class</body>
+ </ownedComment>
+ <generalization xmi:id="_lJz-IJZ8EdyHw-ftTuuhag" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_UIV28N5WEdyYTuvJlD3q4A" name="base_Class" isUnique="false" association="_UG_zIN5WEdyYTuvJlD3q4A">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_F-fIcE12Ed-g_-U9icW-Pw" name="abstractVVProcedure" type="_a6e-MJQdEdyUQMht1ste1A" isUnique="false" association="_F8Hw8E12Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IccYoE12Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Ich4ME12Ed-g_-U9icW-Pw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_KG8yoE12Ed-g_-U9icW-Pw" name="concreteVVProcedure" type="_a6e-MJQdEdyUQMht1ste1A" isUnique="false" association="_KEQrAE12Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KHmS4E12Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KHp9QE12Ed-g_-U9icW-Pw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_F7b_AE13Ed-g_-U9icW-Pw" name="vvIntendedOutcome" type="_i-WKxDxIEdyqfK4bFJstMQ" association="_F43MIE13Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_F8RFcE13Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_F8VW4E13Ed-g_-U9icW-Pw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_9hn-8E13Ed-g_-U9icW-Pw" name="vvStimuli" type="_i-WKuTxIEdyqfK4bFJstMQ" association="_9e0ikE13Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9ikaIE13Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_9isV8E13Ed-g_-U9icW-Pw" value="*"/>
+ </ownedAttribute>
+ <icon xmi:id="_shN_4E9gEd2eW62kipUStQ" content="71%73%70%56%57%97%16%0%16%0%-91%17%0%20%30%100%23%33%103%26%36%106%27%37%107%29%39%109%30%40%110%32%42%112%33%43%113%35%45%115%36%46%116%39%49%119%42%52%122%45%55%125%48%58%-128%51%61%-125%54%64%-122%57%67%-119%60%70%-116%-76%-76%-76%-35%-16%-1%-34%-16%-1%-35%-15%-1%-34%-15%-1%-31%-14%-1%-28%-13%-1%-27%-13%-1%-28%-12%-1%-27%-12%-1%-25%-11%-1%-24%-11%-1%-22%-10%-1%-21%-10%-1%-21%-9%-1%-18%-9%-1%-18%-8%-1%-15%-7%-1%-14%-7%-1%-12%-6%-1%-11%-5%-1%-9%-4%-1%-8%-4%-1%-5%-3%-1%-5%-2%-1%-2%-2%-1%-2%-1%-1%-1%-1%-1%60%70%-116%60%70%-116%60%70%-116%60%70%-116%60%70%-116%60%70%-116%60%70%-116%60%70%-116%60%70%-116%60%70%-116%60%70%-116%60%70%-116%60%70%-116%60%70%-116%60%70%-116%60%70%-116%60%70%-116%60%70%-116%33%-2%51%69%65%83%84%45%65%68%76%32%112%114%111%106%101%99%116%10%65%117%116%104%111%114%32%58%32%109%105%99%107%97%101%108%46%99%111%110%100%101%64%115%105%101%109%101%110%115%46%99%111%109%0%33%-7%4%1%10%0%63%0%44%0%0%0%0%16%0%16%0%0%6%-107%-64%-120%112%40%-4%25%-113%70%72%107%-55%124%64%-112%-57%-57%-118%-59%106%17%-119%71%-121%74%-110%-110%40%-103%75%-89%-79%-127%42%-97%-92%-44%22%-11%-63%-2%49%76%-110%-110%68%-53%-107%-40%-39%15%-57%98%-60%31%-111%-51%39%40%39%-127%13%10%34%0%-121%111%113%118%-116%37%12%8%30%32%-111%123%125%36%-106%124%11%6%29%18%28%18%-122%18%34%-116%118%33%10%4%25%26%-88%-112%-110%-110%31%-83%31%9%2%23%18%-78%-102%0%28%0%-72%-72%28%7%1%22%-66%22%-90%-88%26%24%24%27%-60%5%-71%-72%-79%-77%-94%-77%3%80%-67%-65%22%21%20%22%19%1%80%-55%-38%-72%65%0%59%">
+ <eAnnotations xmi:id="_tIQxwE9gEd2eW62kipUStQ" source="image_papyrus">
+ <details xmi:id="_tIZ7sE9gEd2eW62kipUStQ" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_iq4v0N5VEdyYTuvJlD3q4A" name="Association_AbstractVVCase_AbstractVVProcedure" memberEnd="_isq4gN5VEdyYTuvJlD3q4A _itRVcN5VEdyYTuvJlD3q4A">
+ <ownedEnd xmi:id="_itRVcN5VEdyYTuvJlD3q4A" name="abstractVVCase" type="_Wu2rQJQdEdyUQMht1ste1A" isUnique="false" association="_iq4v0N5VEdyYTuvJlD3q4A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ituBYd5VEdyYTuvJlD3q4A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ituBYN5VEdyYTuvJlD3q4A" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_6-HqMN5VEdyYTuvJlD3q4A" name="Extension_AbstractVVCase" memberEnd="_6_KMAN5VEdyYTuvJlD3q4A _6_dG8N5VEdyYTuvJlD3q4A">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_6_KMAN5VEdyYTuvJlD3q4A" name="extension_AbstractVVCase" type="_Wu2rQJQdEdyUQMht1ste1A" aggregation="composite" association="_6-HqMN5VEdyYTuvJlD3q4A"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_UG_zIN5WEdyYTuvJlD3q4A" name="Extension_AbstractVVProcedure" memberEnd="_UIMF8N5WEdyYTuvJlD3q4A _UIV28N5WEdyYTuvJlD3q4A">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_UIMF8N5WEdyYTuvJlD3q4A" name="extension_AbstractVVProcedure" type="_a6e-MJQdEdyUQMht1ste1A" aggregation="composite" association="_UG_zIN5WEdyYTuvJlD3q4A"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_B-hVYN5XEdyYTuvJlD3q4A" name="VVTarget">
+ <ownedComment xmi:id="_Gwsv4JX_Ed2iJ9_Y3as_2A" annotatedElement="_B-hVYN5XEdyYTuvJlD3q4A">
+ <body>VVTarget represents a concrete testing environment in which or on which a particular V&amp;V activity can be performed. This can be physical hardware or it can be pure software in case of a test by way of design level simulations.
+
+Usually, a VVTarget will be a realization of one or more elements. However, there are cases in which this is not true, for example when a VVTarget represents parts of the system's environment. Therefore the association to element has a minimum cardinality of 0.
+
+VVTargets can be reused across several ConcreteVVCases.</body>
+ </ownedComment>
+ <generalization xmi:id="_cZL5gN5bEdyYTuvJlD3q4A" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_bmm9cLsPEd2LtvY4pcU1ZA" name="base_Class" isUnique="false" association="_bivKELsPEd2LtvY4pcU1ZA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_sEKUcE11Ed-g_-U9icW-Pw" name="element" isUnique="false" association="_sB8G4E11Ed-g_-U9icW-Pw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_sEtHAE11Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_sEwKUE11Ed-g_-U9icW-Pw" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_V4uaAN5XEdyYTuvJlD3q4A" name="VVLog">
+ <ownedComment xmi:id="_1XLfUJX-Ed2iJ9_Y3as_2A" annotatedElement="_V4uaAN5XEdyYTuvJlD3q4A">
+ <body>ConcreteVVCase represents the precise description of a V&amp;V effort on a concrete technical level and thus provides all necessary information to actually perform this V&amp;V effort. However, it does not represent the actual execution of the effort.
+
+This is the purpose of the VVLog. Each VVLog metaclass represents a certain execution of a ConcreteVVCase.
+
+For example, if the HIL test of the wiper system with a certain set of stimuli was performed on Friday afternoon and, for checkup, again on Monday, then there will be one ConcreteVVCase describing the HIL test and two VVLogs describing the test result from Friday and Monday respectively.
+
+
+Extension: Class</body>
+ </ownedComment>
+ <generalization xmi:id="_84nb0E9bEd6hGLXAboHV6A" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_C3sRsN5aEdyYTuvJlD3q4A" name="date" visibility="public" isUnique="false">
+ <ownedComment xmi:id="_3x51UJX-Ed2iJ9_Y3as_2A" annotatedElement="_C3sRsN5aEdyYTuvJlD3q4A">
+ <body>Date and time when this log was captured.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_MNrJoN5aEdyYTuvJlD3q4A" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_MNrJod5aEdyYTuvJlD3q4A" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_FO91oN5bEdyYTuvJlD3q4A" name="vvActualOutcome" type="_i-WK4jxIEdyqfK4bFJstMQ" association="_FNU24N5bEdyYTuvJlD3q4A">
+ <ownedComment xmi:id="__xsWYJX-Ed2iJ9_Y3as_2A" annotatedElement="_FO91oN5bEdyYTuvJlD3q4A">
+ <body>Set of outcome results.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FPahkN5bEdyYTuvJlD3q4A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FPahkd5bEdyYTuvJlD3q4A" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_MyDzoN5bEdyYTuvJlD3q4A" name="base_Class" isUnique="false" association="_MwH58N5bEdyYTuvJlD3q4A">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_rj8t4E12Ed-g_-U9icW-Pw" name="performedVVProcedure" type="_a6e-MJQdEdyUQMht1ste1A" isUnique="false" association="_rhsEEE12Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_tcu0cE12Ed-g_-U9icW-Pw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_tc07EE12Ed-g_-U9icW-Pw" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_ps4PEN5ZEdyYTuvJlD3q4A" name="Association_VVActualOutcome_VVIntendedOutcome" memberEnd="_puNr0N5ZEdyYTuvJlD3q4A _puqXwt5ZEdyYTuvJlD3q4A">
+ <ownedEnd xmi:id="_puqXwt5ZEdyYTuvJlD3q4A" name="vVActualOutcome" type="_i-WK4jxIEdyqfK4bFJstMQ" isUnique="false" association="_ps4PEN5ZEdyYTuvJlD3q4A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pvHDsd5ZEdyYTuvJlD3q4A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pvHDsN5ZEdyYTuvJlD3q4A" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_FNU24N5bEdyYTuvJlD3q4A" name="Association_VVLog_VVActualOutcome" memberEnd="_FO91oN5bEdyYTuvJlD3q4A _FPahkt5bEdyYTuvJlD3q4A">
+ <ownedEnd xmi:id="_FPahkt5bEdyYTuvJlD3q4A" name="vVLog" type="_V4uaAN5XEdyYTuvJlD3q4A" isUnique="false" association="_FNU24N5bEdyYTuvJlD3q4A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FP3Ngd5bEdyYTuvJlD3q4A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FP3NgN5bEdyYTuvJlD3q4A" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_MwH58N5bEdyYTuvJlD3q4A" name="Extension_VVLog" memberEnd="_Mxw4sN5bEdyYTuvJlD3q4A _MyDzoN5bEdyYTuvJlD3q4A">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_Mxw4sN5bEdyYTuvJlD3q4A" name="extension_VVLog" type="_V4uaAN5XEdyYTuvJlD3q4A" aggregation="composite" association="_MwH58N5bEdyYTuvJlD3q4A"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_bivKELsPEd2LtvY4pcU1ZA" name="Extension_VVTarget" memberEnd="_bmKRgLsPEd2LtvY4pcU1ZA _bmm9cLsPEd2LtvY4pcU1ZA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_bmKRgLsPEd2LtvY4pcU1ZA" name="extension_VVTarget" type="_B-hVYN5XEdyYTuvJlD3q4A" aggregation="composite" association="_bivKELsPEd2LtvY4pcU1ZA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_2xMw0E1zEd-g_-U9icW-Pw" name="VerificationValidation">
+ <ownedComment xmi:id="_3OAooE1zEd-g_-U9icW-Pw" annotatedElement="_2xMw0E1zEd-g_-U9icW-Pw">
+ <body>The collection of verification and validation elements. This collection can be done across the EAST-ADL2 abstraction levels.</body>
+ </ownedComment>
+ <generalization xmi:id="_BFsfcE10Ed-g_-U9icW-Pw" general="_i-WNsjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_7xZUQE1zEd-g_-U9icW-Pw" name="base_Class" isUnique="false" association="_7v7UoE1zEd-g_-U9icW-Pw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__w_roG1XEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__xFLMG1XEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_8FXZIE1zEd-g_-U9icW-Pw" name="base_Package" isUnique="false" association="_8D5ZgE1zEd-g_-U9icW-Pw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_AVlmcG1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_AVqe8G1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Ga8F0E10Ed-g_-U9icW-Pw" name="verify" type="_i-WNZzxIEdyqfK4bFJstMQ" association="_GZab0E10Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_GbPn0E10Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_GbRdAE10Ed-g_-U9icW-Pw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_ZW7OsE10Ed-g_-U9icW-Pw" name="vvCase" type="_Wu2rQJQdEdyUQMht1ste1A" association="_ZVMJUE10Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ZXPXwE10Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ZXRM8E10Ed-g_-U9icW-Pw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_qhOXgE10Ed-g_-U9icW-Pw" name="vvTarget" type="_B-hVYN5XEdyYTuvJlD3q4A" association="_qfZLgE10Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_qh0NYE10Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_qh2CkE10Ed-g_-U9icW-Pw" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_7v7UoE1zEd-g_-U9icW-Pw" name="Extension_VerificationValidation" memberEnd="_7xNuEE1zEd-g_-U9icW-Pw _7xZUQE1zEd-g_-U9icW-Pw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_7xNuEE1zEd-g_-U9icW-Pw" name="extension_VerificationValidation" type="_2xMw0E1zEd-g_-U9icW-Pw" aggregation="composite" association="_7v7UoE1zEd-g_-U9icW-Pw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_8D5ZgE1zEd-g_-U9icW-Pw" name="Extension_VerificationValidation" memberEnd="_8FNBEE1zEd-g_-U9icW-Pw _8FXZIE1zEd-g_-U9icW-Pw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_8FNBEE1zEd-g_-U9icW-Pw" name="extension_VerificationValidation" type="_2xMw0E1zEd-g_-U9icW-Pw" aggregation="composite" association="_8D5ZgE1zEd-g_-U9icW-Pw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_GZab0E10Ed-g_-U9icW-Pw" name="A_VerificationValidation_Verify" memberEnd="_Ga8F0E10Ed-g_-U9icW-Pw _GbTSME10Ed-g_-U9icW-Pw">
+ <ownedEnd xmi:id="_GbTSME10Ed-g_-U9icW-Pw" name="verificationValidation" type="_2xMw0E1zEd-g_-U9icW-Pw" isUnique="false" association="_GZab0E10Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Gbs60E10Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_GbqekE10Ed-g_-U9icW-Pw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_ZVMJUE10Ed-g_-U9icW-Pw" name="A_VerificationValidation_VVCase" memberEnd="_ZW7OsE10Ed-g_-U9icW-Pw _ZXTCIE10Ed-g_-U9icW-Pw">
+ <ownedEnd xmi:id="_ZXTCIE10Ed-g_-U9icW-Pw" name="verificationValidation" type="_2xMw0E1zEd-g_-U9icW-Pw" isUnique="false" association="_ZVMJUE10Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ZXoZUE10Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ZXmkIE10Ed-g_-U9icW-Pw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_gm0j4E10Ed-g_-U9icW-Pw" name="A_VVCase_VVCase" memberEnd="_goq-AE10Ed-g_-U9icW-Pw _gpDYgE10Ed-g_-U9icW-Pw">
+ <ownedEnd xmi:id="_gpDYgE10Ed-g_-U9icW-Pw" name="vVCase" type="_Wu2rQJQdEdyUQMht1ste1A" isUnique="false" association="_gm0j4E10Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gpYIoE10Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gpWTcE10Ed-g_-U9icW-Pw" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_jsU8QE10Ed-g_-U9icW-Pw" name="A_VVCase_VVCase" memberEnd="_juth4E10Ed-g_-U9icW-Pw _jvUl4E10Ed-g_-U9icW-Pw">
+ <ownedEnd xmi:id="_jvUl4E10Ed-g_-U9icW-Pw" name="vVCase" type="_Wu2rQJQdEdyUQMht1ste1A" isUnique="false" association="_jsU8QE10Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jv3_gE10Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jv1jQE10Ed-g_-U9icW-Pw" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_qfZLgE10Ed-g_-U9icW-Pw" name="A_VerificationValidation_VVTarget" memberEnd="_qhOXgE10Ed-g_-U9icW-Pw _qh33wE10Ed-g_-U9icW-Pw">
+ <ownedEnd xmi:id="_qh33wE10Ed-g_-U9icW-Pw" name="verificationValidation" type="_2xMw0E1zEd-g_-U9icW-Pw" isUnique="false" association="_qfZLgE10Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_qiN2AE10Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_qiMA0E10Ed-g_-U9icW-Pw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_zGgLQE10Ed-g_-U9icW-Pw" name="A_VVCase_VVTarget" memberEnd="_zIhkgE10Ed-g_-U9icW-Pw _zJMS4E10Ed-g_-U9icW-Pw">
+ <ownedEnd xmi:id="_zJMS4E10Ed-g_-U9icW-Pw" name="vVCase" type="_Wu2rQJQdEdyUQMht1ste1A" isUnique="false" association="_zGgLQE10Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_zJxhsE10Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_zJvsgE10Ed-g_-U9icW-Pw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_j5Z5gE11Ed-g_-U9icW-Pw" name="A_VVCase_NamedElement" memberEnd="_j7m48E11Ed-g_-U9icW-Pw _j8itEE11Ed-g_-U9icW-Pw">
+ <ownedEnd xmi:id="_j8itEE11Ed-g_-U9icW-Pw" name="vVCase" type="_Wu2rQJQdEdyUQMht1ste1A" isUnique="false" association="_j5Z5gE11Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_j85SYE11Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_j83dME11Ed-g_-U9icW-Pw" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_sB8G4E11Ed-g_-U9icW-Pw" name="A_VVTarget_NamedElement" memberEnd="_sEKUcE11Ed-g_-U9icW-Pw _sEzNoE11Ed-g_-U9icW-Pw">
+ <ownedEnd xmi:id="_sEzNoE11Ed-g_-U9icW-Pw" name="vVTarget" type="_B-hVYN5XEdyYTuvJlD3q4A" isUnique="false" association="_sB8G4E11Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_sFLoIE11Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_sFJy8E11Ed-g_-U9icW-Pw" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_F8Hw8E12Ed-g_-U9icW-Pw" name="A_VVProcedure_VVProcedure" memberEnd="_F-fIcE12Ed-g_-U9icW-Pw _F_MTEE12Ed-g_-U9icW-Pw">
+ <ownedEnd xmi:id="_F_MTEE12Ed-g_-U9icW-Pw" name="vVProcedure" type="_a6e-MJQdEdyUQMht1ste1A" isUnique="false" association="_F8Hw8E12Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_F_nJ0E12Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_F_ktkE12Ed-g_-U9icW-Pw" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_KEQrAE12Ed-g_-U9icW-Pw" name="A_VVProcedure_VVProcedure" memberEnd="_KG8yoE12Ed-g_-U9icW-Pw _KHtnoE12Ed-g_-U9icW-Pw">
+ <ownedEnd xmi:id="_KHtnoE12Ed-g_-U9icW-Pw" name="vVProcedure" type="_a6e-MJQdEdyUQMht1ste1A" isUnique="false" association="_KEQrAE12Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KIE0AE12Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KIC-0E12Ed-g_-U9icW-Pw" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_iva9ME12Ed-g_-U9icW-Pw" name="A_VVCase_VVLog" memberEnd="_ix4bUE12Ed-g_-U9icW-Pw _iy5H8E12Ed-g_-U9icW-Pw">
+ <ownedEnd xmi:id="_iy5H8E12Ed-g_-U9icW-Pw" name="vVCase" type="_Wu2rQJQdEdyUQMht1ste1A" isUnique="false" association="_iva9ME12Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_izUlwE12Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_izPGME12Ed-g_-U9icW-Pw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_rhsEEE12Ed-g_-U9icW-Pw" name="A_VVLog_VVProcedure" memberEnd="_rj8t4E12Ed-g_-U9icW-Pw _rkybYE12Ed-g_-U9icW-Pw">
+ <ownedEnd xmi:id="_rkybYE12Ed-g_-U9icW-Pw" name="vVLog" type="_V4uaAN5XEdyYTuvJlD3q4A" isUnique="false" association="_rhsEEE12Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rlKO0E12Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rlIZoE12Ed-g_-U9icW-Pw" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_F43MIE13Ed-g_-U9icW-Pw" name="A_VVProcedure_VVIntendedOutcome" memberEnd="_F7b_AE13Ed-g_-U9icW-Pw _F8ZoUE13Ed-g_-U9icW-Pw">
+ <ownedEnd xmi:id="_F8ZoUE13Ed-g_-U9icW-Pw" name="vVProcedure" type="_a6e-MJQdEdyUQMht1ste1A" isUnique="false" association="_F43MIE13Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_F8_eME13Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_F89pAE13Ed-g_-U9icW-Pw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_9e0ikE13Ed-g_-U9icW-Pw" name="A_VVProcedure_VVStimuli" memberEnd="_9hn-8E13Ed-g_-U9icW-Pw _9ix1gE13Ed-g_-U9icW-Pw">
+ <ownedEnd xmi:id="_9ix1gE13Ed-g_-U9icW-Pw" name="vVProcedure" type="_a6e-MJQdEdyUQMht1ste1A" isUnique="false" association="_9e0ikE13Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9jK3EE13Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_9jJB4E13Ed-g_-U9icW-Pw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WNZzxIEdyqfK4bFJstMQ" name="Verify">
+ <ownedComment xmi:id="_aLgtYJU8Ed2pV7v-CAwgKg" annotatedElement="_i-WNZzxIEdyqfK4bFJstMQ">
+ <body>The Verify is a relationship metaclass, which signifies a dependency relationship between a Requirement and a VVCase, showing the relationship when a client VVCase verifies the supplier Requirement.
+
+Semantics:
+The Verify metaclass signifies a refined requirement/verified by relationship between a Requirement and a VVCase, where the modification of the supplier Requirement may impact the verifying client VVCase. The Verify metaclass implies the semantics that the verifying client VVCase is not complete, without the supplier Requirement.
+
+Notation:
+A Verify relationship is shown as a dashed arrow between the Requirements and VVCase.
+
+Extension:
+To specializes SysML::Verify, which specializes the UML stereotype Trace, which extends Dependency.</body>
+ </ownedComment>
+ <generalization xmi:id="_Uj5vIE11Ed-g_-U9icW-Pw" general="_DLP58Nu0EdyN-KVwISucrA"/>
+ <generalization xmi:id="_MkpAQE16Ed-g_-U9icW-Pw">
+ <general xmi:type="uml:Stereotype" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Lop-cLXoEduHWpAaWjM62w"/>
+ </generalization>
+ <ownedAttribute xmi:id="_i-WNajxIEdyqfK4bFJstMQ" name="verifiedByProcedure" visibility="public" type="_a6e-MJQdEdyUQMht1ste1A" association="_i-WLGTxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_ek9Z4JU8Ed2pV7v-CAwgKg" annotatedElement="_i-WNajxIEdyqfK4bFJstMQ">
+ <body>The procedures used to verify the requirements.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-WNbDxIEdyqfK4bFJstMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-WNazxIEdyqfK4bFJstMQ" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_i-WNbTxIEdyqfK4bFJstMQ" name="verifiedByCase" visibility="public" type="_Wu2rQJQdEdyUQMht1ste1A" isReadOnly="true" isDerived="true" association="_i-WLHTxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_g4NO4JU8Ed2pV7v-CAwgKg" annotatedElement="_i-WNbTxIEdyqfK4bFJstMQ">
+ <body>The verification that verifies the supplier requirement(s).&#xD;
+{derived from UML::DirectedRelationship::source}</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-WNbzxIEdyqfK4bFJstMQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-WNbjxIEdyqfK4bFJstMQ" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_i-WNcDxIEdyqfK4bFJstMQ" name="verifiedRequirement " visibility="public" type="_i-WLxjxIEdyqfK4bFJstMQ" isReadOnly="true" isDerived="true" association="_i-WL9TxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_jZQ2YJU8Ed2pV7v-CAwgKg" annotatedElement="_i-WNcDxIEdyqfK4bFJstMQ">
+ <body>The set of ADL requirements which the client VV cases verify.&#xD;
+{derived from UML::DirectedRelationship::target}</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-WNcjxIEdyqfK4bFJstMQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-WNcTxIEdyqfK4bFJstMQ" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WNczxIEdyqfK4bFJstMQ" name="Satisfy">
+ <ownedComment xmi:id="_Ku0V4JU8Ed2pV7v-CAwgKg" annotatedElement="_i-WNczxIEdyqfK4bFJstMQ">
+ <body>The Satisfy is a relationship metaclass, which signifies relationship between Requirements and an element intended to satisfy the Requirement.
+
+Semantics:
+The Satisfy metaclass signifies a satisfied requirement/satisfied by relationship between a set of Requirements and a set of satisfying entities, where the modification of the supplier Requirements may impact the satisfying client entities. The Satisfy metaclass implies the semantics that the satisfying client entities are not complete, without the supplier Requirement.
+
+Constraints:
+[1] The EAElement in the association satisfiedBy may not be a Requirement or RequirementContainer.
+[2] An element of type Satisfy is only allowed to have associations to either elements of type UseCase (see satisfiedUseCase) or elements of type Requirement (see satisfiedRequirement). Not both at the same time!
+
+Notation:
+A Satisfy relationship is shown as a dashed line with a arrowhead at the end that corresponds to the satisfied Requirement or UseCaseUseCase. The entity at the tail of the arrow (the satisfying EAElement or the satisfying ARElement) depends on the entity at the arrowhead (the satisfied Requirement or UseCaseUseCase).
+
+Extension:
+To specialize SysML::Satisfy, which extends Realization.</body>
+ </ownedComment>
+ <generalization xmi:id="_pVJBEE2DEd-Y0rmHl9ZsQw" general="_DLP58Nu0EdyN-KVwISucrA"/>
+ <generalization xmi:id="_zq57AE2DEd-Y0rmHl9ZsQw">
+ <general xmi:type="uml:Stereotype" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Mqyw4LXoEduHWpAaWjM62w"/>
+ </generalization>
+ <ownedAttribute xmi:id="_i-WNeTxIEdyqfK4bFJstMQ" name="satisfiedRequirement" visibility="public" type="_i-WLxjxIEdyqfK4bFJstMQ" isReadOnly="true" isDerived="true" association="_i-WL5TxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_Srn0YJU8Ed2pV7v-CAwgKg" annotatedElement="_i-WNeTxIEdyqfK4bFJstMQ">
+ <body>List of satisfied ADL requirements, which are satisfied by the client ADL entities.&#xD;
+{derived from UML::DirectedRelationship::target}</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_13hJ4E9WEd6hGLXAboHV6A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_13xBgE9WEd6hGLXAboHV6A" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_i-WNfDxIEdyqfK4bFJstMQ" name="satisfiedBy" visibility="public" isReadOnly="true" isDerived="true" association="_i-WN6TxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_QmVi4JU8Ed2pV7v-CAwgKg" annotatedElement="_i-WNfDxIEdyqfK4bFJstMQ">
+ <body>List of satisfied ADL use cases, which are satisfied by the client ADL entities or satisfied by the client AUTOSAR elements.
+{derived from UML::Dependency::client}</body>
+ </ownedComment>
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-WNfjxIEdyqfK4bFJstMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-WNfTxIEdyqfK4bFJstMQ" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_1l4WUE35Ed-lBeOY4fJiaA" name="satisfiedBy_path" isOrdered="true">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_UdVysE36Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_UdinAE36Ed-lBeOY4fJiaA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_8J48IKWuEeGVVPgQD6jlgA" name="satisfiedUseCase" type="_J-hYYKWpEeGVVPgQD6jlgA" association="_8J5jMKWuEeGVVPgQD6jlgA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_8J48IqWuEeGVVPgQD6jlgA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_8J48IaWuEeGVVPgQD6jlgA" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WNfzxIEdyqfK4bFJstMQ" name="Refine">
+ <ownedComment xmi:id="_9vIzYJU7Ed2pV7v-CAwgKg" annotatedElement="_i-WNfzxIEdyqfK4bFJstMQ">
+ <body>The Refine is a relationship metaclass, which signifies a dependency relationship in-between Requirements and EAElements, showing the relationship when a client EAElement refines the supplier Requirement.
+
+Semantics:
+The Refine metaclass signifies a refined requirement/refined by relationship between a Requirement and an EAElement, where the modification of the supplier Requirement may impact the refining client EAElement. The Refine metaclass implies the semantics that the refining client EAElement is not complete, without the supplier Requirement.
+
+Constraints:
+[1] The property refinedBy must not have the types Requirement or RequirementContainer.
+
+Notation:
+A Refine relationship is shown as a dashed arrow between the Requirements and EAElement. The entity at the tail of the arrow (the refining EAElement) depends on the Requirement at the arrowhead (the refined Requirement).
+
+Extension: specializes UML2 stereotype Refine, which extends Dependency.</body>
+ </ownedComment>
+ <generalization xmi:id="_X_LlYE2EEd-Y0rmHl9ZsQw" general="_DLP58Nu0EdyN-KVwISucrA"/>
+ <generalization xmi:id="_zPAMsE2EEd-Y0rmHl9ZsQw">
+ <general xmi:type="uml:Stereotype" href="pathmap://UML_PROFILES/StandardL2.profile.uml#Refine"/>
+ </generalization>
+ <ownedAttribute xmi:id="_i-WNgTxIEdyqfK4bFJstMQ" name="refinedRequirement" visibility="public" type="_i-WLxjxIEdyqfK4bFJstMQ" isReadOnly="true" isDerived="true" association="_i-WL8TxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_Hm2fYJU8Ed2pV7v-CAwgKg" annotatedElement="_i-WNgTxIEdyqfK4bFJstMQ">
+ <body>List of refined requirements.&#xD;
+{derived from UML::DirectedRelationship::target}</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-WNgzxIEdyqfK4bFJstMQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-WNgjxIEdyqfK4bFJstMQ" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_i-WNhDxIEdyqfK4bFJstMQ" name="refinedBy" visibility="public" isReadOnly="true" isDerived="true" association="_i-WN4TxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_D3vwYJU8Ed2pV7v-CAwgKg" annotatedElement="_i-WNhDxIEdyqfK4bFJstMQ">
+ <body>List of ADLEntity participating to the refinement of the refined ADL requirements.&#xD;
+{derived from UML::Dependency::client}</body>
+ </ownedComment>
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-Lg2gGESEdyta4cfhP9jxw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-Lg2gWESEdyta4cfhP9jxw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_lUXtYUAOEdyOzMGdsp2WEQ" name="base_Dependency" isUnique="false" association="_lUELYEAOEdyOzMGdsp2WEQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_kNHTsE35Ed-lBeOY4fJiaA" name="refinedBy_path" isOrdered="true">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_zHYTkE35Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_zHeaME35Ed-lBeOY4fJiaA" value="*"/>
+ </ownedAttribute>
+ <icon xmi:id="_sfDcAEkmEd2n_LV02Saw8w" content="71%73%70%56%57%97%16%0%16%0%-91%36%0%20%30%100%28%38%108%29%39%109%38%48%118%39%49%119%48%58%-128%50%60%-126%59%69%-117%60%70%-116%78%88%-102%79%89%-101%81%91%-100%82%92%-99%83%94%-98%85%95%-97%87%97%-96%88%98%-94%90%99%-93%91%101%-92%93%103%-91%110%120%-77%112%122%-75%113%123%-74%114%124%-74%117%126%-72%118%-128%-71%120%-126%-70%121%-125%-69%122%-124%-68%123%-123%-66%125%-121%-66%-113%-103%-51%-112%-102%-51%-110%-101%-49%-109%-99%-48%-107%-97%-47%-106%-96%-46%-76%-76%-76%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%33%-2%51%69%65%83%84%45%65%68%76%32%112%114%111%106%101%99%116%10%65%117%116%104%111%114%32%58%32%109%105%99%107%97%101%108%46%99%111%110%100%101%64%115%105%101%109%101%110%115%46%99%111%109%0%33%-7%4%1%10%0%63%0%44%0%0%0%0%16%0%16%0%0%6%86%-64%-33%-81%68%44%26%-117%-62%97%114%-71%44%37%-99%76%38%84%25%109%62%-113%-40%105%20%80%-19%122%-85%-36%-81%-72%11%40%-113%-123%-31%-22%1%-63%110%-69%-39%-55%2%105%78%31%-119%66%-96%-113%33%57%-16%116%56%27%26%25%24%23%22%21%20%4%73%1%19%18%17%16%15%14%13%12%11%10%9%2%73%101%-103%-102%-102%63%65%0%59%">
+ <eAnnotations xmi:id="_uWb0YEkmEd2n_LV02Saw8w" source="image_papyrus">
+ <details xmi:id="_uWh7AEkmEd2n_LV02Saw8w" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WNmDxIEdyqfK4bFJstMQ" name="DeriveRequirement">
+ <ownedComment xmi:id="_ktzc4JU7Ed2pV7v-CAwgKg" annotatedElement="_i-WNmDxIEdyqfK4bFJstMQ">
+ <body>ADLDeriveReqt signifies a dependency relationship in-between two sets of ADL requirements, showing the relationship when a set of derived client ADL requirement (client requirement) is derived from a set of ADL requirements (supplier requirement). It inherits from SysML::DeriveReqt which extends Dependency.&#xD;
+&#xD;
+Semantics:&#xD;
+ADLDeriveReqt signifies a derived/derived by relationship between ADLRequirements, where the modification of the supplierADLRequirement may impact the derived client ADLRequirement. ADLDeriveReqt implies the semantics that the derived client ADLRequirement is not complete, without the supplier ADLRequirement.</body>
+ </ownedComment>
+ <generalization xmi:id="_JB6U0E2EEd-Y0rmHl9ZsQw">
+ <general xmi:type="uml:Stereotype" href="pathmap://SysML_PROFILES/SysML.profile.uml#_LPnzYLXoEduHWpAaWjM62w"/>
+ </generalization>
+ <generalization xmi:id="_NIf6QE2FEd-Y0rmHl9ZsQw" general="_DLP58Nu0EdyN-KVwISucrA"/>
+ <ownedAttribute xmi:id="_i-WNnDxIEdyqfK4bFJstMQ" name="derived" visibility="public" type="_i-WLxjxIEdyqfK4bFJstMQ" isReadOnly="true" isDerived="true" association="_i-WL6TxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_pipE4JU7Ed2pV7v-CAwgKg" annotatedElement="_i-WNnDxIEdyqfK4bFJstMQ">
+ <body>The set of ADL requirements derived from the supplier ADL requirement.&#xD;
+{derived from UML::DirectedRelationship::target}</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rdAXkGd2EdyZ-rSA5-bo-g" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rdAXkWd2EdyZ-rSA5-bo-g" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_i-WNnzxIEdyqfK4bFJstMQ" name="derivedFrom" visibility="public" type="_i-WLxjxIEdyqfK4bFJstMQ" isReadOnly="true" isDerived="true" association="_i-WL7TxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_sYOK4JU7Ed2pV7v-CAwgKg" annotatedElement="_i-WNnzxIEdyqfK4bFJstMQ">
+ <body>The set of ADL requirements that the client ADL requirement are derived from.&#xD;
+{derived from UML::DirectedRelationship::source}</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_sANLQGd2EdyZ-rSA5-bo-g" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_sANLQWd2EdyZ-rSA5-bo-g" value="*"/>
+ </ownedAttribute>
+ <icon xmi:id="_FKG6IE4BEd2dg9i5Pl1S1Q" content="71%73%70%56%57%97%16%0%16%0%-29%14%0%20%30%100%29%39%109%30%40%110%39%49%119%40%50%120%49%59%-127%50%60%-126%60%70%-116%80%90%-101%80%90%-100%120%-126%-70%120%-126%-69%-106%-96%-46%-76%-76%-76%-36%-36%-36%-36%-36%-36%33%-2%51%69%65%83%84%45%65%68%76%32%112%114%111%106%101%99%116%10%65%117%116%104%111%114%32%58%32%109%105%99%107%97%101%108%46%99%111%110%100%101%64%115%105%101%109%101%110%115%46%99%111%109%0%33%-7%4%1%10%0%15%0%44%0%0%0%0%16%0%16%0%0%4%61%-16%-55%73%-85%-67%-76%105%109%-9%-98%77%7%-122%18%23%-98%35%40%-106%30%-103%121%18%-128%-107%-108%60%87%54%-26%62%121%117%-4%-65%24%-58%-64%40%22%98%-128%-92%50%73%88%44%20%-125%-37%67%-128%72%32%2%-46%101%79%-6%-120%0%0%59%">
+ <eAnnotations xmi:id="_Gy3AoE4BEd2dg9i5Pl1S1Q" source="image_papyrus">
+ <details xmi:id="_GzAxoE4BEd2dg9i5Pl1S1Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_DLP58Nu0EdyN-KVwISucrA" name="RequirementsRelationship" isAbstract="true">
+ <ownedComment xmi:id="_eo44kJX1Ed2iJ9_Y3as_2A" annotatedElement="_DLP58Nu0EdyN-KVwISucrA">
+ <body>A relation between two or more requirements. Source and target requirements of the relation are distinguished, which means that the relation is directed (from source to target). If such a distinction does not make sense, then use a ReqGroup instead.
+The standard case will be a relation with one source and one target requirement. However, it is possible to have several source and-or several target requirements so that general n:m relations can be expressed with instances of this class.
+The semantic of a concrete requirement relation is not defined by the EAST-ADL2 and therefore needs to be provided by the modeler. In particular, three ways are conceivable:
+1) The user attributes of the relation can be used to specify its meaning, for example with a user attribute called relationType which is set to values such as needs or excludes.
+2) The uaType (user attributeable element type) can be used. Certain types will be used for certain relation semantics.
+3) ReqRelationGroups can be used, i.e. all relations with an excludes meaning are put in one relation group and all with a needs meaning are put in another</body>
+ </ownedComment>
+ <generalization xmi:id="_kEOTUE1-Ed-g_-U9icW-Pw" general="_i-WNqjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_-UiFsNkPEd6rlulM-6rbhg" name="base_Class" isUnique="false" association="_-PWDsNkPEd6rlulM-6rbhg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_RWvvUNu0EdyN-KVwISucrA" name="RequirementsRelationGroup">
+ <ownedComment xmi:id="_s1ZakJX1Ed2iJ9_Y3as_2A" annotatedElement="_RWvvUNu0EdyN-KVwISucrA">
+ <body>RequirementsRelationGroup represents a group of relations between Requirements.</body>
+ </ownedComment>
+ <generalization xmi:id="_0OBkQE2FEd-Y0rmHl9ZsQw" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_WH7RQN4jEdyW6f_GAa5b1w" name="relation" type="_Hl18QE2AEd-g_-U9icW-Pw" isUnique="false" association="_V7G9QN4jEdyW6f_GAa5b1w">
+ <ownedComment xmi:id="_vnr8AJX1Ed2iJ9_Y3as_2A" annotatedElement="_WH7RQN4jEdyW6f_GAa5b1w">
+ <body>The relations that are grouped by this relation group. Note that this is not a containment association, i.e. a single relation may be grouped by several ReqRelationGroups.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WIFCQN4jEdyW6f_GAa5b1w"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_WIOMMN4jEdyW6f_GAa5b1w" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_9tmokNkPEd6rlulM-6rbhg" name="base_Class" isUnique="false" association="_9oe4ANkPEd6rlulM-6rbhg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_EUfE8G1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_EUlLkG1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_5qIAkE2FEd-Y0rmHl9ZsQw" name="base_Package" isUnique="false" association="_5kEb4E2FEd-Y0rmHl9ZsQw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_E91j8G1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_E97qkG1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_lUELYEAOEdyOzMGdsp2WEQ" name="Extension_ADLRefine" memberEnd="_lUXtYEAOEdyOzMGdsp2WEQ _lUXtYUAOEdyOzMGdsp2WEQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_lUXtYEAOEdyOzMGdsp2WEQ" name="extension_ADLRefine" type="_i-WNfzxIEdyqfK4bFJstMQ" aggregation="composite" association="_lUELYEAOEdyOzMGdsp2WEQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_V7G9QN4jEdyW6f_GAa5b1w" name="A_RequirementsRelationGroup_RequirementsLink" memberEnd="_WH7RQN4jEdyW6f_GAa5b1w _WIOMMd4jEdyW6f_GAa5b1w">
+ <ownedEnd xmi:id="_WIOMMd4jEdyW6f_GAa5b1w" name="reqRelationGroup" type="_RWvvUNu0EdyN-KVwISucrA" isUnique="false" association="_V7G9QN4jEdyW6f_GAa5b1w">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WIhuMd4jEdyW6f_GAa5b1w"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_WIhuMN4jEdyW6f_GAa5b1w" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_9oe4ANkPEd6rlulM-6rbhg" name="Extension_ReqRelationGroup" memberEnd="_9tG5UNkPEd6rlulM-6rbhg _9tmokNkPEd6rlulM-6rbhg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_9tG5UNkPEd6rlulM-6rbhg" name="extension_ReqRelationGroup" type="_RWvvUNu0EdyN-KVwISucrA" aggregation="composite" association="_9oe4ANkPEd6rlulM-6rbhg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_-PWDsNkPEd6rlulM-6rbhg" name="Extension_ReqRelation" memberEnd="_-UGn4NkPEd6rlulM-6rbhg _-UiFsNkPEd6rlulM-6rbhg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-UGn4NkPEd6rlulM-6rbhg" name="extension_ReqRelation" type="_DLP58Nu0EdyN-KVwISucrA" aggregation="composite" association="_-PWDsNkPEd6rlulM-6rbhg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_i-WN4TxIEdyqfK4bFJstMQ" name="A_ADLEntity_ADLRefine" memberEnd="_i-WN4jxIEdyqfK4bFJstMQ _i-WNhDxIEdyqfK4bFJstMQ">
+ <ownedEnd xmi:id="_i-WN4jxIEdyqfK4bFJstMQ" name="ADLRefine" type="_i-WNfzxIEdyqfK4bFJstMQ" association="_i-WN4TxIEdyqfK4bFJstMQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-WN5DxIEdyqfK4bFJstMQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-WN4zxIEdyqfK4bFJstMQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_i-WN6TxIEdyqfK4bFJstMQ" name="A_ADLEntity_ADLSatisfy" memberEnd="_i-WN6jxIEdyqfK4bFJstMQ _i-WNfDxIEdyqfK4bFJstMQ">
+ <ownedEnd xmi:id="_i-WN6jxIEdyqfK4bFJstMQ" name="ADLSatisfy" type="_i-WNczxIEdyqfK4bFJstMQ" association="_i-WN6TxIEdyqfK4bFJstMQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-WN7DxIEdyqfK4bFJstMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-WN6zxIEdyqfK4bFJstMQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_KvhU4E1-Ed-g_-U9icW-Pw" name="RequirementsModel">
+ <ownedComment xmi:id="_RPpaAE1-Ed-g_-U9icW-Pw" annotatedElement="_KvhU4E1-Ed-g_-U9icW-Pw">
+ <body>The collection of requirements, their relationships, and usecases. This collection can be done across the EAST-ADL2 abstraction levels.</body>
+ </ownedComment>
+ <generalization xmi:id="_VNUJcE1-Ed-g_-U9icW-Pw" general="_i-WNsjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_aHK0UE1-Ed-g_-U9icW-Pw" name="useCase" association="_Z_lloE1-Ed-g_-U9icW-Pw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#UseCase"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aHbTAE1-Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aHdIME1-Ed-g_-U9icW-Pw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_1XxewE1-Ed-g_-U9icW-Pw" name="requirement" type="_kjXpINdsEd6hwb99h1VVPA" association="_1QqKIE1-Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_1YKgUE1-Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_1YLucE1-Ed-g_-U9icW-Pw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_ProNEE1_Ed-g_-U9icW-Pw" name="requirementContainer" type="_i-WLxDxIEdyqfK4bFJstMQ" association="_PkGowE1_Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Pr-LUE1_Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Pr_ZcE1_Ed-g_-U9icW-Pw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_-9INYFgcEd-SipQLbZtnVw" name="operationalSituation" type="_kMhuIFgbEd-SipQLbZtnVw" isUnique="false" association="_-2-iEFgcEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-9ojsFgcEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-9q_8FgcEd-SipQLbZtnVw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_i8B4oGztEd-32sTBz6AwMQ" name="base_Package" isUnique="false" association="_iyGgkGztEd-32sTBz6AwMQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_Z_lloE1-Ed-g_-U9icW-Pw" name="A_RequirementsModel_UseCase" memberEnd="_aHK0UE1-Ed-g_-U9icW-Pw _aHeWUE1-Ed-g_-U9icW-Pw">
+ <ownedEnd xmi:id="_aHeWUE1-Ed-g_-U9icW-Pw" name="requirementsModel" type="_KvhU4E1-Ed-g_-U9icW-Pw" isUnique="false" association="_Z_lloE1-Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aH7CQE1-Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aH50IE1-Ed-g_-U9icW-Pw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_1QqKIE1-Ed-g_-U9icW-Pw" name="A_RequirementsModel_RequirementSpecificationObject" memberEnd="_1XxewE1-Ed-g_-U9icW-Pw _1YNjoE1-Ed-g_-U9icW-Pw">
+ <ownedEnd xmi:id="_1YNjoE1-Ed-g_-U9icW-Pw" name="requirementsModel" type="_KvhU4E1-Ed-g_-U9icW-Pw" isUnique="false" association="_1QqKIE1-Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_1YmlME1-Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_1YkwAE1-Ed-g_-U9icW-Pw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_PkGowE1_Ed-g_-U9icW-Pw" name="A_RequirementsModel_RequirementsContainer" memberEnd="_ProNEE1_Ed-g_-U9icW-Pw _PsFgEE1_Ed-g_-U9icW-Pw">
+ <ownedEnd xmi:id="_PsFgEE1_Ed-g_-U9icW-Pw" name="requirementsModel" type="_KvhU4E1-Ed-g_-U9icW-Pw" isUnique="false" association="_PkGowE1_Ed-g_-U9icW-Pw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PsgW0E1_Ed-g_-U9icW-Pw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_PsehoE1_Ed-g_-U9icW-Pw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_Hl18QE2AEd-g_-U9icW-Pw" name="RequirementsLink">
+ <ownedComment xmi:id="_LMkyYE2AEd-g_-U9icW-Pw" annotatedElement="_Hl18QE2AEd-g_-U9icW-Pw">
+ <body>RequirementsLink represents a relation between two or more Requirements. Source and target Requirements of the relation are distinguished, which means that the relation is directed (from source to target). If such a distinction does not make sense, then use a RequirementsGroup instead.
+
+The standard case will be a relation with one source and one target Requirement. However, it is possible to have several source and/or several target Requirements so that general relations can be expressed with instances of this metaclass.
+
+The semantic of a concrete Requirement relation can be provided by the modeler. In particular, three ways are conceivable:
+
+(1) The user attributes of the relation can be used to specify its meaning, for example with a user attribute called &quot;relationType&quot; which is set to values such as &quot;needs&quot; or &quot;excludes&quot;.
+
+(2) The UserAttributeElementType can be used. Certain types will be used for certain relation semantics.
+
+(3) RequirementsRelationGroups can be used, i.e. all relations with an &quot;excludes&quot; meaning are put in one relation group and all with a &quot;needs&quot; meaning are put in another.</body>
+ </ownedComment>
+ <generalization xmi:id="_N5oOgE2AEd-g_-U9icW-Pw" general="_DLP58Nu0EdyN-KVwISucrA"/>
+ <ownedAttribute xmi:id="_UGHl8E2AEd-g_-U9icW-Pw" name="isBidirectional" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_uURlQG9IEd-Nl92aXXxcsg" name="source" type="_i-WLxjxIEdyqfK4bFJstMQ" isUnique="false" association="_uPM4AG9IEd-Nl92aXXxcsg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_wbrWoG9IEd-Nl92aXXxcsg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_wbwPIG9IEd-Nl92aXXxcsg" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_u1D-IG9IEd-Nl92aXXxcsg" name="target" type="_i-WLxjxIEdyqfK4bFJstMQ" isUnique="false" association="_uwVPIG9IEd-Nl92aXXxcsg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_xmwCoG9IEd-Nl92aXXxcsg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_xm07IG9IEd-Nl92aXXxcsg" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_5kEb4E2FEd-Y0rmHl9ZsQw" name="Extension_RequirementsRelationGroup" memberEnd="_5p260E2FEd-Y0rmHl9ZsQw _5qIAkE2FEd-Y0rmHl9ZsQw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_5p260E2FEd-Y0rmHl9ZsQw" name="extension_RequirementsRelationGroup" type="_RWvvUNu0EdyN-KVwISucrA" aggregation="composite" association="_5kEb4E2FEd-Y0rmHl9ZsQw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_kMhuIFgbEd-SipQLbZtnVw" name="OperationalSituation">
+ <generalization xmi:id="_veejgFgbEd-SipQLbZtnVw" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_myzM0FgbEd-SipQLbZtnVw" name="base_Class" isUnique="false" association="_msE5wFgbEd-SipQLbZtnVw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_msE5wFgbEd-SipQLbZtnVw" name="Extension_OperationalSituation" memberEnd="_myfq0FgbEd-SipQLbZtnVw _myzM0FgbEd-SipQLbZtnVw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_myfq0FgbEd-SipQLbZtnVw" name="extension_OperationalSituation" type="_kMhuIFgbEd-SipQLbZtnVw" aggregation="composite" association="_msE5wFgbEd-SipQLbZtnVw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_22bzEFgcEd-SipQLbZtnVw" name="A_Requirement_Mode" memberEnd="_28EhAFgcEd-SipQLbZtnVw _28uBQFgcEd-SipQLbZtnVw">
+ <ownedEnd xmi:id="_28uBQFgcEd-SipQLbZtnVw" name="requirement" type="_i-WLxjxIEdyqfK4bFJstMQ" isUnique="false" association="_22bzEFgcEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_29KtMFgcEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_29IQ8FgcEd-SipQLbZtnVw" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_-2-iEFgcEd-SipQLbZtnVw" name="A_RequirementsModel_OperationalSituation" memberEnd="_-9INYFgcEd-SipQLbZtnVw _-9tcMFgcEd-SipQLbZtnVw">
+ <ownedEnd xmi:id="_-9tcMFgcEd-SipQLbZtnVw" name="requirementsModel" type="_KvhU4E1-Ed-g_-U9icW-Pw" isUnique="false" association="_-2-iEFgcEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_--JhEFgcEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_--Hr4FgcEd-SipQLbZtnVw" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_iyGgkGztEd-32sTBz6AwMQ" name="Extension_RequirementsModel" memberEnd="_i71rYGztEd-32sTBz6AwMQ _i8B4oGztEd-32sTBz6AwMQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_i71rYGztEd-32sTBz6AwMQ" name="extension_RequirementsModel" type="_KvhU4E1-Ed-g_-U9icW-Pw" aggregation="composite" association="_iyGgkGztEd-32sTBz6AwMQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_uPM4AG9IEd-Nl92aXXxcsg" name="A_RequirementsLink_Requirement" memberEnd="_uURlQG9IEd-Nl92aXXxcsg _uUuRMG9IEd-Nl92aXXxcsg">
+ <ownedEnd xmi:id="_uUuRMG9IEd-Nl92aXXxcsg" name="requirementsLink" type="_Hl18QE2AEd-g_-U9icW-Pw" isUnique="false" association="_uPM4AG9IEd-Nl92aXXxcsg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uVZmoG9IEd-Nl92aXXxcsg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uVXxcG9IEd-Nl92aXXxcsg" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_uwVPIG9IEd-Nl92aXXxcsg" name="A_RequirementsLink_Requirement" memberEnd="_u1D-IG9IEd-Nl92aXXxcsg _u1fb8G9IEd-Nl92aXXxcsg">
+ <ownedEnd xmi:id="_u1fb8G9IEd-Nl92aXXxcsg" name="requirementsLink" type="_Hl18QE2AEd-g_-U9icW-Pw" isUnique="false" association="_uwVPIG9IEd-Nl92aXXxcsg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_u132cG9IEd-Nl92aXXxcsg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_u12BQG9IEd-Nl92aXXxcsg" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_icmRUJqnEeGhQ8mhoNM_3Q" name="requirementSpecificationObject_requirementsContainer_0" memberEnd="_icmRUZqnEeGhQ8mhoNM_3Q _iclDMJqnEeGhQ8mhoNM_3Q">
+ <ownedEnd xmi:id="_icmRUZqnEeGhQ8mhoNM_3Q" name="requirementSpecificationObject" type="_kjXpINdsEd6hwb99h1VVPA" association="_icmRUJqnEeGhQ8mhoNM_3Q">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_icmRU5qnEeGhQ8mhoNM_3Q" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_icmRUpqnEeGhQ8mhoNM_3Q" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_J-hYYKWpEeGVVPgQD6jlgA" name="UseCase">
+ <generalization xmi:id="_6kymkKWuEeGVVPgQD6jlgA" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_XlBqUKWpEeGVVPgQD6jlgA" name="base_UseCase" association="_XlCRYKWpEeGVVPgQD6jlgA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#UseCase"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_FlsvQKWvEeGVVPgQD6jlgA" name="include" type="_cDxGgKWpEeGVVPgQD6jlgA" aggregation="composite" association="_FlsvQ6WvEeGVVPgQD6jlgA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FlsvQqWvEeGVVPgQD6jlgA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FlsvQaWvEeGVVPgQD6jlgA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Vv7iMKWvEeGVVPgQD6jlgA" name="extend" type="_duBPkKWuEeGVVPgQD6jlgA" aggregation="composite" association="_Vv7iM6WvEeGVVPgQD6jlgA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vv7iMqWvEeGVVPgQD6jlgA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Vv7iMaWvEeGVVPgQD6jlgA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_uqUjMKWvEeGVVPgQD6jlgA" name="extensionPoint" type="_3gao4KWpEeGVVPgQD6jlgA" aggregation="composite" association="_uqVKQKWvEeGVVPgQD6jlgA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uqUjMqWvEeGVVPgQD6jlgA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uqUjMaWvEeGVVPgQD6jlgA" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_Qvv0kKWpEeGVVPgQD6jlgA" name="Actor">
+ <generalization xmi:id="_oYVPcKWpEeGVVPgQD6jlgA" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_kTs8YKWpEeGVVPgQD6jlgA" name="base_Actor" association="_kTs8YaWpEeGVVPgQD6jlgA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Actor"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_XlCRYKWpEeGVVPgQD6jlgA" name="E_UseCase_UseCase1" memberEnd="_XlCRYaWpEeGVVPgQD6jlgA _XlBqUKWpEeGVVPgQD6jlgA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_XlCRYaWpEeGVVPgQD6jlgA" name="extension_UseCase" type="_J-hYYKWpEeGVVPgQD6jlgA" aggregation="composite" association="_XlCRYKWpEeGVVPgQD6jlgA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_5NYOELbNEeGRzMmi3_uxgw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_5Ne7wLbNEeGRzMmi3_uxgw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_cDxGgKWpEeGVVPgQD6jlgA" name="Include">
+ <generalization xmi:id="_xIaLsKWuEeGVVPgQD6jlgA" general="_i-WNqjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_hwvQYKWpEeGVVPgQD6jlgA" name="base_Include" association="_hwv3cKWpEeGVVPgQD6jlgA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Include"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_NDqVoKWvEeGVVPgQD6jlgA" name="addition" type="_J-hYYKWpEeGVVPgQD6jlgA" association="_NDq8sKWvEeGVVPgQD6jlgA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_NDqVoqWvEeGVVPgQD6jlgA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_NDqVoaWvEeGVVPgQD6jlgA" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_hwv3cKWpEeGVVPgQD6jlgA" name="E_Include_Include1" memberEnd="_hwv3caWpEeGVVPgQD6jlgA _hwvQYKWpEeGVVPgQD6jlgA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_hwv3caWpEeGVVPgQD6jlgA" name="extension_Include" type="_cDxGgKWpEeGVVPgQD6jlgA" aggregation="composite" association="_hwv3cKWpEeGVVPgQD6jlgA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_5wAaALbNEeGRzMmi3_uxgw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_5wHHsLbNEeGRzMmi3_uxgw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_kTs8YaWpEeGVVPgQD6jlgA" name="E_Actor_Actor1" memberEnd="_kTs8YqWpEeGVVPgQD6jlgA _kTs8YKWpEeGVVPgQD6jlgA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_kTs8YqWpEeGVVPgQD6jlgA" name="extension_Actor" type="_Qvv0kKWpEeGVVPgQD6jlgA" aggregation="composite" association="_kTs8YaWpEeGVVPgQD6jlgA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3yMpgLbNEeGRzMmi3_uxgw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3yTXMLbNEeGRzMmi3_uxgw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_xTJOUKWpEeGVVPgQD6jlgA" name="RedefinableElement" isAbstract="true">
+ <ownedAttribute xmi:id="_1jr2cKWpEeGVVPgQD6jlgA" name="base_RedefinableElement" association="_1jsdgKWpEeGVVPgQD6jlgA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#RedefinableElement"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_1jsdgKWpEeGVVPgQD6jlgA" name="E_RedefinableElement_RedefinableElement1" memberEnd="_1jsdgaWpEeGVVPgQD6jlgA _1jr2cKWpEeGVVPgQD6jlgA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_1jsdgaWpEeGVVPgQD6jlgA" name="extension_RedefinableElement" type="_xTJOUKWpEeGVVPgQD6jlgA" aggregation="composite" association="_1jsdgKWpEeGVVPgQD6jlgA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4YgbkLbNEeGRzMmi3_uxgw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4YnJQLbNEeGRzMmi3_uxgw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_3gao4KWpEeGVVPgQD6jlgA" name="ExtensionPoint">
+ <generalization xmi:id="_6ZcrgKWpEeGVVPgQD6jlgA" general="_xTJOUKWpEeGVVPgQD6jlgA"/>
+ <ownedAttribute xmi:id="_5oUJgKWpEeGVVPgQD6jlgA" name="base_ExtensionPoint" association="_5oUJgaWpEeGVVPgQD6jlgA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ExtensionPoint"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_5oUJgaWpEeGVVPgQD6jlgA" name="E_ExtensionPoint_ExtensionPoint1" memberEnd="_5oUJgqWpEeGVVPgQD6jlgA _5oUJgKWpEeGVVPgQD6jlgA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_5oUJgqWpEeGVVPgQD6jlgA" name="extension_ExtensionPoint" type="_3gao4KWpEeGVVPgQD6jlgA" aggregation="composite" association="_5oUJgaWpEeGVVPgQD6jlgA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_8gGjELbNEeGRzMmi3_uxgw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_8gNQwLbNEeGRzMmi3_uxgw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_duBPkKWuEeGVVPgQD6jlgA" name="Extend">
+ <generalization xmi:id="_x-35oKWuEeGVVPgQD6jlgA" general="_i-WNqjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_fvL2EKWuEeGVVPgQD6jlgA" name="base_Extend" association="_fvMdIKWuEeGVVPgQD6jlgA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Extend"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_R6tkIKWvEeGVVPgQD6jlgA" name="extendedCase" type="_J-hYYKWpEeGVVPgQD6jlgA" association="_R6uLMKWvEeGVVPgQD6jlgA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_R6tkIqWvEeGVVPgQD6jlgA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_R6tkIaWvEeGVVPgQD6jlgA" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Zo0fUKWvEeGVVPgQD6jlgA" name="extensionLocation" type="_3gao4KWpEeGVVPgQD6jlgA" association="_Zo1GYKWvEeGVVPgQD6jlgA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Zo0fUqWvEeGVVPgQD6jlgA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Zo0fUaWvEeGVVPgQD6jlgA" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_fvMdIKWuEeGVVPgQD6jlgA" name="E_Extend_Extend1" memberEnd="_fvMdIaWuEeGVVPgQD6jlgA _fvL2EKWuEeGVVPgQD6jlgA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_fvMdIaWuEeGVVPgQD6jlgA" name="extension_Extend" type="_duBPkKWuEeGVVPgQD6jlgA" aggregation="composite" association="_fvMdIKWuEeGVVPgQD6jlgA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_6R0GkLbNEeGRzMmi3_uxgw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_6R60QLbNEeGRzMmi3_uxgw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_8J5jMKWuEeGVVPgQD6jlgA" name="satisfy_useCase_1" memberEnd="_8J5jMaWuEeGVVPgQD6jlgA _8J48IKWuEeGVVPgQD6jlgA">
+ <ownedEnd xmi:id="_8J5jMaWuEeGVVPgQD6jlgA" name="satisfy" type="_i-WNczxIEdyqfK4bFJstMQ" association="_8J5jMKWuEeGVVPgQD6jlgA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_8J5jM6WuEeGVVPgQD6jlgA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_8J5jMqWuEeGVVPgQD6jlgA" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_FlsvQ6WvEeGVVPgQD6jlgA" name="useCase_include_1" memberEnd="_FlsvRKWvEeGVVPgQD6jlgA _FlsvQKWvEeGVVPgQD6jlgA">
+ <ownedEnd xmi:id="_FlsvRKWvEeGVVPgQD6jlgA" name="includingCase" type="_J-hYYKWpEeGVVPgQD6jlgA" association="_FlsvQ6WvEeGVVPgQD6jlgA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FlsvRqWvEeGVVPgQD6jlgA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FlsvRaWvEeGVVPgQD6jlgA" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_NDq8sKWvEeGVVPgQD6jlgA" name="include_useCase_1" memberEnd="_NDq8saWvEeGVVPgQD6jlgA _NDqVoKWvEeGVVPgQD6jlgA">
+ <ownedEnd xmi:id="_NDq8saWvEeGVVPgQD6jlgA" name="include" type="_cDxGgKWpEeGVVPgQD6jlgA" association="_NDq8sKWvEeGVVPgQD6jlgA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_NDq8s6WvEeGVVPgQD6jlgA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_NDq8sqWvEeGVVPgQD6jlgA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_R6uLMKWvEeGVVPgQD6jlgA" name="extend_useCase_1" memberEnd="_R6uLMaWvEeGVVPgQD6jlgA _R6tkIKWvEeGVVPgQD6jlgA">
+ <ownedEnd xmi:id="_R6uLMaWvEeGVVPgQD6jlgA" name="extend" type="_duBPkKWuEeGVVPgQD6jlgA" association="_R6uLMKWvEeGVVPgQD6jlgA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_R6uLM6WvEeGVVPgQD6jlgA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_R6uLMqWvEeGVVPgQD6jlgA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_Vv7iM6WvEeGVVPgQD6jlgA" name="useCase_extend_1" memberEnd="_Vv7iNKWvEeGVVPgQD6jlgA _Vv7iMKWvEeGVVPgQD6jlgA">
+ <ownedEnd xmi:id="_Vv7iNKWvEeGVVPgQD6jlgA" name="useCase" type="_J-hYYKWpEeGVVPgQD6jlgA" association="_Vv7iM6WvEeGVVPgQD6jlgA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vv7iNqWvEeGVVPgQD6jlgA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Vv7iNaWvEeGVVPgQD6jlgA" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_Zo1GYKWvEeGVVPgQD6jlgA" name="extend_extensionPoint_1" memberEnd="_Zo1GYaWvEeGVVPgQD6jlgA _Zo0fUKWvEeGVVPgQD6jlgA">
+ <ownedEnd xmi:id="_Zo1GYaWvEeGVVPgQD6jlgA" name="extend" type="_duBPkKWuEeGVVPgQD6jlgA" association="_Zo1GYKWvEeGVVPgQD6jlgA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Zo1GY6WvEeGVVPgQD6jlgA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Zo1GYqWvEeGVVPgQD6jlgA" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_uqVKQKWvEeGVVPgQD6jlgA" name="useCase_extensionPoint_1" memberEnd="_uqVKQaWvEeGVVPgQD6jlgA _uqUjMKWvEeGVVPgQD6jlgA">
+ <ownedEnd xmi:id="_uqVKQaWvEeGVVPgQD6jlgA" name="useCase" type="_J-hYYKWpEeGVVPgQD6jlgA" association="_uqVKQKWvEeGVVPgQD6jlgA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uqVKQ6WvEeGVVPgQD6jlgA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uqVKQqWvEeGVVPgQD6jlgA" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="_i-WNKzxIEdyqfK4bFJstMQ" name="Structure">
+ <packagedElement xmi:type="uml:Profile" xmi:id="_i-WP9DxIEdyqfK4bFJstMQ" name="FunctionModeling" metaclassReference="_gu_LwEAQEdyOzMGdsp2WEQ _gvSGsEAQEdyOzMGdsp2WEQ _gwLekEAQEdyOzMGdsp2WEQ _gweZgEAQEdyOzMGdsp2WEQ _rqL68Du8Ed2Uk5yJpdBhjQ _UyYcYFQ1Ed6Xd4cXg8Jv5g _LxGzgE0XEd-bZ5L3ZgEOlA _Xbox4E0gEd-upcklZdNpWw _Wv8UEE0hEd-upcklZdNpWw _l1xt8E0lEd-2q5ZoAGcl8Q">
+ <ownedComment xmi:id="_cyZRkKAoEd20Qu_niqpmJw" annotatedElement="_i-WP9DxIEdyqfK4bFJstMQ">
+ <body>The function modeling is performed in the FunctionalAnalysisArchitecture (in the AnalysisLevel) and the FunctionalDesignArchitecture (in the DesignLevel). The root component of the function compositional hierarchy on AnalysisLevel is the FunctionalAnalysisArchitecture (FAA); the root component of the function compositional hierarchy on DesignLevel is the FunctionalDesignArchitecture (FDA), see the diagram for SystemModeling.
+
+The main modeling concept applied here is functional component modeling: Functions interact with one another via ports that are connected by connectors owned by the composing function. Occurrences of functions are modeled by typed prototypes in the composing function. These occurrences are typed by types. This naming convention of the type-prototype pattern is from AUTOSAR, however the concept of types and typed elements is also available in e.g. UML2.</body>
+ </ownedComment>
+ <elementImport xmi:id="_gu_LwEAQEdyOzMGdsp2WEQ" alias="Port">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ </elementImport>
+ <elementImport xmi:id="_gvSGsEAQEdyOzMGdsp2WEQ" alias="Connector">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Connector"/>
+ </elementImport>
+ <elementImport xmi:id="_gwLekEAQEdyOzMGdsp2WEQ" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <elementImport xmi:id="_gweZgEAQEdyOzMGdsp2WEQ" alias="Interface">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Interface"/>
+ </elementImport>
+ <elementImport xmi:id="_rqL68Du8Ed2Uk5yJpdBhjQ" alias="Image">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Image"/>
+ </elementImport>
+ <elementImport xmi:id="_UyYcYFQ1Ed6Xd4cXg8Jv5g" alias="Property">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </elementImport>
+ <elementImport xmi:id="_LxGzgE0XEd-bZ5L3ZgEOlA" alias="Port">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ </elementImport>
+ <elementImport xmi:id="_Xbox4E0gEd-upcklZdNpWw" alias="Package">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ </elementImport>
+ <elementImport xmi:id="_Wv8UEE0hEd-upcklZdNpWw" alias="Dependency">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ </elementImport>
+ <elementImport xmi:id="_l1xt8E0lEd-2q5ZoAGcl8Q" alias="Operation">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+ </elementImport>
+ <packageImport xmi:id="_-0KlgE0iEd-2q5ZoAGcl8Q">
+ <importedPackage xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ </packageImport>
+ <packageImport xmi:id="__EJiQE0iEd-2q5ZoAGcl8Q">
+ <importedPackage xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WP9jxIEdyqfK4bFJstMQ" name="LocalDeviceManager">
+ <ownedComment xmi:id="_I-BesJXhEd2iJ9_Y3as_2A" annotatedElement="_i-WP9jxIEdyqfK4bFJstMQ">
+ <body>The LocalDeviceManager represents a DesignFunction that act as a manager or functional interface to Sensors, Actuators and other devices. It is responsible fort translating between the electrical/logical interface of the device, as provided by a BasicSoftwareFunction, and the physical interface of the device. For example, consider a temperature sensor with voltage output. The HardwareFunctionType defines the transfer from temperature to voltage. A BasicSoftwareFunction relays the voltage from the microcontroller&#x2019;s I/O. The role of the LocalDeviceManager is now to translate from voltage to temperature value, taking into account the sensor&#x2019;s characteristics such as nonlinearities, calibration, etc. The resulting temperature is available to the other DesignFunctions. By separating the device specific part from the middleware and ECU specific parts, it is possible to systematically change interface function together with the device.
+
+
+Semantics:
+The LocalDeviceManager encapsulates the device-specific or functional parts of a Sensor or, Actuator, device, etc. interface.
+
+
+Constraints:
+[1] A DesignFunctionPrototype typed by a LocalDeviceManager shall be allocated to the same ECU node as the device that it manages is connected to.
+
+[2] A LocalDeviceManager may only interface either Sensors or Actuators.
+
+[3] A LocalDeviceManager shall interface BSWFunctions and DesignFunctions.
+
+
+Extension: Class, specialization of SysML::Block</body>
+ </ownedComment>
+ <generalization xmi:id="_i-WP9zxIEdyqfK4bFJstMQ" general="_Y-pWYE0YEd-bZ5L3ZgEOlA"/>
+ <icon xmi:id="_WSn10EnFEd2n_LV02Saw8w" content="71%73%70%56%57%97%16%0%16%0%-91%31%0%20%30%100%24%34%104%25%35%105%29%39%109%30%40%110%34%44%114%39%49%119%43%53%123%47%57%127%48%58%-128%51%61%-125%52%62%-124%56%66%-120%60%70%-116%-106%-96%-46%-32%-14%-1%-31%-14%-1%-28%-12%-1%-27%-12%-1%-26%-11%-1%-22%-10%-1%-21%-10%-1%-17%-8%-1%-12%-6%-1%-12%-5%-1%-8%-4%-1%-7%-4%-1%-8%-3%-1%-7%-3%-1%-3%-2%-1%-2%-2%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%33%-2%51%69%65%83%84%45%65%68%76%32%112%114%111%106%101%99%116%10%65%117%116%104%111%114%32%58%32%109%105%99%107%97%101%108%46%99%111%110%100%101%64%115%105%101%109%101%110%115%46%99%111%109%0%33%-7%4%1%10%0%32%0%44%0%0%0%0%16%0%16%0%0%6%113%64%-112%112%72%44%26%65%-115%100%-29%88%108%56%28%75%-90%-46%9%85%26%25%-97%15%-29%-119%-43%26%23%30%-113%98%-84%-16%116%20%-60%-124%90%-51%-39%104%50%106%-124%90%120%120%58%14%24%-52%-27%82%127%30%-124%6%118%6%22%-124%22%-127%79%6%66%5%-117%-117%21%20%-113%-116%-117%68%4%19%18%3%-105%3%18%17%3%70%2%16%16%1%79%1%15%15%1%70%0%-88%0%79%-87%0%76%32%-86%14%-83%-82%66%-84%-77%-74%32%65%0%59%">
+ <eAnnotations xmi:id="_XF9XQEnFEd2n_LV02Saw8w" source="image_papyrus">
+ <details xmi:id="_XGI9cEnFEd2n_LV02Saw8w" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WP-DxIEdyqfK4bFJstMQ" name="FunctionalDevice">
+ <ownedComment xmi:id="_DpN9MJXhEd2iJ9_Y3as_2A" annotatedElement="_i-WP-DxIEdyqfK4bFJstMQ">
+ <body>The FunctionalDevice represents an abstract sensor or actuator that encapsulates sensor/actuator dynamics and the interfacing software. The FunctionalDevice is the interface between the electronic architecture and the environment (connected by ClampConnectors). As such, it is a transfer function between the AnalysisFunction and the physical entity that it measures or actuates.
+A Realization dependency can be used for traceability between LocalDeviceManagers and Sensors/Actuators that are represented by the FunctionalDevice.
+
+Semantics:
+The behavior associated with the FunctionalDevice is the transfer function between the environment model representing the environment and an AnalysisFunction. The transfer function represents the sensor or actuator and its interfacing hardware and software (connectors, electronics, in/out interface, driver software, and application software).
+
+Constraints:
+No additional constraints.
+
+Changes:
+Now specializes AnalysisFunctionType.
+
+Extension: Class, specialization of SysML::Block</body>
+ </ownedComment>
+ <generalization xmi:id="_i-WP-TxIEdyqfK4bFJstMQ" general="_eaRRkE0YEd-bZ5L3ZgEOlA"/>
+ <icon xmi:id="_0qJ_gEnGEd2n_LV02Saw8w" content="71%73%70%56%57%97%16%0%16%0%-58%0%0%20%30%100%22%32%102%23%33%103%25%35%105%27%37%107%28%38%108%30%40%110%31%41%111%33%43%113%34%44%114%36%46%116%37%47%117%39%49%119%40%50%120%42%52%122%43%53%123%45%55%125%47%57%127%48%58%-128%50%60%-126%51%61%-125%53%63%-123%54%64%-122%56%66%-120%57%67%-119%60%70%-116%-36%-16%-1%-35%-15%-1%-34%-15%-1%-33%-15%-1%-32%-14%-1%-31%-14%-1%-30%-14%-1%-31%-13%-1%-28%-13%-1%-28%-12%-1%-27%-12%-1%-25%-12%-1%-26%-11%-1%-25%-11%-1%-24%-11%-1%-23%-10%-1%-22%-10%-1%-21%-10%-1%-22%-9%-1%-19%-9%-1%-18%-9%-1%-19%-8%-1%-17%-8%-1%-16%-8%-1%-16%-7%-1%-13%-7%-1%-14%-6%-1%-13%-6%-1%-10%-5%-1%-9%-4%-1%-8%-4%-1%-7%-4%-1%-6%-4%-1%-7%-3%-1%-4%-3%-1%-5%-2%-1%-4%-2%-1%-2%-2%-1%-1%-2%-1%-1%-1%-1%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%33%-2%51%69%65%83%84%45%65%68%76%32%112%114%111%106%101%99%116%10%65%117%116%104%111%114%32%58%32%109%105%99%107%97%101%108%46%99%111%110%100%101%64%115%105%101%109%101%110%115%46%99%111%109%0%33%-7%4%1%10%0%127%0%44%0%0%0%0%16%0%16%0%0%7%-93%-128%127%-126%-125%-124%-123%-126%25%-120%-119%-118%-118%-126%23%65%-113%-112%-111%64%63%24%-126%21%62%0%-103%-103%62%62%61%-100%60%22%-126%19%58%0%26%-90%0%59%59%57%57%56%59%20%-126%17%55%-91%-120%0%54%-74%-73%18%-126%15%53%-77%25%0%51%53%53%-64%52%16%-126%13%49%-102%-103%49%49%50%48%48%50%14%-126%11%46%46%47%46%45%47%-55%0%45%12%-126%9%42%42%44%42%43%42%0%-120%26%0%41%10%-126%7%39%39%40%-18%37%-26%25%-24%38%8%-126%5%36%36%34%35%-4%-91%-89%34%12%8%26%16%-30%3%8%-125%32%-76%121%32%32%40%0%-121%-121%29%30%114%-120%-8%112%-125%0%65%-38%50%106%50%-60%-111%80%32%0%59%">
+ <eAnnotations xmi:id="_1SIlgEnGEd2n_LV02Saw8w" source="image_papyrus">
+ <details xmi:id="_1SULsEnGEd2n_LV02Saw8w" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WQDjxIEdyqfK4bFJstMQ" name="PortGroup">
+ <ownedComment xmi:id="_xREhMJXgEd2iJ9_Y3as_2A" annotatedElement="_i-WQDjxIEdyqfK4bFJstMQ">
+ <body>The ADLPortGroup metaclass is used to collapse several ports to one. All ports that are part of a port group are graphically represented as a single port. Connectors connected to ports of a port group pair are graphically collapsed to a single line.&#xD;
+The ADLPortGroup has no semantic meaning except that it makes graphical representation of the connected ports easier to read, and provides a means to logically organize several ports to one group.&#xD;
+Connectors are still connected to the contained ports, but tool support may simplify connections by allowing semi-automatic or automatic connection to all ports of a port group. &#xD;
+&#xD;
+Semantics:&#xD;
+The ADLPortGroup provides a means to organize ports and connectors. It does not add semantics. In the model, the ports contained in the port group are connected as individual ports.</body>
+ </ownedComment>
+ <generalization xmi:id="_IzgE0E0VEd-bZ5L3ZgEOlA" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_i-WQEDxIEdyqfK4bFJstMQ" name="port" visibility="public" type="_i-f6UzxIEdyqfK4bFJstMQ" isReadOnly="true" isDerived="true" association="_i-f6pzxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_1gmcsJXgEd2iJ9_Y3as_2A" annotatedElement="_i-WQEDxIEdyqfK4bFJstMQ">
+ <body>The grouped ports.&#xD;
+{derived from UML::EncapsulatedClassifier::ownedPort} when this stereotype is applied on a Class. When the stereotype is applied on a Port the value is derived from the ports in the type.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_CChZoGd8EdyZ-rSA5-bo-g" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_CChZoWd8EdyZ-rSA5-bo-g" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_DwXq4EAREdyOzMGdsp2WEQ" name="base_Class" isUnique="false" association="_Dvx1AEAREdyOzMGdsp2WEQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JBDhwG1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JBJoYG1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_qUw0kH2xEd2HmrdXFjmJnw" name="base_Port" isUnique="false" association="_pryJAH2xEd2HmrdXFjmJnw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_J7dUgG1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_J7jbIG1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_NFrkUE0YEd-bZ5L3ZgEOlA" name="portGroup" type="_i-WQDjxIEdyqfK4bFJstMQ" association="_NA6ZEE0YEd-bZ5L3ZgEOlA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_NHN1YE0YEd-bZ5L3ZgEOlA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_NHUjEE0YEd-bZ5L3ZgEOlA" value="*"/>
+ </ownedAttribute>
+ <icon xmi:id="_vialMH2xEd2HmrdXFjmJnw" content="71%73%70%56%57%97%16%0%16%0%-43%0%0%60%70%-116%80%80%80%93%93%93%101%101%101%109%109%109%118%118%118%126%126%126%-122%-122%-122%-113%-113%-113%-103%-103%-103%-97%-97%-97%-84%-84%-84%-78%-78%-78%-76%-76%-76%-32%-32%-32%-32%-31%-31%-31%-31%-30%-31%-30%-31%-30%-30%-30%-29%-30%-30%-29%-29%-29%-28%-29%-29%-28%-28%-28%-27%-27%-28%-24%-24%-24%-24%-23%-23%-22%-22%-22%-21%-21%-21%-21%-20%-20%-19%-20%-20%-20%-19%-20%-16%-16%-16%-16%-16%-15%-12%-12%-12%-11%-11%-11%-8%-7%-8%-8%-7%-7%-7%-7%-6%-6%-6%-6%-6%-6%-5%-5%-5%-5%-4%-4%-4%-3%-4%-4%-3%-3%-3%-1%-1%-1%101%0%101%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%33%-7%4%1%0%0%63%0%44%0%0%0%0%16%0%16%0%0%6%97%64%-122%112%-56%-8%25%-113%71%-106%114%-71%64%58%-119%-48%-94%115%73%85%54%-97%-47%-24%-111%81%-19%94%127%-118%37%64%-52%60%34%70%36%0%-64%116%66%-87%85%-85%-60%-47%0%82%-37%-17%-94%-61%-111%-128%-63%-88%53%26%27%106%30%29%5%71%2%14%14%15%0%16%18%19%0%21%22%23%3%71%1%-119%-105%-104%-119%1%-107%1%-99%-98%-97%-99%78%-94%-93%-92%-91%-90%-94%65%0%59%">
+ <eAnnotations xmi:id="_-J82UH2xEd2HmrdXFjmJnw" source="image_papyrus">
+ <details xmi:id="_-KGnUH2xEd2HmrdXFjmJnw" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-f6IDxIEdyqfK4bFJstMQ" name="FunctionFlowPort">
+ <ownedComment xmi:id="_pRrBsJXgEd2iJ9_Y3as_2A" annotatedElement="_i-f6IDxIEdyqfK4bFJstMQ">
+ <body>The FunctionFlowPort is a metaclass for flowports, inspired by the SysML FlowPort.
+
+Semantics:
+FunctionFlowPorts are single buffer overwrite and nonconsumable.
+
+FunctionFlowPorts can be connected if their FunctionPort signatures match; i.e.:
+
+EADatatypes that are ValueTypes are compatible if
+
+* They have the same &quot;dimension&quot;.
+
+* They have the same &quot;unit&quot;.
+
+EADatatypes that are RangeableValueTypes are compatible if
+
+* The source EADatatype has the same or better &quot;accuracy&quot;.
+
+* They have the same baseRangeable.
+
+* The source EADatatype has the same or smaller &quot;maxValue&quot;.
+
+* The source EADatatype has the same or higher &quot;minValue&quot;.
+
+* The source EADatatype has the same or higher &quot;resolution&quot;.
+
+* They have the same &quot;significantDigits&quot;.
+
+EADatatypes that are EnumerationValueTypes are compatible if
+
+* They have the same baseEnumeration.
+
+FunctionFlowPort with direction=in, is called an input FunctionFlowPort:
+
+The input FunctionFlowPort indicates that the containing Function requires input data. The EADatatype of this data is defined by the associated EADatatype. The data is sampled at the invocation of the containing entity for discrete Functions. For continuous Functions, the input FunctionFlowPort represents a continuous input connection point.
+
+The input FunctionFlowPort declares a reception point of data. It represents a single element buffer, which is overridden with the latest data. The type of the data is defined by the associated EADatatype.
+
+FunctionFlowPort with direction=out, is called an output FunctionFlowPort:
+
+The output FunctionFlowPort indicates that the containing Function provides output data. The EADatatype of this data is defined by the associated EADatatype. The data is sent at the completion of the containing entity for discrete Functions. For continuous Functions, the output FunctionFlowPort represents a (time-)continuous output connection point.
+
+The output FunctionFlowPort declares a transmission point of data. The type of the data is defined by the associated EADatatype.
+
+
+Extension: UML Port, specialization of SysML::FlowPort</body>
+ </ownedComment>
+ <generalization xmi:id="_i-f6ITxIEdyqfK4bFJstMQ" general="_i-f6UzxIEdyqfK4bFJstMQ"/>
+ <generalization xmi:id="_R6KmAE0jEd-2q5ZoAGcl8Q">
+ <general xmi:type="uml:Stereotype" href="pathmap://SysML_PROFILES/SysML.profile.uml#_lNvKMLVDEdu2ieF4ON8UjA"/>
+ </generalization>
+ <ownedAttribute xmi:id="_PtoyIE0lEd-2q5ZoAGcl8Q" name="type" type="_i-WNODxIEdyqfK4bFJstMQ" isUnique="false" isReadOnly="true" isDerived="true" association="_PnefwE0lEd-2q5ZoAGcl8Q">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_TtRQcE0lEd-2q5ZoAGcl8Q" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_TtWwAE0lEd-2q5ZoAGcl8Q" value="1"/>
+ </ownedAttribute>
+ <icon xmi:id="_nuSmAEnGEd2n_LV02Saw8w" content="71%73%70%56%57%97%16%0%16%0%-43%0%0%60%70%-116%80%80%80%93%93%93%101%101%101%109%109%109%118%118%118%126%126%126%-122%-122%-122%-113%-113%-113%-103%-103%-103%-97%-97%-97%-84%-84%-84%-78%-78%-78%-76%-76%-76%-32%-32%-32%-32%-31%-31%-31%-31%-30%-31%-30%-31%-30%-30%-30%-29%-30%-30%-29%-29%-29%-28%-29%-29%-28%-28%-28%-27%-27%-28%-24%-24%-24%-24%-23%-23%-22%-22%-22%-21%-21%-21%-21%-20%-20%-19%-20%-20%-20%-19%-20%-16%-16%-16%-16%-16%-15%-12%-12%-12%-11%-11%-11%-8%-7%-8%-8%-7%-7%-7%-7%-6%-6%-6%-6%-6%-6%-5%-5%-5%-5%-4%-4%-4%-3%-4%-4%-3%-3%-3%-1%-1%-1%101%0%101%40%0%40%101%0%101%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%33%-7%4%1%0%0%63%0%44%0%0%0%0%16%0%16%0%0%6%90%-64%-97%112%72%44%26%-113%-56%-92%50%-55%104%58%-97%-50%33%-125%69%-83%90%89%-117%-95%-94%10%-32%86%-77%66%-60%-120%4%0%-104%78%-88%-78%106%-107%24%26%64%-27%-72%92%116%24%18%48%-104%-78%70%-77%41%123%58%5%67%2%14%14%15%0%16%18%19%0%21%22%23%3%67%1%-124%-110%-109%-124%1%-112%1%-104%-103%-102%-104%75%-99%-98%-97%63%65%0%59%">
+ <eAnnotations xmi:id="_rcogAEnGEd2n_LV02Saw8w" source="image_papyrus">
+ <details xmi:id="_rc0GMEnGEd2n_LV02Saw8w" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-f6JDxIEdyqfK4bFJstMQ" name="FunctionType" isAbstract="true">
+ <ownedComment xmi:id="_7u8DsJXfEd2iJ9_Y3as_2A" annotatedElement="_i-f6JDxIEdyqfK4bFJstMQ">
+ <body>The abstract metaclass FunctionType abstracts the function component types that are used to model the functional structure, which is distinguished from the implementation of component types using AUTOSAR. The syntax of FunctionTypes is inspired from the concept of Block from SysML.
+
+FunctionBehavior and FunctionTrigger in the Behavior package are associated to a FunctionType.
+
+
+Semantics:
+The FunctionType abstracts the function component types that are used to model the functional structure on AnalysisLevel and DesignLevel.
+Leaf functions of an EAST-ADL2 function hierarchy are called elementary Functions.
+Elementary Functions have synchronous execution semantics:
+1. Read inputs
+2. Execute (duration: Execution time)
+3. Write outputs
+Execution is defined by a behavior that acts as a transfer function.
+Subclasses of the abstract class FunctionType add their own semantics.
+
+If a behavior is attached to the FunctionType, the execution semantic for a discrete elementary FunctionType complies with the run-to-completion semantic. This has the following implications:
+
+1. Input that arrives at the input FunctionPorts after execution begins will be ignored until the next execution cycle.
+
+2. If more than one input value arrives per FunctionPort before execution begins the last value will override all previous ones in the public part of the input FunctionPort (single element buffers for input).
+
+3. The local part of a FunctionPort does not change its value during execution of the behavior.
+
+4. During an execution cycle only one output value can be sent per FunctionPort. If consecutive output values are produced on the same FunctionPort during a single execution cycle, the last value will override all previous ones on the output FunctionPort (single element buffers for output).
+
+5. Output will not be available at an output FunctionPort before execution ends.
+
+6. Elementary FunctionTypes may not produce any side effects (i.e., all data passes the FunctionPorts).
+
+
+Constraints:
+[1] Elementary FunctionTypes shall not have parts.
+
+Notation:
+The FunctionType is shown as a solid-outline rectangle containing the name, with its FunctionPorts or PortGroups on the perimeter. Contained entities may be shown with its FunctionConnectors (White-box view)
+
+Extension: UML Class, specialization of SysML::Block</body>
+ </ownedComment>
+ <generalization xmi:id="_1iyFQE0YEd-bZ5L3ZgEOlA">
+ <general xmi:type="uml:Stereotype" href="pathmap://SysML_PROFILES/SysML.profile.uml#_8J2A8LVAEdu2ieF4ON8UjA"/>
+ </generalization>
+ <generalization xmi:id="_U0RA0E09Ed-2q5ZoAGcl8Q" general="_i-WNsjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_i-f6LTxIEdyqfK4bFJstMQ" name="isElementary" visibility="public" isReadOnly="true" isDerived="true">
+ <ownedComment xmi:id="_i-f6LjxIEdyqfK4bFJstMQ">
+ <body>True, when this type does not have any parts.&#xD;
+Derived from size of UML::StructuredClassifier::ownedConnector and UML::EncapsulatedClassifier::ownedPort</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-f6MDxIEdyqfK4bFJstMQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-f6LzxIEdyqfK4bFJstMQ" value="1"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_i-f6MTxIEdyqfK4bFJstMQ" value="false"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_i-f6RDxIEdyqfK4bFJstMQ" name="port" visibility="public" type="_i-f6UzxIEdyqfK4bFJstMQ" isReadOnly="true" isDerived="true" association="_i-f6wzxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_bgP5MJXgEd2iJ9_Y3as_2A" annotatedElement="_i-f6RDxIEdyqfK4bFJstMQ">
+ <body>Owned in- and out-flow ports.&#xD;
+{derived from UML::EncapsulatedClassifier::ownedPort}</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-f6RjxIEdyqfK4bFJstMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-f6RTxIEdyqfK4bFJstMQ" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_kpmiYNo7EdyZhJLkuCfQrA" name="portGroup" type="_i-WQDjxIEdyqfK4bFJstMQ" isReadOnly="true" isDerived="true" association="_kNvs0No7EdyZhJLkuCfQrA">
+ <ownedComment xmi:id="_ZX1bMJXgEd2iJ9_Y3as_2A" annotatedElement="_kpmiYNo7EdyZhJLkuCfQrA">
+ <body>Grouping of ports owned by this element.&#xD;
+{derived from UML::Class::nestedClassifier}</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_krsNENo7EdyZhJLkuCfQrA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_krsNEdo7EdyZhJLkuCfQrA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_i1M2sE0WEd-bZ5L3ZgEOlA" name="connector" type="_i-f6XjxIEdyqfK4bFJstMQ" isReadOnly="true" isDerived="true" association="_io6uME0WEd-bZ5L3ZgEOlA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i2q2UE0WEd-bZ5L3ZgEOlA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i2wV4E0WEd-bZ5L3ZgEOlA" value="*"/>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_tDaaEDvwEd2HKI3a9qtdFg" name="getIcon">
+ <ownedParameter xmi:id="_tDaaETvwEd2HKI3a9qtdFg" name="img" direction="return">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Image"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_tDaaEzvwEd2HKI3a9qtdFg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_tDaaEjvwEd2HKI3a9qtdFg" value="1"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_tDaaFDvwEd2HKI3a9qtdFg">
+ <value xsi:nil="true"/>
+ </defaultValue>
+ </ownedParameter>
+ </ownedOperation>
+ <icon xmi:id="_FOP5YEnGEd2n_LV02Saw8w" content="71%73%70%56%57%97%16%0%16%0%-91%51%0%20%30%100%22%32%102%23%33%103%25%35%105%26%36%106%28%38%108%29%39%109%30%40%110%32%42%112%35%45%115%37%47%117%38%48%118%41%51%121%43%53%123%44%54%124%47%57%127%50%60%-126%53%63%-123%56%66%-120%57%67%-119%59%69%-117%60%70%-116%80%80%80%-106%-96%-46%-34%-15%-1%-33%-15%-1%-33%-14%-1%-30%-14%-1%-31%-13%-1%-30%-13%-1%-27%-13%-1%-27%-12%-1%-24%-11%-1%-21%-10%-1%-20%-10%-1%-20%-9%-1%-18%-8%-1%-17%-8%-1%-15%-7%-1%-14%-7%-1%-15%-6%-1%-14%-6%-1%-12%-6%-1%-11%-6%-1%-12%-5%-1%-11%-5%-1%-8%-4%-1%-5%-3%-1%-2%-2%-1%-1%-2%-1%-2%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%33%-2%51%69%65%83%84%45%65%68%76%32%112%114%111%106%101%99%116%10%65%117%116%104%111%114%32%58%32%109%105%99%107%97%101%108%46%99%111%110%100%101%64%115%105%101%109%101%110%115%46%99%111%109%0%33%-7%4%1%10%0%63%0%44%0%0%0%0%16%0%16%0%0%6%-108%-64%-97%112%72%44%14%41%-107%-92%114%-87%20%74%102%-48%-88%20%58%-7%69%-82%-79%-40%76%-58%-84%-64%34%22%-56%11%98%41%91%26%-105%-12%69%12%-7%61%-34%-82%-72%-21%-96%-66%40%92%15%-95%-93%-75%82%-75%90%0%-127%-126%44%14%66%12%39%39%41%39%40%38%38%-120%-120%38%12%66%11%37%36%-107%36%-104%-104%-105%11%63%9%-98%34%33%33%35%76%19%34%9%22%8%32%8%102%22%15%117%13%-86%63%5%-77%31%31%30%31%8%117%7%31%6%66%3%27%29%-63%29%-126%-126%28%4%66%1%26%24%25%25%26%26%-51%25%24%-54%2%66%-60%-42%-42%70%-39%67%65%0%59%">
+ <eAnnotations xmi:id="_GfthQEnGEd2n_LV02Saw8w" source="image_papyrus">
+ <details xmi:id="_Gf5HcEnGEd2n_LV02Saw8w" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ <icon xmi:id="_FwC-4EnGEd2n_LV02Saw8w" content="71%73%70%56%57%97%16%0%16%0%-91%0%0%20%30%100%23%33%103%26%36%106%29%39%109%32%42%112%35%45%115%38%48%118%41%51%121%42%52%122%45%55%125%48%58%-128%50%60%-126%51%61%-125%53%63%-123%54%64%-122%56%66%-120%57%67%-119%60%70%-116%-34%-15%-1%-33%-15%-1%-31%-14%-1%-30%-14%-1%-31%-13%-1%-30%-13%-1%-28%-13%-1%-28%-12%-1%-27%-12%-1%-25%-12%-1%-26%-11%-1%-25%-11%-1%-24%-11%-1%-22%-11%-1%-23%-10%-1%-22%-10%-1%-21%-10%-1%-22%-9%-1%-19%-9%-1%-19%-8%-1%-16%-8%-1%-16%-7%-1%-15%-7%-1%-13%-7%-1%-13%-6%-1%-12%-6%-1%-11%-6%-1%-10%-5%-1%-10%-4%-1%-7%-4%-1%-7%-3%-1%-6%-3%-1%-4%-3%-1%-5%-2%-1%-4%-2%-1%-3%-2%-1%-1%-1%-1%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%33%-2%51%69%65%83%84%45%65%68%76%32%112%114%111%106%101%99%116%10%65%117%116%104%111%114%32%58%32%109%105%99%107%97%101%108%46%99%111%110%100%101%64%115%105%101%109%101%110%115%46%99%111%109%0%33%-7%4%1%10%0%63%0%44%0%0%0%0%16%0%16%0%0%6%-111%-64%-97%112%72%44%18%35%-56%-92%50%57%124%-40%-98%-48%-88%13%50%108%-48%106%88%-102%-84%70%-21%-50%28%63%6%99%33%-114%1%-50%-24%23%-116%-15%83%64%21%-82%-106%60%-34%-118%43%126%-119%21%-117%-107%71%-93%83%42%9%63%7%28%27%27%7%38%39%40%-119%39%39%38%38%8%63%6%-109%-109%37%126%103%36%36%6%67%5%34%33%33%-98%35%-97%33%31%32%5%67%4%29%30%29%-105%0%27%29%4%67%3%26%26%25%-74%24%24%25%-72%24%3%67%2%21%23%22%-63%22%20%-59%20%22%2%67%1%19%18%-51%-52%-51%-48%1%67%-83%-44%70%-42%67%65%0%59%">
+ <eAnnotations xmi:id="_Iuno0EnGEd2n_LV02Saw8w" source="image_papyrus">
+ <details xmi:id="_IuzPAEnGEd2n_LV02Saw8w" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-f6TTxIEdyqfK4bFJstMQ" name="FunctionPrototype" isAbstract="true">
+ <ownedComment xmi:id="_ump-0JXfEd2iJ9_Y3as_2A" annotatedElement="_i-f6TTxIEdyqfK4bFJstMQ">
+ <body>FunctionPrototype represents a reference to the occurrence of a FunctionType when it acts as a part.
+
+The FunctionPrototype is typed by a FunctionType.
+
+FunctionTrigger in the Behavior package is associated to a FunctionPrototype.
+
+
+
+Semantics:
+The FunctionPrototype represents an occurrence of the FunctionType that types it.
+
+Notation:
+Shall be shown in the same style as the class specified as type, however it shall be clear that this is a part.
+
+Changes:
+Renamed from ADLFunctionPart
+
+Extension:
+To specialize SysML::BlockProperty, which extends Property</body>
+ </ownedComment>
+ <generalization xmi:id="_i-f6TjxIEdyqfK4bFJstMQ" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_WtrEYFQ1Ed6Xd4cXg8Jv5g" name="base_Property" isUnique="false" association="_WaRAMFQ1Ed6Xd4cXg8Jv5g">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_gIsNsDu8Ed2Uk5yJpdBhjQ" name="getIcon">
+ <ownedParameter xmi:id="_j5dwoDu8Ed2Uk5yJpdBhjQ" name="img" direction="return">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Image"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_oUJzQDu8Ed2Uk5yJpdBhjQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_oUWAgDu8Ed2Uk5yJpdBhjQ" value="1"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_oUiNwDu8Ed2Uk5yJpdBhjQ">
+ <value xsi:nil="true"/>
+ </defaultValue>
+ </ownedParameter>
+ </ownedOperation>
+ <icon xmi:id="_4lrbIE3-Ed2dg9i5Pl1S1Q" content="71%73%70%56%57%97%16%0%16%0%-91%0%0%20%30%100%24%34%104%29%39%109%33%43%113%38%48%118%42%52%122%47%57%127%51%61%-125%56%66%-120%60%70%-116%80%80%80%66%76%-111%67%76%-111%66%77%-111%67%77%-111%91%91%91%79%89%-101%80%89%-101%80%90%-101%105%105%105%92%102%-91%105%115%-81%119%119%119%118%127%-71%118%-128%-71%-122%-122%-122%-126%-116%-61%-125%-116%-61%-125%-115%-61%-108%-108%-108%-113%-103%-51%-112%-103%-51%-113%-102%-51%-112%-102%-51%-94%-94%-94%-106%-96%-46%-85%-85%-85%-80%-80%-80%-76%-76%-76%-32%-14%-1%-31%-14%-1%-24%-11%-1%-17%-8%-1%-11%-5%-1%-10%-5%-1%-3%-2%-1%-1%-1%-1%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%33%-2%51%69%65%83%84%45%65%68%76%32%112%114%111%106%101%99%116%10%65%117%116%104%111%114%32%58%32%109%105%99%107%97%101%108%46%99%111%110%100%101%64%115%105%101%109%101%110%115%46%99%111%109%0%33%-7%4%1%10%0%63%0%44%0%0%0%0%16%0%16%0%0%6%124%-64%-97%112%72%44%26%-121%-90%-92%-46%116%20%50%-119%79%-28%82%89%-6%69%-123%36%-105%118%-21%18%89%127%-119%-80%120%-36%106%117%-66%-120%-111%122%-83%70%-84%88%-103%-17%-31%19%-6%-128%64%30%-48%-25%-96%82%89%-110%63%6%27%28%27%-125%-125%26%6%41%41%19%67%5%23%24%24%-113%-112%24%5%40%39%15%67%4%21%-101%-100%-101%4%10%-96%67%3%20%-92%-91%-92%3%70%2%16%-85%-85%18%17%16%2%70%1%11%14%11%13%13%12%-74%1%70%0%-67%-66%-65%77%-63%69%65%0%59%">
+ <eAnnotations xmi:id="_51GboE3-Ed2dg9i5Pl1S1Q" source="image_papyrus">
+ <details xmi:id="_51ZWkE3-Ed2dg9i5Pl1S1Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-f6UzxIEdyqfK4bFJstMQ" name="FunctionPort" isAbstract="true">
+ <ownedComment xmi:id="_j_8e0JXfEd2iJ9_Y3as_2A" annotatedElement="_i-f6UzxIEdyqfK4bFJstMQ">
+ <body>The ports conserve variables for component interaction.</body>
+ </ownedComment>
+ <generalization xmi:id="_i-f6VDxIEdyqfK4bFJstMQ" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-f6XjxIEdyqfK4bFJstMQ" name="FunctionConnector">
+ <ownedComment xmi:id="_aFfA0JXfEd2iJ9_Y3as_2A" annotatedElement="_i-f6XjxIEdyqfK4bFJstMQ">
+ <body>The FunctionConnector indicates that the connected FunctionPorts exchange signals or client-server requests/responses.
+
+Semantics:
+The FunctionConnector connects a pair of FunctionFlowPorts or FunctionClientServerPorts. If two FunctionFlowPorts are connected, data elements of the type of the output FunctionFlowPort flow from the output FunctionFlowPort to the input FunctionFlowPort. If FunctionClientServerPorts are connected, the client calls the server according to the operations of the interfaces. The occurrence of the FunctionType that specifies the occurrence of the FunctionPrototype has to be identified by the FunctionConnector as well.
+The FunctionConnector is normally routed according to the hardware topology and the allocation of source and destination. If there are redundant paths, a FunctionAllocation may be used to prescribe allocation.
+
+
+Constraints:
+[1] Can connect two FunctionFlowPorts of different direction when this is an assembly FunctionConnector.
+
+[2] Can connect two FunctionFlowPorts of the same direction when this is a delegation FunctionConnector.
+
+[3] Can connect two ClientServerPorts of different kind when this is an assembly FunctionConnector.
+
+[4] Can connect two ClientServerPorts of the same kind when this is a delegation FunctionConnector.
+
+[5] Can connect two FunctionFlowPorts with direction inout.
+
+Notation: FunctionConnector is shown as a solid line
+
+Extension: UML Connector</body>
+ </ownedComment>
+ <generalization xmi:id="_i-f6XzxIEdyqfK4bFJstMQ" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <generalization xmi:id="_u55fcNdpEd6hwb99h1VVPA" general="_i-WLwzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_i-f6YzxIEdyqfK4bFJstMQ" name="port" visibility="public" type="_i-f6UzxIEdyqfK4bFJstMQ" isReadOnly="true" isDerived="true" association="_i-f6xzxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_fuWt0JXfEd2iJ9_Y3as_2A" annotatedElement="_i-f6YzxIEdyqfK4bFJstMQ">
+ <body>The ports that are connected by this connector.&#xD;
+{derived from UML::Connector::end}</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-f6ZTxIEdyqfK4bFJstMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-f6ZDxIEdyqfK4bFJstMQ" value="2"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Xwo7QkAREdyOzMGdsp2WEQ" name="base_Connector" isUnique="false" association="_Xwo7QEAREdyOzMGdsp2WEQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Connector"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_tedOIE33Ed-lBeOY4fJiaA" name="port1_path" type="_i-f6TTxIEdyqfK4bFJstMQ" isOrdered="true" association="_tKvA4E33Ed-lBeOY4fJiaA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_te2PsE33Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_te4E4E33Ed-lBeOY4fJiaA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_wGzwcE33Ed-lBeOY4fJiaA" name="port2_path" type="_i-f6TTxIEdyqfK4bFJstMQ" isOrdered="true" association="_v079UE33Ed-lBeOY4fJiaA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_wHP1UE33Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_wHRqgE33Ed-lBeOY4fJiaA" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-f6ZjxIEdyqfK4bFJstMQ" name="FunctionClientServerPort">
+ <ownedComment xmi:id="_T_eE0JXfEd2iJ9_Y3as_2A" annotatedElement="_i-f6ZjxIEdyqfK4bFJstMQ">
+ <body>The FunctionClientServerPort is a FunctionPort for client-server interaction. A number of FunctionClientServerPorts of clientServerType &quot;client&quot; can be connected to one FunctionClientServerPort of clientServerType &quot;server&quot;, i.e. when connected the multiplicity for the connection is n to 1 for client and server.
+
+Semantics:
+The FunctionClientServerPort is a FunctionPort for client-server interaction.
+
+FunctionClientServerPorts are single buffer overwrite and nonconsumable.
+
+Constraints:
+[1] A FunctionClientServerPort of clientServerType &quot;client&quot; can only be connected to one FunctionClientServerPort of clientServerType &quot;server&quot;.
+
+Extension: UML Port</body>
+ </ownedComment>
+ <generalization xmi:id="_nE-98E0jEd-2q5ZoAGcl8Q" general="_i-f6UzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_i-f6aDxIEdyqfK4bFJstMQ" name="type" visibility="public" type="_kjDxINodEdyQqcooNZBNQg" isReadOnly="true" isDerived="true" association="_i-f6yzxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_WUKrUJXfEd2iJ9_Y3as_2A" annotatedElement="_i-f6aDxIEdyqfK4bFJstMQ">
+ <body>The interface of this port.&#xD;
+&#xD;
+{derived from UML::TypedElement::type}</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_x6aGkGd7EdyZ-rSA5-bo-g" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_x6aGkWd7EdyZ-rSA5-bo-g" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_dCVE8LwJEd2XprnLhRJt1A" name="base_Port" isUnique="false" association="_c0BjMLwJEd2XprnLhRJt1A">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_RAJ_YE0kEd-2q5ZoAGcl8Q" name="clientServerType" type="_WBJ-sExhEd-SDeUiu9LLYg" isUnique="false"/>
+ <icon xmi:id="_axyJQE4bEd-ZaonW8j10xQ" content="71%73%70%56%57%97%16%0%16%0%-43%0%0%60%70%-116%80%80%80%93%93%93%101%101%101%109%109%109%118%118%118%126%126%126%-122%-122%-122%-113%-113%-113%-103%-103%-103%-97%-97%-97%-84%-84%-84%-78%-78%-78%-76%-76%-76%-32%-32%-32%-32%-31%-31%-31%-31%-30%-31%-30%-31%-30%-30%-30%-29%-30%-30%-29%-29%-29%-28%-29%-29%-28%-28%-28%-27%-27%-28%-24%-24%-24%-24%-23%-23%-22%-22%-22%-21%-21%-21%-21%-20%-20%-19%-20%-20%-20%-19%-20%-16%-16%-16%-16%-16%-15%-12%-12%-12%-11%-11%-11%-8%-7%-8%-8%-7%-7%-7%-7%-6%-6%-6%-6%-6%-6%-5%-5%-5%-5%-4%-4%-4%-3%-4%-4%-3%-3%-3%-1%-1%-1%101%0%101%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%33%-7%4%1%0%0%63%0%44%0%0%0%0%16%0%16%0%0%6%81%-64%-97%112%72%44%26%-113%-56%-92%50%-55%104%58%-97%-50%33%-125%-59%2%80%-81%-41%-59%80%81%-75%98%-77%-61%4%96%60%30%1%-52%-26%-60%-48%0%106%-69%-33%-96%-61%-112%0%-64%-44%-17%100%0%97%40%-72%-8%-1%126%99%23%3%67%1%14%-121%-120%-121%0%-121%1%-123%1%-113%-112%-111%-113%75%-108%-107%-106%63%65%0%59%">
+ <eAnnotations xmi:id="_chPUsE4bEd-ZaonW8j10xQ" source="image_papyrus">
+ <details xmi:id="_chZFsE4bEd-ZaonW8j10xQ" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_i-f6cTxIEdyqfK4bFJstMQ" name="A_ADLFunctionPrototype_PrecedenceConstraint" memberEnd="_i-f6cjxIEdyqfK4bFJstMQ _i-WLgzxIEdyqfK4bFJstMQ">
+ <ownedEnd xmi:id="_i-f6cjxIEdyqfK4bFJstMQ" name="PrecedenceConstraint" type="_i-WLgTxIEdyqfK4bFJstMQ" association="_i-f6cTxIEdyqfK4bFJstMQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-f6dDxIEdyqfK4bFJstMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-f6czxIEdyqfK4bFJstMQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_i-f6dTxIEdyqfK4bFJstMQ" name="A_ADLFunctionPrototype_PrecedenceConstraint" memberEnd="_i-f6djxIEdyqfK4bFJstMQ _i-WLhjxIEdyqfK4bFJstMQ">
+ <ownedEnd xmi:id="_i-f6djxIEdyqfK4bFJstMQ" name="PrecedenceConstraint" type="_i-WLgTxIEdyqfK4bFJstMQ" association="_i-f6dTxIEdyqfK4bFJstMQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-f6eDxIEdyqfK4bFJstMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-f6dzxIEdyqfK4bFJstMQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_i-f6pzxIEdyqfK4bFJstMQ" name="A_ADLPortGroup_ADLFlowPort" memberEnd="_i-f6qDxIEdyqfK4bFJstMQ _i-WQEDxIEdyqfK4bFJstMQ">
+ <ownedEnd xmi:id="_i-f6qDxIEdyqfK4bFJstMQ" name="ADLPortGroup" visibility="public" type="_i-WQDjxIEdyqfK4bFJstMQ" association="_i-f6pzxIEdyqfK4bFJstMQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-f6qjxIEdyqfK4bFJstMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-f6qTxIEdyqfK4bFJstMQ" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_i-f6wzxIEdyqfK4bFJstMQ" name="A_ADLFunctionType_ADLFlowPort" memberEnd="_i-f6xDxIEdyqfK4bFJstMQ _i-f6RDxIEdyqfK4bFJstMQ">
+ <ownedEnd xmi:id="_i-f6xDxIEdyqfK4bFJstMQ" name="ADLFunctionType" visibility="public" type="_i-f6JDxIEdyqfK4bFJstMQ" association="_i-f6wzxIEdyqfK4bFJstMQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-f6xjxIEdyqfK4bFJstMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-f6xTxIEdyqfK4bFJstMQ" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_i-f6xzxIEdyqfK4bFJstMQ" name="A_ADLFlowPort_ADLConnectorPrototype" memberEnd="_i-f6yDxIEdyqfK4bFJstMQ _i-f6YzxIEdyqfK4bFJstMQ">
+ <ownedEnd xmi:id="_i-f6yDxIEdyqfK4bFJstMQ" name="ADLConnectorPrototype" type="_i-f6XjxIEdyqfK4bFJstMQ" association="_i-f6xzxIEdyqfK4bFJstMQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-f6yjxIEdyqfK4bFJstMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-f6yTxIEdyqfK4bFJstMQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_Dvx1AEAREdyOzMGdsp2WEQ" name="Extension_ADLPortGroup" memberEnd="_DwEv8EAREdyOzMGdsp2WEQ _DwXq4EAREdyOzMGdsp2WEQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_DwEv8EAREdyOzMGdsp2WEQ" name="extension_ADLPortGroup" type="_i-WQDjxIEdyqfK4bFJstMQ" aggregation="composite" association="_Dvx1AEAREdyOzMGdsp2WEQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_Xwo7QEAREdyOzMGdsp2WEQ" name="Extension_ADLConnectorPrototype" memberEnd="_Xwo7QUAREdyOzMGdsp2WEQ _Xwo7QkAREdyOzMGdsp2WEQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_Xwo7QUAREdyOzMGdsp2WEQ" name="extension_ADLConnectorPrototype" type="_i-f6XjxIEdyqfK4bFJstMQ" aggregation="composite" association="_Xwo7QEAREdyOzMGdsp2WEQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_kjDxINodEdyQqcooNZBNQg" name="FunctionClientServerInterface">
+ <ownedComment xmi:id="_PpJk0JXfEd2iJ9_Y3as_2A" annotatedElement="_kjDxINodEdyQqcooNZBNQg">
+ <body>The FunctionClientServerInterface is used to specify the operations in FunctionClientServerPorts.
+
+Semantics:
+The operations of the FunctionClientServerInterface are required or provided through the FunctionClientServerPorts typed by the FunctionClientServerInterface.
+
+Extension: UML Interface</body>
+ </ownedComment>
+ <generalization xmi:id="_J69cEE3ZEd-eluvub9wzww" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_yWu8YNodEdyQqcooNZBNQg" name="base_Interface" isUnique="false" association="_yJLBgNodEdyQqcooNZBNQg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Interface"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_rPlrQE0lEd-2q5ZoAGcl8Q" name="operation" type="_g62sEE0lEd-2q5ZoAGcl8Q" isReadOnly="true" isDerived="true" association="_rAEokE0lEd-2q5ZoAGcl8Q">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rQH2wE0lEd-2q5ZoAGcl8Q"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rQMIME0lEd-2q5ZoAGcl8Q" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_yJLBgNodEdyQqcooNZBNQg" name="Extension_ADLClientServerInterface" memberEnd="_yWcBcNodEdyQqcooNZBNQg _yWu8YNodEdyQqcooNZBNQg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_yWcBcNodEdyQqcooNZBNQg" name="extension_ADLClientServerInterface" type="_kjDxINodEdyQqcooNZBNQg" aggregation="composite" association="_yJLBgNodEdyQqcooNZBNQg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_kNvs0No7EdyZhJLkuCfQrA" name="Association_ADLFunctionType_ADLPortGroup" memberEnd="_kpmiYNo7EdyZhJLkuCfQrA _kr1-ENo7EdyZhJLkuCfQrA">
+ <ownedEnd xmi:id="_kr1-ENo7EdyZhJLkuCfQrA" name="aDLFunctionType" type="_i-f6JDxIEdyqfK4bFJstMQ" isUnique="false" association="_kNvs0No7EdyZhJLkuCfQrA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ksbz8do7EdyZhJLkuCfQrA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ksbz8No7EdyZhJLkuCfQrA" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_i-f6yzxIEdyqfK4bFJstMQ" name="Association_ADLClientServerInterface_ADLClientServerPort" memberEnd="_i-f6zDxIEdyqfK4bFJstMQ _i-f6aDxIEdyqfK4bFJstMQ">
+ <ownedEnd xmi:id="_i-f6zDxIEdyqfK4bFJstMQ" name="ADLClientServerPort" type="_i-f6ZjxIEdyqfK4bFJstMQ" association="_i-f6yzxIEdyqfK4bFJstMQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-f6zjxIEdyqfK4bFJstMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-f6zTxIEdyqfK4bFJstMQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_pryJAH2xEd2HmrdXFjmJnw" name="Extension_ADLPortGroup" memberEnd="_qTuSwH2xEd2HmrdXFjmJnw _qUw0kH2xEd2HmrdXFjmJnw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_qTuSwH2xEd2HmrdXFjmJnw" name="extension_ADLPortGroup" type="_i-WQDjxIEdyqfK4bFJstMQ" aggregation="composite" association="_pryJAH2xEd2HmrdXFjmJnw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_c0BjMLwJEd2XprnLhRJt1A" name="Extension_ADLClientServerPort" memberEnd="_dBR8ELwJEd2XprnLhRJt1A _dCVE8LwJEd2XprnLhRJt1A">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_dBR8ELwJEd2XprnLhRJt1A" name="extension_ADLClientServerPort" type="_i-f6ZjxIEdyqfK4bFJstMQ" aggregation="composite" association="_c0BjMLwJEd2XprnLhRJt1A"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_WaRAMFQ1Ed6Xd4cXg8Jv5g" name="Extension_ADLFunctionPrototype" memberEnd="_Ws2lAFQ1Ed6Xd4cXg8Jv5g _WtrEYFQ1Ed6Xd4cXg8Jv5g">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_Ws2lAFQ1Ed6Xd4cXg8Jv5g" name="extension_ADLFunctionPrototype" type="_i-f6TTxIEdyqfK4bFJstMQ" aggregation="composite" association="_WaRAMFQ1Ed6Xd4cXg8Jv5g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_L1YHMExhEd-SDeUiu9LLYg" name="EADirectionKind">
+ <ownedComment xmi:id="_R93IYExhEd-SDeUiu9LLYg" annotatedElement="_L1YHMExhEd-SDeUiu9LLYg">
+ <body>This element is an enumeration for the direction of a Port, which can either be &quot;in&quot;, &quot;out&quot;, or &quot;inout&quot;.
+
+Semantics:
+The EADirectionKind is an enumeration with the three literals &quot;in&quot;, &quot;out&quot;, and &quot;inout&quot;.
+
+Extension:
+Enumeration, no extension.</body>
+ </ownedComment>
+ <ownedLiteral xmi:id="_NoXHwExhEd-SDeUiu9LLYg" name="in"/>
+ <ownedLiteral xmi:id="_OVCnkExhEd-SDeUiu9LLYg" name="out"/>
+ <ownedLiteral xmi:id="_PSsioExhEd-SDeUiu9LLYg" name="inout"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_WBJ-sExhEd-SDeUiu9LLYg" name="ClientServerKind">
+ <ownedComment xmi:id="_b30QEExhEd-SDeUiu9LLYg" annotatedElement="_WBJ-sExhEd-SDeUiu9LLYg">
+ <body>This element is an enumeration for the kind of the FunctionClientServerPort, which can either be a &quot;client&quot; or a &quot;server&quot;.
+
+Semantics:
+The ClientServerKind is an enumeration with the two literals &quot;client&quot; and &quot;server&quot;.
+
+Extension:
+Enumeration, no extension.</body>
+ </ownedComment>
+ <ownedLiteral xmi:id="_YlLaoExhEd-SDeUiu9LLYg" name="client"/>
+ <ownedLiteral xmi:id="_Z5eUEExhEd-SDeUiu9LLYg" name="server"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_io6uME0WEd-bZ5L3ZgEOlA" name="A_FunctionType_FunctionConnector" memberEnd="_i1M2sE0WEd-bZ5L3ZgEOlA _i21OYE0WEd-bZ5L3ZgEOlA">
+ <ownedEnd xmi:id="_i21OYE0WEd-bZ5L3ZgEOlA" name="functionType" type="_i-f6JDxIEdyqfK4bFJstMQ" isUnique="false" association="_io6uME0WEd-bZ5L3ZgEOlA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i3Wy0E0WEd-bZ5L3ZgEOlA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i3U9oE0WEd-bZ5L3ZgEOlA" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_NA6ZEE0YEd-bZ5L3ZgEOlA" name="A_PortGroup_PortGroup" memberEnd="_NFrkUE0YEd-bZ5L3ZgEOlA _NHgwUE0YEd-bZ5L3ZgEOlA">
+ <ownedEnd xmi:id="_NHgwUE0YEd-bZ5L3ZgEOlA" name="portGroup" type="_i-WQDjxIEdyqfK4bFJstMQ" isUnique="false" association="_NA6ZEE0YEd-bZ5L3ZgEOlA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_NH8OIE0YEd-bZ5L3ZgEOlA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_NH6Y8E0YEd-bZ5L3ZgEOlA" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_Y-pWYE0YEd-bZ5L3ZgEOlA" name="DesignFunctionType">
+ <ownedComment xmi:id="_EqEYAE0aEd-bZ5L3ZgEOlA" annotatedElement="_Y-pWYE0YEd-bZ5L3ZgEOlA">
+ <body>The DesignFunctionType is a concrete FunctionType and therefore inherits the elementary function properties from the abstract metaclass FunctionType. The DesignFunctionType is used to model the functional structure on DesignLevel. The syntax of DesignFunctionTypes is inspired from the type-prototype pattern used by AUTOSAR.
+
+The DesignFunctions may interact with other DesignFunctions (i.e., also BasicSoftwareFunctions, HardwareFunctions, and LocalDeviceManager) through their FunctionPorts.
+
+Furthermore, a DesignFunction may be decomposed into (sub-)DesignFunctions. This allows breaking up hierarchically the functionalities provided by the parent DesignFunction into subfunctionalities.
+
+Execution time constraints on the DesignFunctionType can be expressed by ExecutionTimeConstraints, see the Timing package.
+
+If two or more occurrences of an elementary Function are allocated on the same ECU, the code will be placed on the ECU only once (so these occurrences will use the same code but separate memory areas for data).
+
+
+Semantics:
+The DesignFunctionType represents a node in a tree structure corresponding to the functional decomposition of a top level DesignFunction. The DesignFunction is representing the design function used to describe the functionalities provided by a vehicle on the DesignLevel. At the DesignLevel, DesignFunctions are defined and structured according to the functional and hardware system design.
+
+Constraints:
+[1] DesignFunctionTypes may only be used on DesignLevel.
+
+
+
+Extension: UML Class, specialization of SysML::Block</body>
+ </ownedComment>
+ <generalization xmi:id="_8KgXcE0pEd-2q5ZoAGcl8Q" general="_i-f6JDxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_bgGpsE0cEd-bZ5L3ZgEOlA" name="part" type="_TGIuEE0cEd-bZ5L3ZgEOlA" isReadOnly="true" isDerived="true" association="_baKZwE0cEd-bZ5L3ZgEOlA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bgd2EE0cEd-bZ5L3ZgEOlA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bggSUE0cEd-bZ5L3ZgEOlA" value="*"/>
+ </ownedAttribute>
+ <icon xmi:id="_upg1oE0_Ed-1tIv1CP9QOw" content="71%73%70%56%57%97%16%0%16%0%-43%0%0%20%30%100%22%32%102%23%33%103%25%35%105%26%36%106%28%38%108%29%39%109%30%40%110%32%42%112%35%45%115%37%47%117%38%48%118%41%51%121%43%53%123%44%54%124%47%57%127%50%60%-126%53%63%-123%56%66%-120%57%67%-119%59%69%-117%60%70%-116%80%80%80%-106%-96%-46%-34%-15%-1%-33%-15%-1%-33%-14%-1%-30%-14%-1%-31%-13%-1%-30%-13%-1%-27%-13%-1%-27%-12%-1%-24%-11%-1%-21%-10%-1%-20%-10%-1%-20%-9%-1%-18%-8%-1%-17%-8%-1%-15%-7%-1%-14%-7%-1%-15%-6%-1%-14%-6%-1%-12%-6%-1%-11%-6%-1%-12%-5%-1%-11%-5%-1%-8%-4%-1%-5%-3%-1%-2%-2%-1%-1%-2%-1%-2%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%33%-7%4%1%0%0%63%0%44%0%0%0%0%16%0%16%0%0%6%-107%-64%-97%112%72%44%14%41%-107%-92%114%-87%20%74%102%-48%-88%20%58%-7%69%-82%-79%-40%76%-42%2%120%91%45%88%-60%2%121%65%44%22%112%23%12%104%-103%127%-113%-72%107%-18%90%-81%93%15%-95%-93%-75%82%-87%-37%107%44%14%66%12%39%39%41%39%40%38%94%109%39%38%12%66%11%37%36%-109%36%-106%-106%-107%11%63%9%-100%34%33%33%35%76%19%34%9%22%8%32%8%104%104%15%23%-83%23%13%-88%63%5%-77%31%31%30%31%8%-82%23%7%31%6%66%3%27%29%-62%29%-116%-116%28%4%66%1%26%24%25%25%26%26%-50%25%24%-53%2%66%-59%-41%-41%70%-38%67%65%0%59%">
+ <eAnnotations xmi:id="_upg1oU0_Ed-1tIv1CP9QOw" source="image_papyrus">
+ <details xmi:id="_upg1ok0_Ed-1tIv1CP9QOw" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ <icon xmi:id="_upj48E0_Ed-1tIv1CP9QOw" content="71%73%70%56%57%97%16%0%16%0%-43%0%0%20%30%100%23%33%103%26%36%106%29%39%109%32%42%112%35%45%115%38%48%118%41%51%121%42%52%122%45%55%125%48%58%-128%50%60%-126%51%61%-125%53%63%-123%54%64%-122%56%66%-120%57%67%-119%60%70%-116%-34%-15%-1%-33%-15%-1%-31%-14%-1%-30%-14%-1%-31%-13%-1%-30%-13%-1%-28%-13%-1%-28%-12%-1%-27%-12%-1%-25%-12%-1%-26%-11%-1%-25%-11%-1%-24%-11%-1%-22%-11%-1%-23%-10%-1%-22%-10%-1%-21%-10%-1%-22%-9%-1%-19%-9%-1%-19%-8%-1%-16%-8%-1%-16%-7%-1%-15%-7%-1%-13%-7%-1%-13%-6%-1%-12%-6%-1%-11%-6%-1%-10%-5%-1%-10%-4%-1%-7%-4%-1%-7%-3%-1%-6%-3%-1%-4%-3%-1%-5%-2%-1%-4%-2%-1%-3%-2%-1%-1%-1%-1%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%33%-7%4%1%0%0%63%0%44%0%0%0%0%16%0%16%0%0%6%-110%-64%-97%112%72%44%18%35%-56%-92%50%57%124%-40%-98%-48%-88%13%50%108%-48%106%88%-102%-84%70%-21%-50%28%63%6%99%33%-114%1%-50%-24%23%-116%-15%83%64%21%-82%-106%60%-34%-118%43%126%-119%21%-117%-107%71%-93%83%42%9%63%7%28%27%27%7%38%39%40%-119%39%39%38%38%8%63%6%-109%-109%37%103%44%104%36%36%6%67%5%34%33%33%-97%35%0%-96%0%32%5%67%4%29%30%29%-105%-92%33%0%29%4%67%3%26%26%25%-72%24%-81%0%24%3%67%2%21%23%22%-62%22%104%29%22%2%67%1%19%18%-51%-52%-51%-48%1%67%126%-44%126%70%-41%67%65%0%59%">
+ <eAnnotations xmi:id="_upj48U0_Ed-1tIv1CP9QOw" source="image_papyrus">
+ <details xmi:id="_upj48k0_Ed-1tIv1CP9QOw" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_eaRRkE0YEd-bZ5L3ZgEOlA" name="AnalysisFunctionType">
+ <ownedComment xmi:id="_jwkn4E0YEd-bZ5L3ZgEOlA" annotatedElement="_eaRRkE0YEd-bZ5L3ZgEOlA">
+ <body>The AnalysisFunctionType is a concrete FunctionType and therefore inherits the elementary function properties from the abstract metaclass FunctionType. The AnalysisFunctionType is used to model the functional structure on AnalysisLevel. The syntax of AnalysisFunctionTypes is inspired from the type-prototype pattern used by AUTOSAR.
+
+The AnalysisFunctions may interact with other AnalysisFunctions (i.e., also FunctionalDevices) through their FunctionPorts.
+
+Furthermore, an AnalysisFunction may be decomposed into (sub-)AnalysisFunctions. This allows breaking up hierarchically the functionalities provided by the parent AnalysisFunction into subfunctionalities.
+
+A FunctionBehavior may be associated with each AnalysisFunction. In the case where the AnalysisFunction is decomposed, the behavior is a specification for the composed behavior of the subAnalysisFunction. If the AnalysisFunction is not decomposed (i.e., if the AnalysisFunction is elementary), then the behavior is describing the behavior of the subAnalysisFunction, which is to be used when building the global behavior of the FunctionalAnalysisArchitecture by composition of the leaf behaviors.
+
+
+Semantics:
+The AnalysisFunctionType represents a node in a tree structure corresponding to the functional decomposition of a top level AnalysisFunction. The AnalysisFunction is representing the analysis function used to describe the functionalities provided by a vehicle on the AnalysisLevel. At the AnalysisLevel, AnalysisFunctions are defined and structured according to the functional requirements, i.e., the functionalities provided to the user.
+
+Constraints:
+[1] AnalysisFunctionTypes may only be used on AnalysisLevel.
+
+
+Extension: UML Class, specialization of SysML::Block</body>
+ </ownedComment>
+ <generalization xmi:id="_hsMVUE0YEd-bZ5L3ZgEOlA" general="_i-f6JDxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_T8RhUE0bEd-bZ5L3ZgEOlA" name="part" type="_yptUcE0aEd-bZ5L3ZgEOlA" isReadOnly="true" isDerived="true" association="_T2ykYE0bEd-bZ5L3ZgEOlA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_T8lqYE0bEd-bZ5L3ZgEOlA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_T8nfkE0bEd-bZ5L3ZgEOlA" value="*"/>
+ </ownedAttribute>
+ <icon xmi:id="_vIjiEE0_Ed-1tIv1CP9QOw" content="71%73%70%56%57%97%16%0%16%0%-43%0%0%20%30%100%22%32%102%23%33%103%25%35%105%26%36%106%28%38%108%29%39%109%30%40%110%32%42%112%35%45%115%37%47%117%38%48%118%41%51%121%43%53%123%44%54%124%47%57%127%50%60%-126%53%63%-123%56%66%-120%57%67%-119%59%69%-117%60%70%-116%80%80%80%-106%-96%-46%-34%-15%-1%-33%-15%-1%-33%-14%-1%-30%-14%-1%-31%-13%-1%-30%-13%-1%-27%-13%-1%-27%-12%-1%-24%-11%-1%-21%-10%-1%-20%-10%-1%-20%-9%-1%-18%-8%-1%-17%-8%-1%-15%-7%-1%-14%-7%-1%-15%-6%-1%-14%-6%-1%-12%-6%-1%-11%-6%-1%-12%-5%-1%-11%-5%-1%-8%-4%-1%-5%-3%-1%-2%-2%-1%-1%-2%-1%-2%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%33%-7%4%1%0%0%63%0%44%0%0%0%0%16%0%16%0%0%6%-107%-64%-97%112%72%44%14%41%-107%-92%114%-87%20%74%102%-48%-88%20%58%-7%69%-82%-79%-40%76%-42%106%1%0%93%88%-60%2%121%65%44%-106%-82%-73%11%54%-1%30%112%-105%-36%-75%94%-69%30%66%71%107%-91%82%127%-65%45%44%14%66%12%39%39%41%39%40%38%0%-122%-116%38%12%66%11%37%36%-109%36%-106%-106%-107%11%63%9%-100%34%33%33%35%76%19%34%9%22%8%32%8%104%104%15%23%-83%23%13%-88%63%5%-77%31%31%30%31%8%-82%23%7%31%6%66%3%27%29%-62%29%127%127%28%4%66%1%26%24%25%25%26%26%-50%25%24%-53%2%66%-59%-41%-41%70%-38%67%65%0%59%">
+ <eAnnotations xmi:id="_vIjiEU0_Ed-1tIv1CP9QOw" source="image_papyrus">
+ <details xmi:id="_vIjiEk0_Ed-1tIv1CP9QOw" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ <icon xmi:id="_vIkJIE0_Ed-1tIv1CP9QOw" content="71%73%70%56%57%97%16%0%16%0%-43%0%0%20%30%100%23%33%103%26%36%106%29%39%109%32%42%112%35%45%115%38%48%118%41%51%121%42%52%122%45%55%125%48%58%-128%50%60%-126%51%61%-125%53%63%-123%54%64%-122%56%66%-120%57%67%-119%60%70%-116%-34%-15%-1%-33%-15%-1%-31%-14%-1%-30%-14%-1%-31%-13%-1%-30%-13%-1%-28%-13%-1%-28%-12%-1%-27%-12%-1%-25%-12%-1%-26%-11%-1%-25%-11%-1%-24%-11%-1%-22%-11%-1%-23%-10%-1%-22%-10%-1%-21%-10%-1%-22%-9%-1%-19%-9%-1%-19%-8%-1%-16%-8%-1%-16%-7%-1%-15%-7%-1%-13%-7%-1%-13%-6%-1%-12%-6%-1%-11%-6%-1%-10%-5%-1%-10%-4%-1%-7%-4%-1%-7%-3%-1%-6%-3%-1%-4%-3%-1%-5%-2%-1%-4%-2%-1%-3%-2%-1%-1%-1%-1%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%33%-7%4%1%0%0%63%0%44%0%0%0%0%16%0%16%0%0%6%-109%-64%-97%112%72%44%18%35%-56%-92%50%57%124%-40%-98%-48%-88%13%50%108%-48%106%88%-102%-84%70%-21%-50%28%63%6%99%33%-114%1%-50%-24%23%-116%-15%83%64%21%-82%-106%60%-34%-118%43%126%-119%21%-117%-107%71%-93%83%42%9%63%7%28%27%27%7%38%39%40%-119%39%39%38%38%8%63%6%-109%-109%37%103%123%103%36%36%6%67%5%34%33%33%-97%35%0%79%0%32%5%67%4%29%30%29%-105%0%66%0%29%4%67%3%26%26%25%-72%24%126%24%3%67%2%21%23%22%-63%22%0%20%20%0%22%2%67%1%19%18%-50%-51%-50%-47%1%67%126%-43%126%70%-40%67%65%0%59%">
+ <eAnnotations xmi:id="_vIkJIU0_Ed-1tIv1CP9QOw" source="image_papyrus">
+ <details xmi:id="_vIkJIk0_Ed-1tIv1CP9QOw" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_V-jXkE0aEd-bZ5L3ZgEOlA" name="BasicSoftwareFunctionType">
+ <ownedComment xmi:id="_bwVwAE0aEd-bZ5L3ZgEOlA" annotatedElement="_V-jXkE0aEd-bZ5L3ZgEOlA">
+ <body>The BasicSoftwareFunctionType is an abstraction of middleware functionality.
+
+Semantics:
+The BasicSoftwareFunctionType is an abstraction of the middleware.
+
+Extension:
+UML Class, specialization of SysML::Block</body>
+ </ownedComment>
+ <generalization xmi:id="_Zb_HwE0aEd-bZ5L3ZgEOlA" general="_Y-pWYE0YEd-bZ5L3ZgEOlA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_f8KQME0aEd-bZ5L3ZgEOlA" name="HardwareFunctionType">
+ <ownedComment xmi:id="_32e7UE0aEd-bZ5L3ZgEOlA" annotatedElement="_f8KQME0aEd-bZ5L3ZgEOlA">
+ <body>The HardwareFunctionType is the transfer function for the identified HardwareComponentType or a specification of an intended transfer function. HardwareFunctionType types DesignFunctionPrototypes in the FunctionalDesignArchitecture. The DesignFunctionPrototype is typically the end of the ClampConnector on DesignLevel.
+
+Prototypes typed by HardwareComponentType may be allocated to HardwareComponents in which case the HardwareFunctionType must match the HardwareFunctionType of the target HardwareComponent.
+
+DesignFunctionPrototypes typed by HardwareFunctionType may be allocated to HardwareComponents in which case the HardwareFunctionType must match the HardwareFunctionType of the target HardwareComponent.
+
+Constraints:
+[1] A DesignFunctionPrototype typed by a HardwareFunctionType shall be connected to the EnvironmentModel via ClampConnectors and to BSWFunctions via FunctionConnectors.
+
+Semantics:
+The HardwareFunctionHardwareFunctionType is the transfer function for hardware components such as sensors, actuators, amplifiers, etc or a specification of an intended transfer function.
+
+HardwareFunctions can be allocated to Sensors or Actuators, i.e. the interfacing element to the plant model.
+
+
+Extension:
+UML Class, specialization of SysML::Block</body>
+ </ownedComment>
+ <generalization xmi:id="_jPTb8E0aEd-bZ5L3ZgEOlA" general="_Y-pWYE0YEd-bZ5L3ZgEOlA"/>
+ <ownedAttribute xmi:id="_sXg9oE0aEd-bZ5L3ZgEOlA" name="hardwareComponent" type="_4NgjAHJVEdyx6oOkwavytg" isUnique="false" association="_sIGooE0aEd-bZ5L3ZgEOlA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_sXz4kE0aEd-bZ5L3ZgEOlA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_sX2U0E0aEd-bZ5L3ZgEOlA" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_sIGooE0aEd-bZ5L3ZgEOlA" name="A_HardwareFunctionType_HardwareComponentType" memberEnd="_sXg9oE0aEd-bZ5L3ZgEOlA _sX9pkE0aEd-bZ5L3ZgEOlA">
+ <ownedEnd xmi:id="_sX9pkE0aEd-bZ5L3ZgEOlA" name="hardwareFunctionType" type="_f8KQME0aEd-bZ5L3ZgEOlA" isUnique="false" association="_sIGooE0aEd-bZ5L3ZgEOlA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_sYcxwE0aEd-bZ5L3ZgEOlA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_sYaVgE0aEd-bZ5L3ZgEOlA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_yptUcE0aEd-bZ5L3ZgEOlA" name="AnalysisFunctionPrototype">
+ <ownedComment xmi:id="_7Mi4ME0aEd-bZ5L3ZgEOlA" annotatedElement="_yptUcE0aEd-bZ5L3ZgEOlA">
+ <body>The AnalysisFunctionPrototype represents references to the occurrence of the AnalysisFunctionType that types it when it acts as a part.
+
+The AnalysisFunctionPrototype is typed by an AnalysisFunctionType.
+
+
+Semantics:
+The AnalysisFunctionPrototype represents an occurrence of the AnalysisFunctionType that types it.
+
+
+Extension:
+UML Property, specialization of SysML::BlockProperty</body>
+ </ownedComment>
+ <generalization xmi:id="_9wsP8E0aEd-bZ5L3ZgEOlA" general="_i-f6TTxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_feiDkE0bEd-bZ5L3ZgEOlA" name="type" type="_eaRRkE0YEd-bZ5L3ZgEOlA" isUnique="false" isReadOnly="true" isDerived="true" association="_fXtp4E0bEd-bZ5L3ZgEOlA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fe7sME0bEd-bZ5L3ZgEOlA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fe-IcE0bEd-bZ5L3ZgEOlA" value="1"/>
+ </ownedAttribute>
+ <icon xmi:id="_NYq_sE1CEd-1tIv1CP9QOw" content="71%73%70%56%57%97%16%0%16%0%-43%0%0%20%30%100%24%34%104%29%39%109%33%43%113%38%48%118%42%52%122%47%57%127%51%61%-125%56%66%-120%60%70%-116%80%80%80%66%76%-111%67%76%-111%66%77%-111%67%77%-111%91%91%91%79%89%-101%80%89%-101%80%90%-101%105%105%105%92%102%-91%105%115%-81%119%119%119%118%127%-71%118%-128%-71%-122%-122%-122%-126%-116%-61%-125%-116%-61%-125%-115%-61%-108%-108%-108%-113%-103%-51%-112%-103%-51%-113%-102%-51%-112%-102%-51%-94%-94%-94%-106%-96%-46%-85%-85%-85%-80%-80%-80%-76%-76%-76%-32%-14%-1%-31%-14%-1%-24%-11%-1%-17%-8%-1%-11%-5%-1%-10%-5%-1%-3%-2%-1%-1%-1%-1%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%33%-7%4%1%0%0%63%0%44%0%0%0%0%16%0%16%0%0%6%-126%-64%-97%112%72%44%26%-121%-90%-92%-46%116%20%50%-119%79%-28%82%89%-6%69%-123%36%-105%118%-21%18%89%127%-119%-80%120%-36%106%117%-66%-120%-111%122%-83%70%-84%88%-103%-17%-31%19%-6%-128%64%30%-48%-25%-96%82%89%-110%63%6%27%28%27%101%-125%26%6%41%41%19%67%5%23%24%45%-113%45%24%24%5%40%39%15%67%4%21%21%45%-100%-98%21%4%10%-93%67%3%20%20%46%101%45%-89%3%70%2%16%16%45%-80%45%17%16%2%70%1%11%14%11%13%13%12%-68%1%70%0%-61%-60%-59%77%-57%69%65%0%59%">
+ <eAnnotations xmi:id="_NYq_sU1CEd-1tIv1CP9QOw" source="image_papyrus">
+ <details xmi:id="_NYq_sk1CEd-1tIv1CP9QOw" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_T2ykYE0bEd-bZ5L3ZgEOlA" name="A_AnalysisFunctionType_AnalysisFunctionPrototype" memberEnd="_T8RhUE0bEd-bZ5L3ZgEOlA _T8pUwE0bEd-bZ5L3ZgEOlA">
+ <ownedEnd xmi:id="_T8pUwE0bEd-bZ5L3ZgEOlA" name="analysisFunctionType" type="_eaRRkE0YEd-bZ5L3ZgEOlA" isUnique="false" association="_T2ykYE0bEd-bZ5L3ZgEOlA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_T9K5ME0bEd-bZ5L3ZgEOlA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_T9JEAE0bEd-bZ5L3ZgEOlA" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_fXtp4E0bEd-bZ5L3ZgEOlA" name="A_AnalysisFunctionPrototype_AnalysisFunctionType" memberEnd="_feiDkE0bEd-bZ5L3ZgEOlA _fe_9oE0bEd-bZ5L3ZgEOlA">
+ <ownedEnd xmi:id="_fe_9oE0bEd-bZ5L3ZgEOlA" name="analysisFunctionPrototype" type="_yptUcE0aEd-bZ5L3ZgEOlA" isUnique="false" association="_fXtp4E0bEd-bZ5L3ZgEOlA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ffcpkE0bEd-bZ5L3ZgEOlA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ffa0YE0bEd-bZ5L3ZgEOlA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_TGIuEE0cEd-bZ5L3ZgEOlA" name="DesignFunctionPrototype">
+ <ownedComment xmi:id="_XFeRcE0cEd-bZ5L3ZgEOlA" annotatedElement="_TGIuEE0cEd-bZ5L3ZgEOlA">
+ <body>The DesignFunctionPrototype represents references to the occurrence of the DesignFunctionType that types it when it acts as a part.
+The DesignFunctionPrototype is typed by a DesignFunctionType .
+
+Semantics:
+The DesignFunctionPrototype represents an occurrence of the DesignFunctionType that types it.
+
+Extension:
+UML Property, specialization of SysML::BlockProperty</body>
+ </ownedComment>
+ <generalization xmi:id="_YnT3oE0cEd-bZ5L3ZgEOlA" general="_i-f6TTxIEdyqfK4bFJstMQ"/>
+ <generalization xmi:id="_K1JLcE0gEd-upcklZdNpWw" general="_i-WLwzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_o5SRUE0cEd-bZ5L3ZgEOlA" name="type" type="_Y-pWYE0YEd-bZ5L3ZgEOlA" isUnique="false" isReadOnly="true" isDerived="true" association="_ozB4UE0cEd-bZ5L3ZgEOlA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_qMe3ME0fEd-upcklZdNpWw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_qMkWwE0fEd-upcklZdNpWw" value="1"/>
+ </ownedAttribute>
+ <icon xmi:id="_QD4BsE1CEd-1tIv1CP9QOw" content="71%73%70%56%57%97%16%0%16%0%-43%0%0%20%30%100%24%34%104%29%39%109%33%43%113%38%48%118%42%52%122%47%57%127%51%61%-125%56%66%-120%60%70%-116%80%80%80%66%76%-111%67%76%-111%66%77%-111%67%77%-111%91%91%91%79%89%-101%80%89%-101%80%90%-101%105%105%105%92%102%-91%105%115%-81%119%119%119%118%127%-71%118%-128%-71%-122%-122%-122%-126%-116%-61%-125%-116%-61%-125%-115%-61%-108%-108%-108%-113%-103%-51%-112%-103%-51%-113%-102%-51%-112%-102%-51%-94%-94%-94%-106%-96%-46%-85%-85%-85%-80%-80%-80%-76%-76%-76%-32%-14%-1%-31%-14%-1%-24%-11%-1%-17%-8%-1%-11%-5%-1%-10%-5%-1%-3%-2%-1%-1%-1%-1%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%20%30%100%33%-7%4%1%0%0%63%0%44%0%0%0%0%16%0%16%0%0%6%-128%-64%-97%112%72%44%26%-121%-90%-92%-46%116%20%50%-119%79%-28%82%89%-6%69%-123%36%-105%118%-21%18%89%127%-119%-80%120%-36%106%117%-66%-120%-111%122%-83%70%-84%88%-103%-17%-31%19%-6%-128%64%30%-48%-25%-96%82%89%-110%63%6%27%28%101%45%-125%26%6%41%41%19%67%5%23%24%45%-113%45%24%24%5%40%39%15%67%4%21%21%45%-100%-98%21%4%10%-93%67%3%20%20%46%-97%-89%3%70%2%16%16%-123%17%17%16%2%70%1%11%14%11%13%13%12%-70%1%70%0%-63%-62%-61%77%-59%69%65%0%59%">
+ <eAnnotations xmi:id="_QD4BsU1CEd-1tIv1CP9QOw" source="image_papyrus">
+ <details xmi:id="_QD4Bsk1CEd-1tIv1CP9QOw" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_baKZwE0cEd-bZ5L3ZgEOlA" name="A_DesignFunctionType_DesignFunctionPrototype" memberEnd="_bgGpsE0cEd-bZ5L3ZgEOlA _bgiHgE0cEd-bZ5L3ZgEOlA">
+ <ownedEnd xmi:id="_bgiHgE0cEd-bZ5L3ZgEOlA" name="designFunctionType" type="_Y-pWYE0YEd-bZ5L3ZgEOlA" isUnique="false" association="_baKZwE0cEd-bZ5L3ZgEOlA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bhAooE0cEd-bZ5L3ZgEOlA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bg-zcE0cEd-bZ5L3ZgEOlA" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_ozB4UE0cEd-bZ5L3ZgEOlA" name="A_DesignFunctionPrototype_DesignFunctionType" memberEnd="_o5SRUE0cEd-bZ5L3ZgEOlA _o5pdsE0cEd-bZ5L3ZgEOlA">
+ <ownedEnd xmi:id="_o5pdsE0cEd-bZ5L3ZgEOlA" name="designFunctionPrototype" type="_TGIuEE0cEd-bZ5L3ZgEOlA" isUnique="false" association="_ozB4UE0cEd-bZ5L3ZgEOlA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_o6LCIE0cEd-bZ5L3ZgEOlA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_o6JM8E0cEd-bZ5L3ZgEOlA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WLwzxIEdyqfK4bFJstMQ" name="AllocateableElement" isAbstract="true">
+ <ownedComment xmi:id="_5y6NIJXlEd2iJ9_Y3as_2A" annotatedElement="_i-WLwzxIEdyqfK4bFJstMQ">
+ <body>The AllocateableElement is an abstract superclass for elements that are allocateable.
+
+Semantics:
+The AllocateableElement abstracts all elements that are allocateable.
+Subclasses of the abstract class AllocateableElement add their own semantics.
+
+Extension: abstract, no extension</body>
+ </ownedComment>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WLuDxIEdyqfK4bFJstMQ" name="FunctionAllocation">
+ <ownedComment xmi:id="_73WxIJXlEd2iJ9_Y3as_2A" annotatedElement="_i-WLuDxIEdyqfK4bFJstMQ">
+ <body>FunctionAllocation represents an allocation constraint binding an AllocateableElement on an AllocationTarget.
+
+The same constraint could be expressed in a textual design constraint.
+
+Semantics:
+AllocationTarget is specialized by HardwareComponentPrototype in the HardwareModeling package and AllocateableElement is specialized by the concrete elements DesignFunctionPrototype and FunctionConnector in the FunctionModeling package.
+
+Notation:
+A FunctionAllocation is shown as a dependency (dashed line) with an &quot;allocation&quot; keyword attached to it.
+
+
+Extension: Class, specializesDesignConstraint
+target to AUTOSAR::ECUResourceTemplate::ECU
+allocatedAutosarComponent to AUTOSAR::Components::ClientPort
+
+ToDo:
+Cf. AUTOSAR SWMapping::MappingConstraint</body>
+ </ownedComment>
+ <generalization xmi:id="_SNcPoE3ZEd-eluvub9wzww" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_ovfSMNvGEdyN-KVwISucrA" name="target" type="_E2zwwNdsEd6hwb99h1VVPA" isUnique="false" isReadOnly="true" isDerived="true" association="_ojkWENvGEdyN-KVwISucrA">
+ <ownedComment xmi:id="_MhlpEJYCEd2iJ9_Y3as_2A" annotatedElement="_ovfSMNvGEdyN-KVwISucrA">
+ <body>The ECU where the functionality must be allocated.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_owFIENvGEdyN-KVwISucrA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_owFIEdvGEdyN-KVwISucrA" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_vJrZINdvEd6hwb99h1VVPA" name="allocatedElement" type="_i-WLwzxIEdyqfK4bFJstMQ" isUnique="false" isReadOnly="true" isDerived="true" association="_u--lANdvEd6hwb99h1VVPA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_yVoXwNdvEd6hwb99h1VVPA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_yVt3UNdvEd6hwb99h1VVPA" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Xo4HME0hEd-upcklZdNpWw" name="base_Dependency" isUnique="false" association="_XitNwE0hEd-upcklZdNpWw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_LqGGUE34Ed-lBeOY4fJiaA" name="allocatedElement_path" type="_i-WLwzxIEdyqfK4bFJstMQ" isOrdered="true" association="_LXuj8E34Ed-lBeOY4fJiaA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_LqkAYE34Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_LqmcoE34Ed-lBeOY4fJiaA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Ma-JoE34Ed-lBeOY4fJiaA" name="target_path" type="_E2zwwNdsEd6hwb99h1VVPA" isOrdered="true" association="_MHFkUE34Ed-lBeOY4fJiaA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_MbbcoE34Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Mbd44E34Ed-lBeOY4fJiaA" value="*"/>
+ </ownedAttribute>
+ <icon xmi:id="_LoIvcEnNEd2n_LV02Saw8w" content="71%73%70%56%57%97%16%0%16%0%-29%12%0%20%30%100%29%39%109%39%49%119%40%50%120%49%59%-127%60%70%-116%80%90%-101%80%90%-100%120%-126%-70%120%-126%-69%-106%-96%-46%-76%-76%-76%-36%-36%-36%-36%-36%-36%-36%-36%-36%-36%-36%-36%33%-2%51%69%65%83%84%45%65%68%76%32%112%114%111%106%101%99%116%10%65%117%116%104%111%114%32%58%32%109%105%99%107%97%101%108%46%99%111%110%100%101%64%115%105%101%109%101%110%115%46%99%111%109%0%33%-7%4%1%10%0%15%0%44%0%0%0%0%16%0%16%0%0%4%53%-16%-55%73%-85%-67%56%-21%-51%-27%-6%-97%85%-116%-29%50%-103%19%-16%16%74%75%-96%-49%2%-56%31%48%36%9%34%-64%-16%-93%6%-122%-125%33%0%10%85%0%72%-28%37%-39%105%74%-104%-50%-88%-76%18%1%0%59%">
+ <eAnnotations xmi:id="_MBr34EnNEd2n_LV02Saw8w" source="image_papyrus">
+ <details xmi:id="_MBx-gEnNEd2n_LV02Saw8w" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_SL9oAE0gEd-upcklZdNpWw" name="Allocation">
+ <ownedComment xmi:id="_UQlyME0gEd-upcklZdNpWw" annotatedElement="_SL9oAE0gEd-upcklZdNpWw">
+ <body>The Allocation element contains functionAllocations. It can bundle functionAllocations that belong together, e.g., all functionAllocations for a simulation.
+
+Semantics:
+The Allocation element contains functionAllocations, i.e., it can bundle functionAllocations that belong together.
+
+Extension: Class</body>
+ </ownedComment>
+ <generalization xmi:id="_UmjcEE3ZEd-eluvub9wzww" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_a-4PIE0gEd-upcklZdNpWw" name="base_Class" isUnique="false" association="_a5LPwE0gEd-upcklZdNpWw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RfnpgG1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RfsiAG1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_beMoYE0gEd-upcklZdNpWw" name="base_Package" isUnique="false" association="_bY7G0E0gEd-upcklZdNpWw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_SI2MsG1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_SI8TUG1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_kImzwE0gEd-upcklZdNpWw" name="functionAllocation" type="_i-WLuDxIEdyqfK4bFJstMQ" association="_kDRAwE0gEd-upcklZdNpWw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kI8yAE0gEd-upcklZdNpWw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kI_OQE0gEd-upcklZdNpWw" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_a5LPwE0gEd-upcklZdNpWw" name="Extension_Allocation" memberEnd="_a-ktIE0gEd-upcklZdNpWw _a-4PIE0gEd-upcklZdNpWw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_a-ktIE0gEd-upcklZdNpWw" name="extension_Allocation" type="_SL9oAE0gEd-upcklZdNpWw" aggregation="composite" association="_a5LPwE0gEd-upcklZdNpWw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_bY7G0E0gEd-upcklZdNpWw" name="Extension_Allocation" memberEnd="_bd5tcE0gEd-upcklZdNpWw _beMoYE0gEd-upcklZdNpWw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_bd5tcE0gEd-upcklZdNpWw" name="extension_Allocation" type="_SL9oAE0gEd-upcklZdNpWw" aggregation="composite" association="_bY7G0E0gEd-upcklZdNpWw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_kDRAwE0gEd-upcklZdNpWw" name="A_Allocation_FunctionAllocation" memberEnd="_kImzwE0gEd-upcklZdNpWw _kJHxIE0gEd-upcklZdNpWw">
+ <ownedEnd xmi:id="_kJHxIE0gEd-upcklZdNpWw" name="allocation" type="_SL9oAE0gEd-upcklZdNpWw" isUnique="false" association="_kDRAwE0gEd-upcklZdNpWw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kJin4E0gEd-upcklZdNpWw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kJgLoE0gEd-upcklZdNpWw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_u--lANdvEd6hwb99h1VVPA" name="A_AllocationConstraint_AllocateableElement" memberEnd="_vJrZINdvEd6hwb99h1VVPA _vKhGoNdvEd6hwb99h1VVPA">
+ <ownedEnd xmi:id="_vKhGoNdvEd6hwb99h1VVPA" name="allocationConstraint" type="_i-WLuDxIEdyqfK4bFJstMQ" isUnique="false" association="_u--lANdvEd6hwb99h1VVPA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vLMcENdvEd6hwb99h1VVPA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_vLIxsNdvEd6hwb99h1VVPA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_ojkWENvGEdyN-KVwISucrA" name="A_AllocationConstraint_AllocationTarget" memberEnd="_ovfSMNvGEdyN-KVwISucrA _owFIEtvGEdyN-KVwISucrA">
+ <ownedEnd xmi:id="_owFIEtvGEdyN-KVwISucrA" name="allocationConstraint" type="_i-WLuDxIEdyqfK4bFJstMQ" isUnique="false" association="_ojkWENvGEdyN-KVwISucrA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_owh0ANvGEdyN-KVwISucrA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_owYDANvGEdyN-KVwISucrA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_XitNwE0hEd-upcklZdNpWw" name="Extension_FunctionAllocation" memberEnd="_XonBcE0hEd-upcklZdNpWw _Xo4HME0hEd-upcklZdNpWw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_XonBcE0hEd-upcklZdNpWw" name="extension_FunctionAllocation" type="_i-WLuDxIEdyqfK4bFJstMQ" aggregation="composite" association="_XitNwE0hEd-upcklZdNpWw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_dYHakE0kEd-2q5ZoAGcl8Q" name="FunctionPowerPort">
+ <ownedComment xmi:id="_jVKn0E0kEd-2q5ZoAGcl8Q" annotatedElement="_dYHakE0kEd-2q5ZoAGcl8Q">
+ <body>The FunctionPowerPort is a FunctionPort for denoting the physical interactions between environment and sensing/actuation functions.
+
+Semantics:
+The FunctionPowerPort conserves physical variables in a dynamic process.
+
+The typing Datatype owns two datatypePrototypes called Across and Through, representing the exchanged physical variables of the FunctionPowerPort. In two or more directly connected function power ports, the Across variables always get the same value and the Through variables always sum up to zero.
+
+Constraints:
+[1] The owner of a FunctionPowerPort is either a FunctionalDevice, a HardwareFunctionType, or a FunctionType for environment
+
+[2] Two connected FunctionPowerPort must have the same Datatype.
+
+[3] The typing Datatype shall have two datatypePrototypes called Across and Through, with Datatypes that are consistent and representing the variables of the PowerPort.
+
+
+Extension: UML Port</body>
+ </ownedComment>
+ <generalization xmi:id="_gaHzAE0kEd-2q5ZoAGcl8Q" general="_i-f6UzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_mdQaIE0kEd-2q5ZoAGcl8Q" name="base_Port" isUnique="false" association="_mXE5oE0kEd-2q5ZoAGcl8Q">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_XV0rgE0lEd-2q5ZoAGcl8Q" name="type" type="_LUJZwEuuEd-ZO7qwJW2vyQ" isUnique="false" isReadOnly="true" isDerived="true" association="_XPLQ8E0lEd-2q5ZoAGcl8Q">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_b_rykE0lEd-2q5ZoAGcl8Q" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_b_wrEE0lEd-2q5ZoAGcl8Q" value="1"/>
+ </ownedAttribute>
+ <icon xmi:id="_xjQ9AE4bEd-ZaonW8j10xQ" content="71%73%70%56%57%97%16%0%16%0%-43%0%0%60%70%-116%80%80%80%93%93%93%101%101%101%109%109%109%118%118%118%126%126%126%-122%-122%-122%-113%-113%-113%-103%-103%-103%-97%-97%-97%-84%-84%-84%-78%-78%-78%-76%-76%-76%-32%-32%-32%-32%-31%-31%-31%-31%-30%-31%-30%-31%-30%-30%-30%-29%-30%-30%-29%-29%-29%-28%-29%-29%-28%-28%-28%-27%-27%-28%-24%-24%-24%-24%-23%-23%-22%-22%-22%-21%-21%-21%-21%-20%-20%-19%-20%-20%-20%-19%-20%-16%-16%-16%-16%-16%-15%-12%-12%-12%-11%-11%-11%-8%-7%-8%-8%-7%-7%-7%-7%-6%-6%-6%-6%-6%-6%-5%-5%-5%-5%-4%-4%-4%-3%-4%-4%-3%-3%-3%-1%-1%-1%101%0%101%-20%-72%40%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%33%-7%4%1%0%0%63%0%44%0%0%0%0%16%0%16%0%0%6%84%-64%-97%112%72%44%26%-113%-56%-92%50%-55%104%58%-97%-50%33%-125%69%-91%6%-82%-43%-59%80%81%101%93%1%-127%-20%48%49%42%127%-81%-41%81%98%104%0%-127%2%4%-128%-100%16%112%31%-122%4%12%58%0%14%96%-2%4%67%2%23%-124%124%87%-124%-124%3%67%1%14%-115%104%-115%23%-114%-117%123%-108%104%75%-105%-104%-103%63%65%0%59%">
+ <eAnnotations xmi:id="_zTdvUE4bEd-ZaonW8j10xQ" source="image_papyrus">
+ <details xmi:id="_zTdvUU4bEd-ZaonW8j10xQ" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_mXE5oE0kEd-2q5ZoAGcl8Q" name="Extension_FunctionPowerPort" memberEnd="_mdBwoE0kEd-2q5ZoAGcl8Q _mdQaIE0kEd-2q5ZoAGcl8Q">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_mdBwoE0kEd-2q5ZoAGcl8Q" name="extension_FunctionPowerPort" type="_dYHakE0kEd-2q5ZoAGcl8Q" aggregation="composite" association="_mXE5oE0kEd-2q5ZoAGcl8Q"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_PnefwE0lEd-2q5ZoAGcl8Q" name="A_FunctionFlowPort_EADatatype" memberEnd="_PtoyIE0lEd-2q5ZoAGcl8Q _PucDYE0lEd-2q5ZoAGcl8Q">
+ <ownedEnd xmi:id="_PucDYE0lEd-2q5ZoAGcl8Q" name="functionFlowPort" type="_i-f6IDxIEdyqfK4bFJstMQ" isUnique="false" association="_PnefwE0lEd-2q5ZoAGcl8Q">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Pu6kgE0lEd-2q5ZoAGcl8Q"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Pu4vUE0lEd-2q5ZoAGcl8Q" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_XPLQ8E0lEd-2q5ZoAGcl8Q" name="A_FunctionPowerPort_CompositeDatatype" memberEnd="_XV0rgE0lEd-2q5ZoAGcl8Q _XWR-gE0lEd-2q5ZoAGcl8Q">
+ <ownedEnd xmi:id="_XWR-gE0lEd-2q5ZoAGcl8Q" name="functionPowerPort" type="_dYHakE0kEd-2q5ZoAGcl8Q" isUnique="false" association="_XPLQ8E0lEd-2q5ZoAGcl8Q">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XWy74E0lEd-2q5ZoAGcl8Q"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XWvRgE0lEd-2q5ZoAGcl8Q" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_g62sEE0lEd-2q5ZoAGcl8Q" name="Operation">
+ <ownedComment xmi:id="_j4yc0E0lEd-2q5ZoAGcl8Q" annotatedElement="_g62sEE0lEd-2q5ZoAGcl8Q">
+ <body>The Operation is the provided/required operation of a FunctionClientServerInterface. It can specify its return values and arguments by EADatatypePrototypes.
+
+Semantics:
+The Operation is the provided/required operation of a FunctionClientServerInterface.
+
+Extension: UML Operation</body>
+ </ownedComment>
+ <generalization xmi:id="_WlPWUE3ZEd-eluvub9wzww" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_mw3dME0lEd-2q5ZoAGcl8Q" name="base_Operation" isUnique="false" association="_mhVMYE0lEd-2q5ZoAGcl8Q">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_8Ma_0E0lEd-2q5ZoAGcl8Q" name="argument" type="_neBgQEuHEd-N_MlgLCZ6zw" isOrdered="true" isReadOnly="true" isDerived="true" association="_8Fji0E0lEd-2q5ZoAGcl8Q">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_8Muh0E0lEd-2q5ZoAGcl8Q"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_8Mw-EE0lEd-2q5ZoAGcl8Q" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_F-YCEE0mEd-2q5ZoAGcl8Q" name="return" type="_neBgQEuHEd-N_MlgLCZ6zw" isReadOnly="true" isDerived="true" association="_F3hzME0mEd-2q5ZoAGcl8Q">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_NiFEEE0mEd-2q5ZoAGcl8Q"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_NiIucE0mEd-2q5ZoAGcl8Q" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_mhVMYE0lEd-2q5ZoAGcl8Q" name="Extension_Operation" memberEnd="_mwozsE0lEd-2q5ZoAGcl8Q _mw3dME0lEd-2q5ZoAGcl8Q">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_mwozsE0lEd-2q5ZoAGcl8Q" name="extension_Operation" type="_g62sEE0lEd-2q5ZoAGcl8Q" aggregation="composite" association="_mhVMYE0lEd-2q5ZoAGcl8Q">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_k6xbELbOEeGRzMmi3_uxgw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_k7AEkLbOEeGRzMmi3_uxgw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_rAEokE0lEd-2q5ZoAGcl8Q" name="A_FunctionClientServerInterface_Operation" memberEnd="_rPlrQE0lEd-2q5ZoAGcl8Q _rQQZoE0lEd-2q5ZoAGcl8Q">
+ <ownedEnd xmi:id="_rQQZoE0lEd-2q5ZoAGcl8Q" name="functionClientServerInterface" type="_kjDxINodEdyQqcooNZBNQg" isUnique="false" association="_rAEokE0lEd-2q5ZoAGcl8Q">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rQuTsE0lEd-2q5ZoAGcl8Q"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rQr3cE0lEd-2q5ZoAGcl8Q" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_8Fji0E0lEd-2q5ZoAGcl8Q" name="A_Operation_EADatatypePrototype" memberEnd="_8Ma_0E0lEd-2q5ZoAGcl8Q _8MyzQE0lEd-2q5ZoAGcl8Q">
+ <ownedEnd xmi:id="_8MyzQE0lEd-2q5ZoAGcl8Q" name="operation" type="_g62sEE0lEd-2q5ZoAGcl8Q" isUnique="false" association="_8Fji0E0lEd-2q5ZoAGcl8Q">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_8NO4IE0lEd-2q5ZoAGcl8Q"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_8NMb4E0lEd-2q5ZoAGcl8Q" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_F3hzME0mEd-2q5ZoAGcl8Q" name="A_Operation_EADatatypePrototype" memberEnd="_F-YCEE0mEd-2q5ZoAGcl8Q _F-0uAE0mEd-2q5ZoAGcl8Q">
+ <ownedEnd xmi:id="_F-0uAE0mEd-2q5ZoAGcl8Q" name="operation" type="_g62sEE0lEd-2q5ZoAGcl8Q" isUnique="false" association="_F3hzME0mEd-2q5ZoAGcl8Q">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_F_PkwE0mEd-2q5ZoAGcl8Q"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_F_NvkE0mEd-2q5ZoAGcl8Q" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_tKvA4E33Ed-lBeOY4fJiaA" name="A_FunctionConnector_FunctionPrototype" memberEnd="_tedOIE33Ed-lBeOY4fJiaA _te6hIE33Ed-lBeOY4fJiaA">
+ <ownedEnd xmi:id="_te6hIE33Ed-lBeOY4fJiaA" name="functionConnector" type="_i-f6XjxIEdyqfK4bFJstMQ" isUnique="false" association="_tKvA4E33Ed-lBeOY4fJiaA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_tfX0IE33Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_tfVX4E33Ed-lBeOY4fJiaA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_v079UE33Ed-lBeOY4fJiaA" name="A_FunctionConnector_FunctionPrototype" memberEnd="_wGzwcE33Ed-lBeOY4fJiaA _wHUGwE33Ed-lBeOY4fJiaA">
+ <ownedEnd xmi:id="_wHUGwE33Ed-lBeOY4fJiaA" name="functionConnector" type="_i-f6XjxIEdyqfK4bFJstMQ" isUnique="false" association="_v079UE33Ed-lBeOY4fJiaA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_wHyA0E33Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_wHwLoE33Ed-lBeOY4fJiaA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_LXuj8E34Ed-lBeOY4fJiaA" name="A_FunctionAllocation_AllocateableElement" memberEnd="_LqGGUE34Ed-lBeOY4fJiaA _LqoR0E34Ed-lBeOY4fJiaA">
+ <ownedEnd xmi:id="_LqoR0E34Ed-lBeOY4fJiaA" name="functionAllocation" type="_i-WLuDxIEdyqfK4bFJstMQ" isUnique="false" association="_LXuj8E34Ed-lBeOY4fJiaA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_LrB6cE34Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_LrAFQE34Ed-lBeOY4fJiaA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_MHFkUE34Ed-lBeOY4fJiaA" name="A_FunctionAllocation_AllocationTarget" memberEnd="_Ma-JoE34Ed-lBeOY4fJiaA _MbfuEE34Ed-lBeOY4fJiaA">
+ <ownedEnd xmi:id="_MbfuEE34Ed-lBeOY4fJiaA" name="functionAllocation" type="_i-WLuDxIEdyqfK4bFJstMQ" isUnique="false" association="_MHFkUE34Ed-lBeOY4fJiaA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Mb5WsE34Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Mb3hgE34Ed-lBeOY4fJiaA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="_i-f62DxIEdyqfK4bFJstMQ" name="FeatureModeling" metaclassReference="_Czk-kEApEdympvaafZjFBw _Cz35gEApEdympvaafZjFBw _WOzoMEApEdympvaafZjFBw _I_tZcEyUEd-4NtQ6SoVDcg _HbLhQEy4Ed-ROfa87c_f9w">
+ <ownedComment xmi:id="_4D_FYKAmEd20Qu_niqpmJw" annotatedElement="_i-f62DxIEdyqfK4bFJstMQ">
+ <body>This package describes the basic feature modeling that is employed on the vehicle level as well as on the artifact levels, i.e. on AnalysisLevel and below. Details of feature modeling that are specific to the vehicle level are factored out and documented separately in the package VehicleFeatureModeling.</body>
+ </ownedComment>
+ <elementImport xmi:id="_Czk-kEApEdympvaafZjFBw" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <elementImport xmi:id="_Cz35gEApEdympvaafZjFBw" alias="Package">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ </elementImport>
+ <elementImport xmi:id="_WOzoMEApEdympvaafZjFBw" alias="Dependency">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ </elementImport>
+ <elementImport xmi:id="_I_tZcEyUEd-4NtQ6SoVDcg" alias="AssociationClass">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#AssociationClass"/>
+ </elementImport>
+ <elementImport xmi:id="_HbLhQEy4Ed-ROfa87c_f9w" alias="Constraint">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Constraint"/>
+ </elementImport>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-f7AzxIEdyqfK4bFJstMQ" name="FeatureTreeNode" isAbstract="true">
+ <ownedComment xmi:id="_GB4TYJVBEd2pV7v-CAwgKg" annotatedElement="_i-f7AzxIEdyqfK4bFJstMQ">
+ <body>The abstract base class for all nodes in a feature tree.
+
+
+Semantics:
+FeatureTreeNode has no specific semantics. Further subclasses of FeatureTreeNode will add semantics appropriate to the concept they represent.
+
+
+Extension:
+abstract, no extension</body>
+ </ownedComment>
+ <generalization xmi:id="_mdZRUE9uEd6AX7OBk0YqTg" general="_i-WNsjxIEdyqfK4bFJstMQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-f7BDxIEdyqfK4bFJstMQ" name="FeatureModel">
+ <ownedComment xmi:id="_34pu4JVAEd2pV7v-CAwgKg" annotatedElement="_i-f7BDxIEdyqfK4bFJstMQ">
+ <body>FeatureModel denotes a model owning Features. The FeatureModel can be used to describe variability and commonality of a specified EE-System at any abstraction level in the SystemModel.
+
+The FeatureModel can be used either to describe the variability within a particular Function or to describe the overall variability of a vehicle (cf. VehicleLevel). The FeatureModel describing internal variability of a FunctionType refers to the VehicleLevel by a &#xab;realizes&#xbb; link (informative).
+
+Note, however, that a FeatureModel per definition does not always have to define variability. If a feature model contains only mandatory features, then its purpose is completely unrelated to variability. The features in such a FeatureModel could serve, for example, as invariant &quot;coarse-grained requirements&quot;. The most important example is the core technical feature model on vehicle level which is also used for SystemModels that do not contain any variability at all. However, most uses of feature models in EAST-ADL2 are primarily motivated by variability definition and management.
+
+A public, local FeatureModel of an artifact element realizes a VehicleFeature of the VehicleLevel.
+
+
+Semantics:
+The FeatureModel has no specific semantics. Further subclasses of FeatureModel will add semantics appropriate to the concept they represent.
+
+
+Extension:
+Package</body>
+ </ownedComment>
+ <generalization xmi:id="_jhoDwE9uEd6AX7OBk0YqTg" general="_i-WNsjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_-PDKQLohEd2LtvY4pcU1ZA" name="base_Package" isUnique="false" association="_-IfPQLohEd2LtvY4pcU1ZA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VPhCsG1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VPqzsG1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_kWuIYNjZEd6wXIBypQTswA" name="base_Class" isUnique="false" association="_kTTA8NjZEd6wXIBypQTswA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_V5nIkG1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_V5tPMG1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_AX_LIEyTEd-4NtQ6SoVDcg" name="rootFeature" type="_i-f7LjxIEdyqfK4bFJstMQ" association="_APxDQEyTEd-4NtQ6SoVDcg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_AYp5gEyTEd-4NtQ6SoVDcg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_AYrusEyTEd-4NtQ6SoVDcg" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_8YR-4EyTEd-4NtQ6SoVDcg" name="featureLink" type="_i-f7GDxIEdyqfK4bFJstMQ" association="_8PXTcEyTEd-4NtQ6SoVDcg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_8aF8wEyTEd-4NtQ6SoVDcg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_8aTYIEyTEd-4NtQ6SoVDcg" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_5YozkEy3Ed-ROfa87c_f9w" name="featureConstraint" type="_y4zCUEy3Ed-ROfa87c_f9w" association="_5WdpUEy3Ed-ROfa87c_f9w">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_5ZehEEy3Ed-ROfa87c_f9w"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_5ZtKkEy3Ed-ROfa87c_f9w" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-f7GDxIEdyqfK4bFJstMQ" name="FeatureLink">
+ <ownedComment xmi:id="_myXjYJVAEd2pV7v-CAwgKg" annotatedElement="_i-f7GDxIEdyqfK4bFJstMQ">
+ <body>A FeatureLink resembles a Relationship between two Features referred to as 'start' and 'end' feature (such as &quot;feature S requires feature E&quot; or &quot;S excludes E&quot;).
+
+The type of the FeatureLink specifies the precise semantics of the relationship. There are several predefined types, for example &quot;needs&quot; states that S requires E. In addition, user-defined types are allowed as well. For user-defined types, attribute 'customType' provides a unique identifier of the custom link type and attribute 'isBidirectional' states whether the link is uni- or bidirectional.
+
+FeatureLinks are similar to FeatureConstraints but much more restricted. The rationale for having FeatureLinks in addition to FeatureConstraints is that in many cases FeatureLinks are sufficient and tools can deal with them more easily and appropriately (e.g. they can easily be presented visually as arrows in a diagram).
+
+
+Semantics:
+The FeatureLink is a relationship between Features that may constraint the selection of Features involved in the relationship.
+
+
+Constraints:
+[1] The start and end Features of a FeatureLink must be contained in the FeatureModel that contains the FeatureLink.
+
+Extension:
+AssociationClass</body>
+ </ownedComment>
+ <generalization xmi:id="_i-f7GTxIEdyqfK4bFJstMQ" general="_i-WNqjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_i-f7GjxIEdyqfK4bFJstMQ" name="isBidirectional" visibility="public">
+ <ownedComment xmi:id="_i-f7GzxIEdyqfK4bFJstMQ">
+ <body>It must be stated if the link is bidirectional: It exists either unidirectional or bidirectional includes. Also in the case of excludes there exists the unidirectional case (e.g. if the time of exclusion plays a role), whereas the bidirectional case is more common.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_w8i7YEyTEd-4NtQ6SoVDcg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_w81PQEyTEd-4NtQ6SoVDcg" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_i-f7JDxIEdyqfK4bFJstMQ" name="customType" visibility="public">
+ <ownedComment xmi:id="_i-f7JTxIEdyqfK4bFJstMQ">
+ <body>The type of this feature link identified by a String value. The type determines the precise semantics of the relation. There are four predefined types (given a link that starts at feature A and ends at feature B):
+&quot;excludes&quot;:
+A and B can never be both selected in a single configuration (always bidirectional).
+&quot;includes&quot;:
+if A is selected, then also B must be selected (unidirectional or bidirectional).
+&quot;impedes&quot;:
+A and B can usually(!) not be selected in a single configuration, or: you can select A and B but you should have a good reason
+to do so (always bidirectional).
+&quot;suggests&quot;:
+if A is selected, then usually(!) also B must be selected, or: you can select A without B but you should have a good reason to do so (unidirectional or bidirectional).
+In addition, each project can decide to use additional link types by defining unique key-words for them. In cases where feature models are shared with third parties (other departments, companies, etc.) a URL name scheme must be used to produce globally unique names, e.g. as for packages in the Java programming language.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-f7JzxIEdyqfK4bFJstMQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-f7JjxIEdyqfK4bFJstMQ" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_ZAbbQEApEdympvaafZjFBw" name="base_Dependency" isUnique="false" association="_Y_-vUEApEdympvaafZjFBw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XKsV8G1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XKyckG1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_lNc3AEyTEd-4NtQ6SoVDcg" name="start" type="_i-f7LjxIEdyqfK4bFJstMQ" isUnique="false" association="_lJPFYEyTEd-4NtQ6SoVDcg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_n6IfsEyTEd-4NtQ6SoVDcg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_n6MKEEyTEd-4NtQ6SoVDcg" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_lvX4UEyTEd-4NtQ6SoVDcg" name="end" type="_i-f7LjxIEdyqfK4bFJstMQ" isUnique="false" association="_lrh6IEyTEd-4NtQ6SoVDcg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pPJx4EyTEd-4NtQ6SoVDcg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pPODUEyTEd-4NtQ6SoVDcg" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_KFFtIEyUEd-4NtQ6SoVDcg" name="base_AssociationClass" isUnique="false" association="_J_W4kEyUEd-4NtQ6SoVDcg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#AssociationClass"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_X5D30G1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_X5J-cG1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_OUY_IEyUEd-4NtQ6SoVDcg" name="kind" type="_wWTBsDxIEdyqfK4bFJstMQ" isUnique="false"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-f7KTxIEdyqfK4bFJstMQ" name="FeatureGroup">
+ <ownedComment xmi:id="_cYF84JVAEd2pV7v-CAwgKg" annotatedElement="_i-f7KTxIEdyqfK4bFJstMQ">
+ <body>FeatureGroup is a specialization of the FeatureTreeNode, enabling grouping of several Features. It specifies with its cardinality how these grouped features can be combined. For example, a FeatureGroup owning the two Features A and B, with a cardinality of [1] means that A and B are alternative.
+
+
+Semantics:
+FeatureGroup is a grouping entity for sibling Features to reflect variability for a set of Features.
+
+
+Extension:
+Class</body>
+ </ownedComment>
+ <generalization xmi:id="_i-f7KjxIEdyqfK4bFJstMQ" general="_i-f7AzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_bQ0wkUApEdympvaafZjFBw" name="base_Class" isUnique="false" association="_bQrmoEApEdympvaafZjFBw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_QvvXEF0rEdyp3-f27ERX8A" name="cardinality" isUnique="false">
+ <ownedComment xmi:id="_gsRu4JVAEd2pV7v-CAwgKg" annotatedElement="_QvvXEF0rEdyp3-f27ERX8A">
+ <body>The Cardinality describes for a feature group its cardinality. It describes the variability behavior of the group (e.g. a cardinality of 1 in a feature group means that one of the child features has to be selected).</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_b_ehMEy3Ed-ROfa87c_f9w" name="childFeature" type="_i-f7LjxIEdyqfK4bFJstMQ" association="_b87jgEy3Ed-ROfa87c_f9w">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_cADI8Ey3Ed-ROfa87c_f9w" value="2"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_cAGMQEy3Ed-ROfa87c_f9w" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-f7LjxIEdyqfK4bFJstMQ" name="Feature">
+ <ownedComment xmi:id="_FIDk4JVAEd2pV7v-CAwgKg" annotatedElement="_i-f7LjxIEdyqfK4bFJstMQ">
+ <body>A Feature represents a characteristic or trait of some object of consideration. The actual object of consideration depends on the particular purpose of the feature's containing feature model.
+
+Example 1: The core technical feature model on vehicle level defines the technical properties of the complete-system, i.e. vehicle. So its object of consideration is the vehicle as a whole and therefore its features represent characteristics or traits of the vehicle as a whole.
+
+Example 2: The public feature model of some function F in the FDA defines the features of this particular software function. So its object of consideration is function F and therefore its features represent characteristics or traits of this function F.
+
+
+Semantics:
+Feature is a (non)functional characteristic, constraint or property that can be present or not in a (vehicle) product line.
+
+
+Extension:
+Class</body>
+ </ownedComment>
+ <generalization xmi:id="_i-f7LzxIEdyqfK4bFJstMQ" general="_i-f7AzxIEdyqfK4bFJstMQ"/>
+ <generalization xmi:id="_i-f7MDxIEdyqfK4bFJstMQ" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_drzlQEApEdympvaafZjFBw" name="base_Class" isUnique="false" association="_drW5UEApEdympvaafZjFBw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Zei6QF0rEdyp3-f27ERX8A" name="cardinality" isUnique="false">
+ <ownedComment xmi:id="_HSTO4JVAEd2pV7v-CAwgKg" annotatedElement="_Zei6QF0rEdyp3-f27ERX8A">
+ <body>The Cardinality describes for a feature its cardinality. In the context of a feature group it describes the variability behavior of the group (e.g. a cardinality of 1 in a feature group means that one of the child features has to be selected). Cardinalities for features: A cardinality of 0..1 at a feature means that this feature is optional. A cardinality of 1 means that this feature is mandatory and a cardinality of 0..n with n>1 means that this feature may be instantiated more than once in the product to be realized.
+Note that allowing cardinalities >1 has far-reaching consequences for how features are applied. If this is not desired-needed in a certain project, cardinalities >1 can be prohibited by specifying a complianceLevel in FeatureModel.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_l_MXYF0rEdyp3-f27ERX8A" name="requiredBindingTime" type="_i-f7hTxIEdyqfK4bFJstMQ" association="_l_CmYF0rEdyp3-f27ERX8A">
+ <ownedComment xmi:id="_L9EU4JVAEd2pV7v-CAwgKg" annotatedElement="_l_MXYF0rEdyp3-f27ERX8A">
+ <body>The required binding time could possibly deviate from the actual binding time but reflects the intended binding time and actual binding time can be later adapted to the required binding time, if surrounding constraints allow a change.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_l_MXYV0rEdyp3-f27ERX8A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_l_MXYl0rEdyp3-f27ERX8A" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_loZA8V0rEdyp3-f27ERX8A" name="actualBindingTime" type="_i-f7hTxIEdyqfK4bFJstMQ" association="_loZA8F0rEdyp3-f27ERX8A">
+ <ownedComment xmi:id="_Jp-Q4JVAEd2pV7v-CAwgKg" annotatedElement="_loZA8V0rEdyp3-f27ERX8A">
+ <body>The actual binding time, independent of the required binding time.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_lmjIQGd7EdyZ-rSA5-bo-g" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_lmjIQWd7EdyZ-rSA5-bo-g" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_569S8Ey2Ed-ROfa87c_f9w" name="featureParameter" type="_neBgQEuHEd-N_MlgLCZ6zw" association="_54SZcEy2Ed-ROfa87c_f9w">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_CTFcsFaVEd-IHoZrGPPWCg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_CTKVMFaVEd-IHoZrGPPWCg" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_KCuAsEy3Ed-ROfa87c_f9w" name="childNode" type="_i-f7AzxIEdyqfK4bFJstMQ" association="_KAi2cEy3Ed-ROfa87c_f9w">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KDe1sEy3Ed-ROfa87c_f9w"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KDh5AEy3Ed-ROfa87c_f9w" value="*"/>
+ </ownedAttribute>
+ <icon xmi:id="_GnL64EnJEd2n_LV02Saw8w" content="71%73%70%56%57%97%16%0%16%0%-91%1%0%20%30%100%80%80%80%88%88%88%92%92%92%99%99%99%104%104%104%111%111%111%115%115%115%122%122%122%126%126%126%-123%-123%-123%-119%-119%-119%-112%-112%-112%-108%-108%-108%-101%-101%-101%-97%-97%-97%-90%-90%-90%-86%-86%-86%-76%-76%-76%-30%-13%-1%-29%-13%-1%-28%-13%-1%-28%-12%-1%-24%-11%-1%-23%-10%-1%-20%-9%-1%-19%-9%-1%-19%-8%-1%-18%-8%-1%-15%-7%-1%-14%-7%-1%-10%-5%-1%-9%-5%-1%-10%-4%-1%-8%-5%-1%-9%-4%-1%-5%-3%-1%-5%-2%-1%-4%-2%-1%-1%-1%-1%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%33%-2%51%69%65%83%84%45%65%68%76%32%112%114%111%106%101%99%116%10%65%117%116%104%111%114%32%58%32%109%105%99%107%97%101%108%46%99%111%110%100%101%64%115%105%101%109%101%110%115%46%99%111%109%0%33%-7%4%1%10%0%63%0%44%0%0%0%0%16%0%16%0%0%6%107%-64%-97%112%72%44%-2%34%-110%-92%114%-71%-124%60%78%-48%-88%84%-22%104%-104%0%-90%18%96%-53%-27%-110%24%11%17%-24%19%2%-115%70%-97%-15%103%-3%81%36%60%0%15%-68%-37%-19%32%14%27%14%71%-61%-25%103%52%127%124%6%5%24%0%23%23%116%93%23%4%3%21%20%22%22%20%-114%20%-108%20%19%19%20%2%1%-101%-100%-99%-98%1%70%-95%69%18%66%76%75%-94%-88%67%-92%63%-90%74%-87%-81%-80%63%65%0%59%">
+ <eAnnotations xmi:id="_HXxqUEnJEd2n_LV02Saw8w" source="image_papyrus">
+ <details xmi:id="_HX3w8EnJEd2n_LV02Saw8w" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-f7hTxIEdyqfK4bFJstMQ" name="BindingTime">
+ <ownedComment xmi:id="_rs71YJU_Ed2pV7v-CAwgKg" annotatedElement="_i-f7hTxIEdyqfK4bFJstMQ">
+ <body>The motivation for attributing features and variable elements with binding times is that binding times encapsulate important information about the variability under view:
+
+Variability that must be bound (determined, decided) very early in the system development may not be visible in one single feature model but only in comparison with different feature models in the context of multi-level feature trees; late bound variability is variability providing the driver with choices for current equipment configuration.
+
+Binding times are important because they describe if the variability must be decided during system development or if the variability is determined by a customer or if the variability itself is part of the product features that are sold to the customer. Possible binding times are:
+
+- SystemDesignTime
+- CodeGenerationTime
+- PreCompileTime
+- LinkTime
+- PostBuild
+- Runtime
+
+Note that a binding time is never a particular point in time such as April 2nd, 2011, but always a certain stage in the overall development, production and shipment process as represented by the above values.
+
+Each feature must have a binding time (association requiredBindingTime) and may have one further binding time (association actualBindingTime).
+
+The required binding time describes the binding time that the feature is intended to have. But due to technical conditions it may occur that the actually realized binding time of the feature differs from the originally intended binding time. In this case one has to provide information about the actual binding time. In the rationale it must be described by what the required binding time is motivated and what the reasons are for a (different) actual binding time.
+
+Extension:
+Class.</body>
+ </ownedComment>
+ <generalization xmi:id="_vH768E3XEd-eluvub9wzww" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_i-f7hjxIEdyqfK4bFJstMQ" name="kind" visibility="public" type="_wXMZkDxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_unZbYJU_Ed2pV7v-CAwgKg" annotatedElement="_i-f7hjxIEdyqfK4bFJstMQ">
+ <body>The kind of the binding time, see enumeration of binding times.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_X5USUGdyEdyZ-rSA5-bo-g" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_X5USUWdyEdyZ-rSA5-bo-g" value="1"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_dFcgMEy2Ed-ROfa87c_f9w" value="systemDesignTime"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_dTlq4OCNEdyCF7UOtBciaA" name="base_Class" isUnique="false" association="_dS-m4OCNEdyCF7UOtBciaA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_wXMZkDxIEdyqfK4bFJstMQ" name="BindingTimeKind">
+ <ownedComment xmi:id="_1lkHYJU_Ed2pV7v-CAwgKg" annotatedElement="_wXMZkDxIEdyqfK4bFJstMQ">
+ <body>BindingTimeKind represents the set of possible binding times.</body>
+ </ownedComment>
+ <ownedLiteral xmi:id="_i-f7gDxIEdyqfK4bFJstMQ" name="systemDesignTime">
+ <ownedComment xmi:id="_4RrvYJU_Ed2pV7v-CAwgKg" annotatedElement="_i-f7gDxIEdyqfK4bFJstMQ">
+ <body>Variability will be bound during development of the EE-System.
+
+From AUTOSAR:
+* Designing the VFB.
+* Software Component types (portinterfaces).
+* SWC Prototypes and the Connections between SWCprototypes.
+* Designing the Topology
+* ECUs and interconnecting Networks
+* Designing the Communication Matrix and Data Mapping</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_i-f7gTxIEdyqfK4bFJstMQ" name="codeGenerationTime">
+ <ownedComment xmi:id="_8odiYJU_Ed2pV7v-CAwgKg" annotatedElement="_i-f7gTxIEdyqfK4bFJstMQ">
+ <body>Variability will be bound during code generation.
+
+From AUTOSAR:
+* Coding by hand, based on requirements document.
+* Tool based code generation, e.g. from a model.
+* The model may contain variants.
+* Only code for the selected variant(s) is actually generated.</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_i-f7gjxIEdyqfK4bFJstMQ" name="precompileTime">
+ <ownedComment xmi:id="_6v6sYJU_Ed2pV7v-CAwgKg" annotatedElement="_i-f7gjxIEdyqfK4bFJstMQ">
+ <body>Variability will be bound during or immediately prior to code compilation.
+
+From AUTOSAR:
+This is typically the C-Preprocessor. Exclude parts of the code from the compilation process, e.g., because they are not required for the selected variant, because they are incompatible with the selected variant, because they require resources that are not present in the selected variant. Object code is only generated for the selected variant(s). The code that is excluded at this stage code will not be available at later stages.</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_i-f7gzxIEdyqfK4bFJstMQ" name="linkTime">
+ <ownedComment xmi:id="_AbYaYJVAEd2pV7v-CAwgKg" annotatedElement="_i-f7gzxIEdyqfK4bFJstMQ">
+ <body>Variability will be bound during linking.
+
+From AUTOSAR:
+Configure what is included in object code, and what is omitted
+Based on which variant(s) are selected
+E.g. for modules that are delivered as object code (as opposed to those that are delivered as source code)</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_i-f7hDxIEdyqfK4bFJstMQ" name="postBuild">
+ <ownedComment xmi:id="_-hncYJU_Ed2pV7v-CAwgKg" annotatedElement="_i-f7hDxIEdyqfK4bFJstMQ">
+ <body>Variability will be bound at certain occasions after shipment, for example when the vehicle is in a workshop.</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_YFsosEy2Ed-ROfa87c_f9w" name="runtime">
+ <ownedComment xmi:id="_ryhYoEy2Ed-ROfa87c_f9w" annotatedElement="_YFsosEy2Ed-ROfa87c_f9w">
+ <body>Variability will be bound by the customer after shipment by way of vehicle configuration.
+
+Variability with such a late binding time can also be seen as a special functionality of the system which is not documented as variability at all. However, it is sometimes advantageous to represent such cases as variability in order to be able to seamlessly include them in the overall variability management activities.</body>
+ </ownedComment>
+ </ownedLiteral>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_Y_-vUEApEdympvaafZjFBw" name="Extension_FeatureLink" memberEnd="_ZASRUEApEdympvaafZjFBw _ZAbbQEApEdympvaafZjFBw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_ZASRUEApEdympvaafZjFBw" name="extension_FeatureLink" type="_i-f7GDxIEdyqfK4bFJstMQ" aggregation="composite" association="_Y_-vUEApEdympvaafZjFBw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_bQrmoEApEdympvaafZjFBw" name="Extension_FeatureGroup" memberEnd="_bQ0wkEApEdympvaafZjFBw _bQ0wkUApEdympvaafZjFBw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_bQ0wkEApEdympvaafZjFBw" name="extension_FeatureGroup" type="_i-f7KTxIEdyqfK4bFJstMQ" aggregation="composite" association="_bQrmoEApEdympvaafZjFBw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_drW5UEApEdympvaafZjFBw" name="Extension_Feature" memberEnd="_drp0QEApEdympvaafZjFBw _drzlQEApEdympvaafZjFBw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_drp0QEApEdympvaafZjFBw" name="extension_Feature" type="_i-f7LjxIEdyqfK4bFJstMQ" aggregation="composite" association="_drW5UEApEdympvaafZjFBw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_loZA8F0rEdyp3-f27ERX8A" name="A_Feature_BindingTimeAttribute" memberEnd="_loZA8V0rEdyp3-f27ERX8A _lor74V0rEdyp3-f27ERX8A">
+ <ownedEnd xmi:id="_lor74V0rEdyp3-f27ERX8A" name="vFMFeature" type="_i-f7LjxIEdyqfK4bFJstMQ" isUnique="false" association="_loZA8F0rEdyp3-f27ERX8A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_lor7410rEdyp3-f27ERX8A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_lor74l0rEdyp3-f27ERX8A" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_l_CmYF0rEdyp3-f27ERX8A" name="A_Feature_BindingTimeAttribute" memberEnd="_l_MXYF0rEdyp3-f27ERX8A _l_VhUF0rEdyp3-f27ERX8A">
+ <ownedEnd xmi:id="_l_VhUF0rEdyp3-f27ERX8A" name="vFMFeature" type="_i-f7LjxIEdyqfK4bFJstMQ" isUnique="false" association="_l_CmYF0rEdyp3-f27ERX8A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_l_VhUl0rEdyp3-f27ERX8A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_l_VhUV0rEdyp3-f27ERX8A" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_dS-m4OCNEdyCF7UOtBciaA" name="Extension_BindingTimeAttribute" memberEnd="_dTXocOCNEdyCF7UOtBciaA _dTlq4OCNEdyCF7UOtBciaA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_dTXocOCNEdyCF7UOtBciaA" name="extension_BindingTimeAttribute" type="_i-f7hTxIEdyqfK4bFJstMQ" aggregation="composite" association="_dS-m4OCNEdyCF7UOtBciaA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_-IfPQLohEd2LtvY4pcU1ZA" name="Extension_FeatureModel" memberEnd="_-OmeULohEd2LtvY4pcU1ZA _-PDKQLohEd2LtvY4pcU1ZA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-OmeULohEd2LtvY4pcU1ZA" name="extension_FeatureModel" type="_i-f7BDxIEdyqfK4bFJstMQ" aggregation="composite" association="_-IfPQLohEd2LtvY4pcU1ZA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_kTTA8NjZEd6wXIBypQTswA" name="Extension_FeatureModel" memberEnd="_kWYxMNjZEd6wXIBypQTswA _kWuIYNjZEd6wXIBypQTswA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_kWYxMNjZEd6wXIBypQTswA" name="extension_FeatureModel" type="_i-f7BDxIEdyqfK4bFJstMQ" aggregation="composite" association="_kTTA8NjZEd6wXIBypQTswA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_wWTBsDxIEdyqfK4bFJstMQ" name="VariabilityDependencyKind">
+ <ownedComment xmi:id="_g05Y8JX8Ed2iJ9_Y3as_2A" annotatedElement="_wWTBsDxIEdyqfK4bFJstMQ">
+ <body>This enumeration encapsulates the available types of constraints that can be applied to a FeatureLink or VariationGroup (the latter is applicable only if the variability extension is used).
+
+Semantics:
+Predefined kinds of constraints that can be associated to a FeatureLink or VariationGroup.
+
+Extension:
+Enumeration, no extension.</body>
+ </ownedComment>
+ <ownedLiteral xmi:id="_i-WMGDxIEdyqfK4bFJstMQ" name="needs">
+ <ownedComment xmi:id="_nJQS8JX8Ed2iJ9_Y3as_2A" annotatedElement="_i-WMGDxIEdyqfK4bFJstMQ">
+ <body>When used in a FeatureLink: if the FeatureLink's start feature S is selected, then also its end feature E must be selected: not (S and not E). Always unidirectional.
+
+When used in a VariationGroup: assuming the ordered association variableElement in meta-class VariationGroup refers to elements VE1, VE2, ..., VEn, this kind states that VE1 requires (i.e. may not appear without) all other elements VE2, VE3, ..., VEn.</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_i-WMGTxIEdyqfK4bFJstMQ" name="optionalAlternative">
+ <ownedComment xmi:id="_lV434JX8Ed2iJ9_Y3as_2A" annotatedElement="_i-WMGTxIEdyqfK4bFJstMQ">
+ <body>When used in a FeatureLink: the FeatureLink's start feature S and end feature E are incompatible and must never be both selected in a single configuration: not (S and E). Always bidirectional.
+
+When used in a VariationGroup: this kind states that at most(!) one element of the elements denoted by association variableElement of the VariationGroup must be selected in any valid final system configuration.</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_i-WMGjxIEdyqfK4bFJstMQ" name="custom">
+ <ownedComment xmi:id="_jYZQcJX8Ed2iJ9_Y3as_2A" annotatedElement="_i-WMGjxIEdyqfK4bFJstMQ">
+ <body>When used in a FeatureLink: the attribute customType in the FeatureLink defines the custom feature link type as explained there.
+
+When used in a VariationGroup: this kind states that the dependency between the elements denoted by association variableElement of the VariationGroup will be defined by a logical expression in attribute 'constraint' of the VariationGroup.</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_l0j8UEx9Ed-NY53ABFLNeA" name="mandatoryAlternative">
+ <ownedComment xmi:id="_2hqLwEx9Ed-NY53ABFLNeA" annotatedElement="_l0j8UEx9Ed-NY53ABFLNeA">
+ <body>When used in a FeatureLink: either the FeatureLink's start feature S or its end feature E must be selected in any configuration: S xor E. Always bidirectional.
+
+When used in a VariationGroup: this kind states that exactly(!) one element of the elements denoted by association variableElement of the VariationGroup must be selected in any valid final system configuration.</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_pbjRIEx9Ed-NY53ABFLNeA" name="suggests">
+ <ownedComment xmi:id="_4VdEoEx9Ed-NY53ABFLNeA" annotatedElement="_pbjRIEx9Ed-NY53ABFLNeA">
+ <body>Weak form of &quot;needs&quot;.
+
+When used in a FeatureLink: if the FeatureLink's start feature S is selected, then usually(!) also its end feature E must be selected. You can select S without E but you should have a good reason to do so. Always unidirectional.
+
+When used in a VariationGroup: accordingly as above.</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_rR1dUEx9Ed-NY53ABFLNeA" name="impedes">
+ <ownedComment xmi:id="_6OkiYEx9Ed-NY53ABFLNeA" annotatedElement="_rR1dUEx9Ed-NY53ABFLNeA">
+ <body>Weak from of &quot;excludes&quot;.
+
+When used in a FeatureLink: the FeatureLink's start feature S and its end feature E must usually(!) not be selected in a single configuration. You can select S together with E but you should have a good reason to do so. Always bidirectional.
+
+When used in a VariationGroup: accordingly as above.</body>
+ </ownedComment>
+ </ownedLiteral>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_APxDQEyTEd-4NtQ6SoVDcg" name="A_FeatureModel_Feature" memberEnd="_AX_LIEyTEd-4NtQ6SoVDcg _AYtj4EyTEd-4NtQ6SoVDcg">
+ <ownedEnd xmi:id="_AYtj4EyTEd-4NtQ6SoVDcg" name="featureModel" type="_i-f7BDxIEdyqfK4bFJstMQ" isUnique="false" association="_APxDQEyTEd-4NtQ6SoVDcg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_AZQWcEyTEd-4NtQ6SoVDcg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_AZN6MEyTEd-4NtQ6SoVDcg" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_lJPFYEyTEd-4NtQ6SoVDcg" name="A_FeatureLink_Feature" memberEnd="_lNc3AEyTEd-4NtQ6SoVDcg _lOCF0EyTEd-4NtQ6SoVDcg">
+ <ownedEnd xmi:id="_lOCF0EyTEd-4NtQ6SoVDcg" name="featureLink" type="_i-f7GDxIEdyqfK4bFJstMQ" isUnique="false" association="_lJPFYEyTEd-4NtQ6SoVDcg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_lOhOAEyTEd-4NtQ6SoVDcg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_lOexwEyTEd-4NtQ6SoVDcg" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_lrh6IEyTEd-4NtQ6SoVDcg" name="A_FeatureLink_Feature" memberEnd="_lvX4UEyTEd-4NtQ6SoVDcg _lv-8UEyTEd-4NtQ6SoVDcg">
+ <ownedEnd xmi:id="_lv-8UEyTEd-4NtQ6SoVDcg" name="featureLink" type="_i-f7GDxIEdyqfK4bFJstMQ" isUnique="false" association="_lrh6IEyTEd-4NtQ6SoVDcg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_lwc2YEyTEd-4NtQ6SoVDcg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_lwbBMEyTEd-4NtQ6SoVDcg" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_8PXTcEyTEd-4NtQ6SoVDcg" name="A_FeatureModel_FeatureLink" memberEnd="_8YR-4EyTEd-4NtQ6SoVDcg _8adJIEyTEd-4NtQ6SoVDcg">
+ <ownedEnd xmi:id="_8adJIEyTEd-4NtQ6SoVDcg" name="featureModel" type="_i-f7BDxIEdyqfK4bFJstMQ" isUnique="false" association="_8PXTcEyTEd-4NtQ6SoVDcg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_8a8RUEyTEd-4NtQ6SoVDcg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_8a6cIEyTEd-4NtQ6SoVDcg" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_J_W4kEyUEd-4NtQ6SoVDcg" name="Extension_FeatureLink" memberEnd="_KEw9AEyUEd-4NtQ6SoVDcg _KFFtIEyUEd-4NtQ6SoVDcg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_KEw9AEyUEd-4NtQ6SoVDcg" name="extension_FeatureLink" type="_i-f7GDxIEdyqfK4bFJstMQ" aggregation="composite" association="_J_W4kEyUEd-4NtQ6SoVDcg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_54SZcEy2Ed-ROfa87c_f9w" name="A_Feature_EADatatypePrototype" memberEnd="_569S8Ey2Ed-ROfa87c_f9w _57xyUEy2Ed-ROfa87c_f9w">
+ <ownedEnd xmi:id="_57xyUEy2Ed-ROfa87c_f9w" name="feature" type="_i-f7LjxIEdyqfK4bFJstMQ" isUnique="false" association="_54SZcEy2Ed-ROfa87c_f9w">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_58I-sEy2Ed-ROfa87c_f9w"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_58HJgEy2Ed-ROfa87c_f9w" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_KAi2cEy3Ed-ROfa87c_f9w" name="A_Feature_FeatureTreeNode" memberEnd="_KCuAsEy3Ed-ROfa87c_f9w _KDk8UEy3Ed-ROfa87c_f9w">
+ <ownedEnd xmi:id="_KDk8UEy3Ed-ROfa87c_f9w" name="feature" type="_i-f7LjxIEdyqfK4bFJstMQ" isUnique="false" association="_KAi2cEy3Ed-ROfa87c_f9w">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KD8vwEy3Ed-ROfa87c_f9w"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KD66kEy3Ed-ROfa87c_f9w" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_b87jgEy3Ed-ROfa87c_f9w" name="A_FeatureGroup_Feature" memberEnd="_b_ehMEy3Ed-ROfa87c_f9w _cAJ2oEy3Ed-ROfa87c_f9w">
+ <ownedEnd xmi:id="_cAJ2oEy3Ed-ROfa87c_f9w" name="featureGroup" type="_i-f7KTxIEdyqfK4bFJstMQ" isUnique="false" association="_b87jgEy3Ed-ROfa87c_f9w">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_cAlUcEy3Ed-ROfa87c_f9w"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_cAjfQEy3Ed-ROfa87c_f9w" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_y4zCUEy3Ed-ROfa87c_f9w" name="FeatureConstraint">
+ <ownedComment xmi:id="_-aEtIEy3Ed-ROfa87c_f9w" annotatedElement="_y4zCUEy3Ed-ROfa87c_f9w">
+ <body>Captures a constraint on the containing feature model's configuration which is too complex to be expressed by way of a FeatureLink. In general, all constraints that can be expressed by a FeatureLink can also be expressed by a FeatureConstraint, but not vice versa.</body>
+ </ownedComment>
+ <generalization xmi:id="_x1gUcE3XEd-eluvub9wzww" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_1fD58Ey3Ed-ROfa87c_f9w" name="criterion" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_CxeLMEy4Ed-ROfa87c_f9w" name="base_Class" isUnique="false" association="_Cul2UEy4Ed-ROfa87c_f9w">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aa2fIG1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aa8lwG1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_IGz4MEy4Ed-ROfa87c_f9w" name="base_Constraint" isUnique="false" association="_IEPFUEy4Ed-ROfa87c_f9w">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Constraint"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bC4vgG1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bC-2IG1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_5WdpUEy3Ed-ROfa87c_f9w" name="A_FeatureModel_FeatureConstraint" memberEnd="_5YozkEy3Ed-ROfa87c_f9w _5Zw08Ey3Ed-ROfa87c_f9w">
+ <ownedEnd xmi:id="_5Zw08Ey3Ed-ROfa87c_f9w" name="featureModel" type="_i-f7BDxIEdyqfK4bFJstMQ" isUnique="false" association="_5WdpUEy3Ed-ROfa87c_f9w">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_5aKdkEy3Ed-ROfa87c_f9w"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_5aIoYEy3Ed-ROfa87c_f9w" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_Cul2UEy4Ed-ROfa87c_f9w" name="Extension_FeatureConstraint" memberEnd="_CxQIwEy4Ed-ROfa87c_f9w _CxeLMEy4Ed-ROfa87c_f9w">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_CxQIwEy4Ed-ROfa87c_f9w" name="extension_FeatureConstraint" type="_y4zCUEy3Ed-ROfa87c_f9w" aggregation="composite" association="_Cul2UEy4Ed-ROfa87c_f9w"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_IEPFUEy4Ed-ROfa87c_f9w" name="Extension_FeatureConstraint" memberEnd="_IGlOsEy4Ed-ROfa87c_f9w _IGz4MEy4Ed-ROfa87c_f9w">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_IGlOsEy4Ed-ROfa87c_f9w" name="extension_FeatureConstraint" type="_y4zCUEy3Ed-ROfa87c_f9w" aggregation="composite" association="_IEPFUEy4Ed-ROfa87c_f9w"/>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="_i-f8CzxIEdyqfK4bFJstMQ" name="SystemModeling" metaclassReference="_868goEAPEdyOzMGdsp2WEQ _RlPrUGETEdyta4cfhP9jxw _oMVJgNlPEdyJxdfA1MC2zQ _wLvIgNduEd6hwb99h1VVPA _ToF_QE1WEd-MJsqTgbIJyg _mgdMYE1WEd-MJsqTgbIJyg _StRq4E1YEd-MJsqTgbIJyg _T52EUE1bEd-MJsqTgbIJyg _UACL4E1bEd-MJsqTgbIJyg">
+ <ownedComment xmi:id="_WhYG0KAlEd20Qu_niqpmJw" annotatedElement="_i-f8CzxIEdyqfK4bFJstMQ">
+ <body>The ADLSystemModel is the top level container of an EAST-ADL2 model. It represents the electronics &amp; software of the vehicle, and its environment, and concepts related to the various abstraction level of models used in EAST-ADL2. It is mainly based on both concepts: Models and architectures.&#xD;
+VehicleFeatureModel represents the features of the vehicle, i.e. the externally visible properties&#xD;
+The AnalysisArchitecture is the abstract functional description of the vehicle electronics&#xD;
+The DesignArchitecture contains the functional specification and hardware architecture of the vehicle electronics&#xD;
+The Implementation Architecture contains the software architecture and components and the hardware architecture of the vehicle&#xD;
+The Operational Architecture represents the actual software and electronics in the manufactured vehicle&#xD;
+The word model vs. architecture is chosen rather informally. Architecture is used where this term is often used in practice, and where the construct is a complete (in some sense) reflection of the aspects that it captures. Model is used in other cases.&#xD;
+These models/architectures contain further elements in a hierarchy.. Relations between these elements over the boundaries between the models/architectures are contained in the ADLSystemModel. This is possible because the SystemModel is a specialization of the ADLContext, and is thus able to contain relations. Typical relations are described in the sub-package CoreConstructs (see definition of ADLRelationship, ADLRealization and ADLSatisfy).&#xD;
+&#xD;
+Overview:&#xD;
+The ADLSystemModel is the top level container of an EAST-ADL2 model. It represents the electronics &amp; software of the vehicle, and its environment, and concepts related to the various abstraction level of models used in EAST-ADL2. It is mainly based on both concepts: Models and architectures.</body>
+ </ownedComment>
+ <elementImport xmi:id="_868goEAPEdyOzMGdsp2WEQ" alias="Model">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Model"/>
+ </elementImport>
+ <elementImport xmi:id="_RlPrUGETEdyta4cfhP9jxw" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <elementImport xmi:id="_oMVJgNlPEdyJxdfA1MC2zQ" alias="NamedElement">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ </elementImport>
+ <elementImport xmi:id="_wLvIgNduEd6hwb99h1VVPA" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <elementImport xmi:id="_ToF_QE1WEd-MJsqTgbIJyg" alias="Package">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ </elementImport>
+ <elementImport xmi:id="_mgdMYE1WEd-MJsqTgbIJyg" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <elementImport xmi:id="_StRq4E1YEd-MJsqTgbIJyg" alias="NamedElement">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ </elementImport>
+ <elementImport xmi:id="_T52EUE1bEd-MJsqTgbIJyg" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <elementImport xmi:id="_UACL4E1bEd-MJsqTgbIJyg" alias="Package">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ </elementImport>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-f8DDxIEdyqfK4bFJstMQ" name="SystemModel">
+ <ownedComment xmi:id="_MM4Z4JU9Ed2pV7v-CAwgKg" annotatedElement="_i-f8DDxIEdyqfK4bFJstMQ">
+ <body>SystemModel is used to organize models/architectures according to their abstraction level; it can also hold with relationships between the different levels.
+
+Semantics:
+The SystemModel represents the EE system of the vehicle, and concepts related to the various abstraction levels.
+
+Notation:
+The default notation for a SystemModel is a solid-outline rectangle containing the SystemModel's name, and with compartments separating by horizontal lines containing features or other members of the SystemModel. Contained entities may also be shown with its connectors (White-box view).
+
+Changes: New class in EAST-ADL2
+
+Extension: Class</body>
+ </ownedComment>
+ <generalization xmi:id="_sNBQMNduEd6hwb99h1VVPA" general="_i-WNsjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_i-f8FDxIEdyqfK4bFJstMQ" name="implementationLevel" visibility="public" type="_8tBRQNlNEdyJxdfA1MC2zQ" association="_i-f8KDxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_Ux0PYJU9Ed2pV7v-CAwgKg" annotatedElement="_i-f8FDxIEdyqfK4bFJstMQ">
+ <body>The Implementation Architecture abstraction level.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-f8FjxIEdyqfK4bFJstMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-f8FTxIEdyqfK4bFJstMQ" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_i-f8FzxIEdyqfK4bFJstMQ" name="analysisLevel" visibility="public" type="_i-WQBzxIEdyqfK4bFJstMQ" association="_i-f8LDxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_Oemk4JU9Ed2pV7v-CAwgKg" annotatedElement="_i-f8FzxIEdyqfK4bFJstMQ">
+ <body>The AnalysisArchitecture contained in the SystemModel and connected to the EnvironmentModel through ports-connectors</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-f8GTxIEdyqfK4bFJstMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-f8GDxIEdyqfK4bFJstMQ" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_i-f8GjxIEdyqfK4bFJstMQ" name="designLevel" visibility="public" type="_i-WP_zxIEdyqfK4bFJstMQ" association="_i-f8MDxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_QjbjYJU9Ed2pV7v-CAwgKg" annotatedElement="_i-f8GjxIEdyqfK4bFJstMQ">
+ <body>The designArchitecture contained in the SystemModel and connected to the EnvironmentModel through ports-connectors</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-f8HDxIEdyqfK4bFJstMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-f8GzxIEdyqfK4bFJstMQ" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_i-f8HTxIEdyqfK4bFJstMQ" name="vehicleLevel" visibility="public" type="_i-f68DxIEdyqfK4bFJstMQ" association="_i-f8NDxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_XPhA4JU9Ed2pV7v-CAwgKg" annotatedElement="_i-f8HTxIEdyqfK4bFJstMQ">
+ <body>The Vehicle Feature Model contained in the SystemModel.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-f8HzxIEdyqfK4bFJstMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-f8HjxIEdyqfK4bFJstMQ" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_xZy3ENduEd6hwb99h1VVPA" name="base_Class" isUnique="false" association="_xVPHMNduEd6hwb99h1VVPA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dWGvUG1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dWM18G1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_UuDhwE1WEd-MJsqTgbIJyg" name="base_Package" isUnique="false" association="_Upl4gE1WEd-MJsqTgbIJyg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_csB3kG1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_csHXIG1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_i-f8KDxIEdyqfK4bFJstMQ" name="A_ImplementationArchitecture_ADLSystemModel" memberEnd="_i-f8KTxIEdyqfK4bFJstMQ _i-f8FDxIEdyqfK4bFJstMQ">
+ <ownedEnd xmi:id="_i-f8KTxIEdyqfK4bFJstMQ" name="ADLSystemModel" visibility="public" type="_i-f8DDxIEdyqfK4bFJstMQ" association="_i-f8KDxIEdyqfK4bFJstMQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-f8KzxIEdyqfK4bFJstMQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-f8KjxIEdyqfK4bFJstMQ" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_i-f8LDxIEdyqfK4bFJstMQ" name="A_ADLSystemModel_AnalysisArchitecture" memberEnd="_i-f8LTxIEdyqfK4bFJstMQ _i-f8FzxIEdyqfK4bFJstMQ">
+ <ownedEnd xmi:id="_i-f8LTxIEdyqfK4bFJstMQ" name="ADLSystemModel" visibility="public" type="_i-f8DDxIEdyqfK4bFJstMQ" association="_i-f8LDxIEdyqfK4bFJstMQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-f8LzxIEdyqfK4bFJstMQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-f8LjxIEdyqfK4bFJstMQ" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_i-f8MDxIEdyqfK4bFJstMQ" name="A_ADLSystemModel_DesignArchitecture" memberEnd="_i-f8MTxIEdyqfK4bFJstMQ _i-f8GjxIEdyqfK4bFJstMQ">
+ <ownedEnd xmi:id="_i-f8MTxIEdyqfK4bFJstMQ" name="ADLSystemModel" visibility="public" type="_i-f8DDxIEdyqfK4bFJstMQ" association="_i-f8MDxIEdyqfK4bFJstMQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-f8MzxIEdyqfK4bFJstMQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-f8MjxIEdyqfK4bFJstMQ" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_i-f8NDxIEdyqfK4bFJstMQ" name="A_ADLSystemModel_VehicleFeatureModel" memberEnd="_i-f8NTxIEdyqfK4bFJstMQ _i-f8HTxIEdyqfK4bFJstMQ">
+ <ownedEnd xmi:id="_i-f8NTxIEdyqfK4bFJstMQ" name="ADLSystemModel" visibility="public" type="_i-f8DDxIEdyqfK4bFJstMQ" association="_i-f8NDxIEdyqfK4bFJstMQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-f8NzxIEdyqfK4bFJstMQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-f8NjxIEdyqfK4bFJstMQ" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WQBzxIEdyqfK4bFJstMQ" name="AnalysisLevel">
+ <ownedComment xmi:id="_h180EJU9Ed2pV7v-CAwgKg" annotatedElement="_i-WQBzxIEdyqfK4bFJstMQ">
+ <body>AnalysisLevel represents the vehicle EE system in terms of its abstract functional definition. It includes the functional analysis architecture (FAA) which represents the abstract functional structure.
+
+Semantics:
+AnalysisLevel represents the vehicle EE system in terms of its abstract functional definition. It defines the logical functionality and a logical decomposition of functionality down to the appropriate granularity.
+
+Notation:
+The Analysis Architecture is shown as a solid-outline rectangle containing the name, with its ports or port groups on the perimeter. Contained entities may be shown with its connectors (White-box view).
+
+Extension:
+Class</body>
+ </ownedComment>
+ <generalization xmi:id="_ju644E1WEd-MJsqTgbIJyg" general="_i-WNsjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_o6dwsE1WEd-MJsqTgbIJyg" name="base_Class" isUnique="false" association="_o4ZUIE1WEd-MJsqTgbIJyg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_eWKeIG1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_eWToEG1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_pSt4oE1WEd-MJsqTgbIJyg" name="base_Package" isUnique="false" association="_pQm_0E1WEd-MJsqTgbIJyg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_e--KkG1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_e_ERMG1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_nxqgIE1XEd-MJsqTgbIJyg" name="functionalAnalysisArchitecture" type="_yptUcE0aEd-bZ5L3ZgEOlA" association="_nvv0kE1XEd-MJsqTgbIJyg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_s6aioE1XEd-MJsqTgbIJyg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_s6gCME1XEd-MJsqTgbIJyg" value="1"/>
+ </ownedAttribute>
+ <icon xmi:id="_NUdj0EnMEd2n_LV02Saw8w" content="71%73%70%56%57%97%16%0%16%0%-25%-128%0%20%30%100%22%32%102%25%35%105%27%37%107%29%39%109%31%41%111%32%42%112%35%45%115%36%46%116%39%49%119%40%50%120%42%52%122%43%53%123%46%56%126%47%57%127%50%60%-126%53%63%-123%54%64%-122%57%67%-119%58%68%-118%60%70%-116%62%72%-115%62%72%-114%62%73%-114%64%73%-114%64%74%-113%65%75%-112%66%76%-111%67%77%-110%68%78%-110%69%79%-109%69%80%-108%71%81%-108%72%82%-107%72%82%-106%73%83%-106%74%83%-106%74%84%-105%74%84%-104%76%85%-104%76%86%-103%77%86%-103%78%87%-102%78%88%-102%79%89%-102%79%90%-101%80%90%-100%81%91%-99%81%92%-99%83%93%-99%83%93%-98%84%94%-97%85%94%-97%86%96%-97%86%97%-96%87%97%-95%87%97%-94%89%98%-94%89%99%-94%90%100%-93%91%101%-92%91%101%-91%92%102%-91%94%103%-90%94%104%-89%95%105%-89%96%106%-89%97%107%-88%98%107%-87%98%108%-87%99%110%-85%101%111%-84%101%112%-84%103%113%-83%104%114%-82%107%117%-80%108%117%-79%108%118%-78%109%120%-78%109%120%-77%110%121%-77%111%121%-76%113%122%-76%113%123%-75%114%124%-74%115%125%-73%116%126%-72%116%127%-72%118%127%-71%119%-127%-70%119%-126%-69%123%-123%-68%123%-123%-66%125%-121%-65%126%-120%-65%126%-120%-64%127%-119%-64%-128%-117%-63%-127%-117%-63%-126%-116%-62%-125%-115%-61%-125%-114%-60%-124%-114%-60%-124%-113%-59%-123%-112%-59%-122%-112%-58%-121%-112%-58%-121%-111%-58%-120%-110%-57%-119%-110%-57%-119%-108%-55%-117%-108%-55%-117%-107%-55%-117%-107%-54%-116%-106%-54%-115%-105%-53%-114%-104%-53%-114%-103%-52%-113%-103%-51%-113%-102%-51%-112%-102%-51%-111%-101%-50%-110%-100%-49%-109%-99%-48%-108%-98%-47%-107%-97%-47%-106%-97%-46%-106%-96%-46%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%33%-1%11%78%69%84%83%67%65%80%69%50%46%48%3%1%0%0%0%33%-7%4%1%10%0%-1%0%44%0%0%0%0%16%0%16%0%0%8%-64%0%-1%9%28%72%-80%-96%-63%-125%5%41%40%92%-56%-112%-31%-65%9%123%-8%-12%-15%-13%-89%-94%-59%-117%18%34%-72%121%3%39%-114%-100%57%116%-22%-40%-71%-125%39%-113%30%61%16%30%-124%17%51%102%12%-103%50%102%-50%-96%73%-93%102%13%-101%54%15%28%100%-55%-62%5%16%-96%46%91%-68%-12%-4%-7%5%76%3%6%79%-100%0%-94%82%5%-48%20%43%75%-101%94%-63%-78%64%-127%-111%35%62%125%42%89%-110%21%16%-109%38%9%16%-20%-32%1%40%-120%16%64%64%-122%-108%61%75%-92%-56%1%3%46%94%-64%-120%33%99%-58%12%26%53%108%-36%-64%-111%67%71%1%2%32%66%-120%24%65%-94%-124%-119%19%40%82%-88%88%-63%-94%-59%0%1%21%44%92%-64%-112%65%-125%-122%13%27%56%116%-24%-32%-31%67%-128%127%0%66%-117%30%61%26%-95%-23%-45%6%3%2%0%33%-7%4%1%10%0%-1%0%44%9%0%6%0%4%0%4%0%0%8%17%0%-71%0%2%-44%5%16%-107%42%3%19%2%10%34%4%80%64%0%59%">
+ <eAnnotations xmi:id="_N5FT0EnMEd2n_LV02Saw8w" source="image_papyrus">
+ <details xmi:id="_N5MBgEnMEd2n_LV02Saw8w" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WP_zxIEdyqfK4bFJstMQ" name="DesignLevel">
+ <ownedComment xmi:id="_3tbdsJU9Ed2pV7v-CAwgKg" annotatedElement="_i-WP_zxIEdyqfK4bFJstMQ">
+ <body>DesignLevel represents the vehicle EE system on the design abstraction level. It includes primarily the Functional Design Architecture (FDA), and the HardwareDesignArchitecture (HDA).
+
+FDA represents a top level Function. It is supposed to implement all the functionalities of a vehicle, as specified by a Functional Analysis Architecture or a Vehicle level (if no Functional Analysis Architecture has been defined during the process).
+
+The design level in EAST-ADL2 includes the design architecture containing the functional specification and hardware architecture of the vehicle EE system. The design architecture includes the Functional Design Architecture representing a decomposition of functionalities analyzed on the analysis level. The decomposition has the purpose of making it possible to meet constraints regarding non-functional properties such as allocation, efficiency, reuse, or supplier concerns. There is an n-to-m mapping between entities of the design- and the ones on the analysis level.
+
+Non-transparent infrastructure functionality such as mode changes and error handling are also represented at the design level, such that their impact on applications' behaviors can be estimated.
+
+The Functional Design Architecture parts are typed by FunctionTypes and LocalDeviceManagers. The view of the HardwareArchitecture facilitates the realization of LocalDeviceManager as sensor/actuator HW elements.
+
+The HDA is the hardware design from a system perspective. The HDA has two purposes:
+
+1) It shows the physical entities and how they are connected.
+
+2) It is an allocation target for the Functions of the Functional Design Architecture.
+
+The HDA represents the hardware architecture of the embedded system. Its contained HW elements represent the physical aspects of the hardware entities and how they are connected. HardwareFunctionTypes associated to HW components represent the logical behavior of the contained HW elements.
+
+Semantics:
+The DesignLevel is the representation of the vehicle EE system on the design abstraction level. It corresponds to the design of logical functions and boundaries extended in regards to resource commitment.
+
+Notation:
+The DesignLevel is shown as a solid-outline rectangle containing the name, with its ports or port groups on the perimeter. Contained entities may be shown with its connectors (White-box view).
+
+
+Extension: Class</body>
+ </ownedComment>
+ <generalization xmi:id="_3fqfgE1WEd-MJsqTgbIJyg" general="_i-WNsjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_2Pi7cE1WEd-MJsqTgbIJyg" name="base_Class" isUnique="false" association="_2NRDgE1WEd-MJsqTgbIJyg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_f5ZygG1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_f5erAG1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_2o1lME1WEd-MJsqTgbIJyg" name="base_Package" isUnique="false" association="_2mkUUE1WEd-MJsqTgbIJyg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gh4HwG1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gh9AQG1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_v-c7YE1XEd-MJsqTgbIJyg" name="functionalDesignArchitecture" type="_TGIuEE0cEd-bZ5L3ZgEOlA" association="_v4TQEE1XEd-MJsqTgbIJyg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_v-0u0E1XEd-MJsqTgbIJyg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_v-3LEE1XEd-MJsqTgbIJyg" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_-pFj0E1XEd-MJsqTgbIJyg" name="hardwareDesignArchitecture" type="_8mIUgJOQEdyUQMht1ste1A" association="_-m6ZkE1XEd-MJsqTgbIJyg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-pfzgE1XEd-MJsqTgbIJyg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-phosE1XEd-MJsqTgbIJyg" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_IDC80E1YEd-MJsqTgbIJyg" name="allocation" type="_SL9oAE0gEd-upcklZdNpWw" association="_H77BIE1YEd-MJsqTgbIJyg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IDisEE1YEd-MJsqTgbIJyg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IDkhQE1YEd-MJsqTgbIJyg" value="*"/>
+ </ownedAttribute>
+ <icon xmi:id="_6gDUgEnJEd2n_LV02Saw8w" content="71%73%70%56%57%97%16%0%16%0%-58%123%0%20%30%100%22%32%102%25%35%105%27%37%107%29%39%109%31%41%111%32%42%112%35%45%115%36%46%116%39%49%119%40%50%120%42%52%122%43%53%123%46%56%126%47%57%127%50%60%-126%53%63%-123%54%64%-122%57%67%-119%58%68%-118%60%70%-116%62%72%-115%62%72%-114%62%73%-114%64%73%-114%64%74%-113%65%75%-112%66%76%-111%67%77%-110%68%78%-110%69%79%-109%69%80%-108%71%81%-108%72%82%-107%72%82%-106%73%83%-106%74%83%-106%74%84%-105%74%84%-104%76%85%-104%76%86%-103%77%86%-103%78%87%-102%78%88%-102%79%89%-102%79%90%-101%80%90%-100%81%91%-99%81%92%-99%83%93%-99%83%93%-98%84%94%-97%85%94%-97%86%96%-97%86%97%-96%87%97%-95%87%97%-94%89%98%-94%89%99%-94%90%100%-93%91%101%-92%91%101%-91%94%104%-89%95%105%-89%96%106%-89%97%107%-88%98%107%-87%98%108%-87%99%110%-85%101%111%-84%102%112%-83%104%114%-82%107%117%-80%108%117%-79%108%118%-78%109%120%-78%109%120%-77%110%121%-77%112%122%-76%113%123%-75%114%124%-74%115%125%-73%116%126%-72%116%127%-72%118%127%-71%119%-127%-70%119%-126%-69%123%-123%-68%123%-123%-66%125%-121%-65%126%-120%-65%126%-120%-64%127%-119%-64%-128%-117%-63%-127%-117%-63%-126%-116%-62%-125%-115%-61%-125%-114%-60%-124%-114%-60%-124%-113%-59%-123%-112%-59%-122%-112%-58%-121%-112%-58%-121%-111%-58%-120%-110%-57%-119%-110%-57%-119%-108%-55%-117%-108%-55%-117%-107%-55%-117%-107%-54%-116%-106%-54%-115%-105%-53%-114%-104%-53%-114%-103%-52%-113%-103%-51%-113%-102%-51%-112%-102%-51%-111%-101%-50%-110%-100%-49%-109%-99%-48%-108%-98%-47%-107%-97%-47%-106%-97%-46%-106%-96%-46%-1%-1%-1%-106%-96%-46%-106%-96%-46%-106%-96%-46%33%-2%51%69%65%83%84%45%65%68%76%32%112%114%111%106%101%99%116%10%65%117%116%104%111%114%32%58%32%109%105%99%107%97%101%108%46%99%111%110%100%101%64%115%105%101%109%101%110%115%46%99%111%109%0%33%-7%4%1%10%0%127%0%44%0%0%0%0%16%0%16%0%0%7%-76%-128%127%-126%-125%-124%-123%-122%-121%-123%20%-118%-117%-116%-116%127%19%119%120%121%122%123%-107%-106%-105%18%17%106%107%108%109%110%111%112%113%114%115%116%117%118%118%16%15%93%94%95%95%96%97%98%99%100%101%102%103%104%105%15%14%85%85%86%124%-66%87%88%-66%89%90%91%92%13%12%76%75%77%124%78%124%79%124%80%81%124%82%83%84%11%10%68%69%69%124%70%124%71%-66%-66%72%73%74%9%8%59%60%61%-32%62%124%63%64%124%65%66%67%7%6%46%47%48%49%50%51%51%52%53%54%55%56%57%116%20%32%0%34%-124%-120%17%36%74%-104%56%-127%34%-123%-118%21%44%90%12%16%80%-63%-62%5%12%25%52%104%-40%-80%-127%67%-121%14%30%62%4%-8%3%-96%-92%-55%-109%39%17%-87%92%105%40%16%0%59%">
+ <eAnnotations xmi:id="_7AFfcEnJEd2n_LV02Saw8w" source="image_papyrus">
+ <details xmi:id="_7ARssEnJEd2n_LV02Saw8w" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_8tBRQNlNEdyJxdfA1MC2zQ" name="ImplementationLevel">
+ <ownedComment xmi:id="_L6t2YJU-Ed2pV7v-CAwgKg" annotatedElement="_8tBRQNlNEdyJxdfA1MC2zQ">
+ <body>ImplementationLevel represents the software architecture and components, and the hardware architecture of the EE system in the vehicle. The ImplementationLevel is defined by the AUTOSAR System- and SoftwareArchitecture. For example, functions of the Functional Design Architecture will be realized by AUTOSAR SW-Components in the ImplementationLevel. Traceability is supported from implementation level elements (AUTOSAR) to upper level elements by Realization relationships.
+
+
+Extension: Class</body>
+ </ownedComment>
+ <generalization xmi:id="_eOVL4E1bEd-MJsqTgbIJyg" general="_i-WNsjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_UAUAEE1YEd-MJsqTgbIJyg" name="autosarSystem" isUnique="false" association="_T8BV8E1YEd-MJsqTgbIJyg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WN__oE1YEd-MJsqTgbIJyg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_WOEREE1YEd-MJsqTgbIJyg" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Ya2KUE1bEd-MJsqTgbIJyg" name="base_Class" isUnique="false" association="_YXxBIE1bEd-MJsqTgbIJyg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hb8jUG1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hcDRAG1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Y3qCIE1bEd-MJsqTgbIJyg" name="base_Package" isUnique="false" association="_Y0eLQE1bEd-MJsqTgbIJyg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iDK7YG1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iDRpEG1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <icon xmi:id="_QcqD0EnMEd2n_LV02Saw8w" content="71%73%70%56%57%97%16%0%16%0%-25%-128%0%20%30%100%22%32%102%25%35%105%27%37%107%29%39%109%31%41%111%32%42%112%35%45%115%36%46%116%39%49%119%40%50%120%42%52%122%43%53%123%46%56%126%47%57%127%50%60%-126%53%63%-123%54%64%-122%57%67%-119%58%68%-118%60%70%-116%62%72%-115%62%72%-114%62%73%-114%64%73%-114%64%74%-113%65%75%-112%66%76%-111%67%77%-110%68%78%-110%69%79%-109%69%80%-108%71%81%-108%72%82%-107%72%82%-106%73%83%-106%74%83%-106%74%84%-105%74%84%-104%76%85%-104%76%86%-103%77%86%-103%78%87%-102%78%88%-102%79%89%-102%79%90%-101%80%90%-100%81%91%-99%81%92%-99%83%93%-99%83%93%-98%84%94%-97%85%94%-97%86%96%-97%86%97%-96%87%97%-95%87%97%-94%89%98%-94%89%99%-94%90%100%-93%91%101%-92%91%101%-91%92%102%-91%94%103%-90%94%104%-89%95%105%-89%96%106%-89%97%107%-88%98%107%-87%98%108%-87%99%110%-85%101%111%-84%101%112%-84%103%113%-83%104%114%-82%107%117%-80%108%117%-79%108%118%-78%109%120%-78%109%120%-77%110%121%-77%111%121%-76%113%122%-76%113%123%-75%114%124%-74%115%125%-73%116%126%-72%116%127%-72%118%127%-71%119%-127%-70%119%-126%-69%123%-123%-68%123%-123%-66%125%-121%-65%126%-120%-65%126%-120%-64%127%-119%-64%-128%-117%-63%-127%-117%-63%-126%-116%-62%-125%-115%-61%-125%-114%-60%-124%-114%-60%-124%-113%-59%-123%-112%-59%-122%-112%-58%-121%-112%-58%-121%-111%-58%-120%-110%-57%-119%-110%-57%-119%-108%-55%-117%-108%-55%-117%-107%-55%-117%-107%-54%-116%-106%-54%-115%-105%-53%-114%-104%-53%-114%-103%-52%-113%-103%-51%-113%-102%-51%-112%-102%-51%-111%-101%-50%-110%-100%-49%-109%-99%-48%-108%-98%-47%-107%-97%-47%-106%-97%-46%-106%-96%-46%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%33%-7%4%1%10%0%-1%0%44%0%0%0%0%16%0%16%0%0%8%-60%0%-1%9%28%72%-80%-96%-63%-125%5%41%40%92%-56%-112%-31%-65%9%123%-8%-12%-15%-13%-89%-94%-59%-117%18%34%-72%121%3%39%-114%-100%57%116%-22%-40%-71%-125%39%-113%30%61%16%30%-124%17%51%102%12%-103%50%102%-50%-96%73%-93%102%13%-101%54%15%28%100%-55%-94%5%-112%-49%45%92%124%118%-15%-14%5%76%3%6%79%-100%64%-119%2%72%-54%20%64%84%-86%0%-78%114%5%-53%2%5%70%-114%28%65%2%40%-119%18%-97%62%-105%48%105%-110%0%-63%14%30%61%-64%2%1%20%68%8%-96%33%68%-118%28%48%-32%-30%5%-116%24%50%102%-52%-96%81%-61%-58%13%28%57%116%20%32%0%34%-124%-120%17%36%74%-104%56%-127%34%-123%-118%21%44%90%12%16%80%-63%-62%5%12%25%52%104%-40%-80%-127%67%-121%14%30%62%4%-8%7%-96%-76%-23%-45%-89%17%-86%94%109%48%32%0%59%">
+ <eAnnotations xmi:id="_Q3-t4EnMEd2n_LV02Saw8w" source="image_papyrus">
+ <details xmi:id="_Q4E0gEnMEd2n_LV02Saw8w" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_xVPHMNduEd6hwb99h1VVPA" name="Extension_ADLSystemModel" memberEnd="_xZbqsNduEd6hwb99h1VVPA _xZy3ENduEd6hwb99h1VVPA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_xZbqsNduEd6hwb99h1VVPA" name="extension_ADLSystemModel" type="_i-f8DDxIEdyqfK4bFJstMQ" aggregation="composite" association="_xVPHMNduEd6hwb99h1VVPA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-f68DxIEdyqfK4bFJstMQ" name="VehicleLevel">
+ <ownedComment xmi:id="_jv004JU_Ed2pV7v-CAwgKg" annotatedElement="_i-f68DxIEdyqfK4bFJstMQ">
+ <body>VehicleLevel represents an arbitrary set of feature models containing only VehicleFeatures.
+
+Constraints:
+[1] All contained feature models are FeatureModels that only contain VehicleFeatures.
+
+Semantics:
+The VehicleLevel contains the technical feature models.
+
+Extension: class.</body>
+ </ownedComment>
+ <generalization xmi:id="_stevUE9uEd6AX7OBk0YqTg" general="_i-WNsjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_g6AxgASIEd2YANJEsILj7w" name="base_Package" isUnique="false" association="_g49ooASIEd2YANJEsILj7w">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i7HQAG1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i7N9sG1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_8JTswNd5Ed6hwb99h1VVPA" name="base_Class" isUnique="false" association="_8HwNkNd5Ed6hwb99h1VVPA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jjGdEG1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jjL8oG1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_cIJfUE1XEd-MJsqTgbIJyg" name="technicalFeatureModel" type="_i-f7BDxIEdyqfK4bFJstMQ" association="_cCRg0E1XEd-MJsqTgbIJyg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_cIh50E1XEd-MJsqTgbIJyg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_cIjvAE1XEd-MJsqTgbIJyg" value="*"/>
+ </ownedAttribute>
+ <icon xmi:id="_NQ4P4EnCEd2n_LV02Saw8w" content="71%73%70%56%57%97%16%0%16%0%-58%120%0%20%30%100%22%32%102%25%35%105%27%37%107%29%39%109%31%41%111%32%42%112%35%45%115%36%46%116%39%49%119%40%50%120%42%52%122%43%53%123%46%56%126%47%57%127%50%60%-126%53%63%-123%54%64%-122%57%67%-119%58%68%-118%60%70%-116%62%72%-115%62%72%-114%62%73%-114%64%73%-114%64%74%-113%65%75%-112%66%76%-111%67%77%-110%68%78%-110%69%79%-109%69%80%-108%71%81%-108%72%82%-107%72%82%-106%73%83%-106%74%83%-106%74%84%-105%74%84%-104%76%85%-104%76%86%-103%77%86%-103%78%87%-102%78%88%-102%79%89%-102%79%90%-101%80%90%-100%81%91%-99%81%92%-99%83%93%-99%83%93%-98%84%94%-97%85%94%-97%86%96%-97%86%97%-96%87%97%-95%87%97%-94%89%98%-94%89%99%-94%90%100%-93%91%101%-92%92%102%-91%92%103%-91%94%104%-89%95%105%-89%97%106%-87%97%107%-88%98%108%-87%99%110%-85%101%111%-84%102%112%-83%104%114%-82%105%115%-81%106%116%-80%107%117%-80%108%118%-78%109%120%-77%110%121%-77%112%122%-76%113%123%-75%113%124%-74%114%124%-74%118%127%-71%119%-127%-70%119%-126%-69%121%-124%-68%123%-123%-66%125%-121%-65%126%-120%-65%127%-119%-64%-128%-117%-63%-127%-117%-63%-126%-116%-62%-125%-115%-61%-125%-114%-60%-124%-114%-60%-124%-113%-59%-123%-112%-59%-122%-112%-58%-121%-112%-58%-121%-111%-58%-120%-110%-57%-119%-110%-57%-119%-108%-55%-117%-108%-55%-117%-107%-55%-117%-107%-54%-116%-106%-54%-115%-105%-53%-114%-104%-53%-114%-103%-52%-113%-103%-51%-113%-102%-51%-112%-102%-51%-111%-101%-50%-110%-100%-49%-109%-99%-48%-108%-98%-47%-107%-97%-47%-106%-97%-46%-106%-96%-46%-1%-1%-1%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%33%-2%51%69%65%83%84%45%65%68%76%32%112%114%111%106%101%99%116%10%65%117%116%104%111%114%32%58%32%109%105%99%107%97%101%108%46%99%111%110%100%101%64%115%105%101%109%101%110%115%46%99%111%109%0%33%-7%4%1%10%0%127%0%44%0%0%0%0%16%0%16%0%0%7%-74%-128%127%-126%-125%-124%-123%-122%-121%-123%20%-118%-117%-116%-116%127%19%116%117%118%119%120%-107%-106%-105%18%17%103%104%105%106%107%108%109%110%111%112%113%114%115%115%16%15%90%91%92%92%93%94%95%96%97%98%99%100%101%102%15%14%83%121%84%121%85%121%-64%86%121%87%88%121%89%13%12%76%121%77%121%78%121%79%80%81%-64%-64%82%11%10%68%121%69%121%70%-64%71%72%121%73%74%121%75%9%8%59%60%121%61%62%121%63%64%64%121%65%66%121%67%7%6%46%47%48%49%50%51%51%52%53%54%55%112%-28%-48%81%-128%0%-120%16%34%70%-112%40%97%-30%4%-118%20%42%86%-80%104%49%64%64%5%11%23%48%100%-48%-96%97%-61%6%14%29%58%120%-8%16%-32%15%-128%-109%40%83%-90%68%-60%-78%-91%-95%64%0%59%">
+ <eAnnotations xmi:id="_NvmzQEnCEd2n_LV02Saw8w" source="image_papyrus">
+ <details xmi:id="_NvsS0EnCEd2n_LV02Saw8w" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_Upl4gE1WEd-MJsqTgbIJyg" name="Extension_SystemModel" memberEnd="_Ut1fUE1WEd-MJsqTgbIJyg _UuDhwE1WEd-MJsqTgbIJyg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_Ut1fUE1WEd-MJsqTgbIJyg" name="extension_SystemModel" type="_i-f8DDxIEdyqfK4bFJstMQ" aggregation="composite" association="_Upl4gE1WEd-MJsqTgbIJyg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_o4ZUIE1WEd-MJsqTgbIJyg" name="Extension_AnalysisLevel" memberEnd="_o6MD4E1WEd-MJsqTgbIJyg _o6dwsE1WEd-MJsqTgbIJyg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_o6MD4E1WEd-MJsqTgbIJyg" name="extension_AnalysisLevel" type="_i-WQBzxIEdyqfK4bFJstMQ" aggregation="composite" association="_o4ZUIE1WEd-MJsqTgbIJyg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_pQm_0E1WEd-MJsqTgbIJyg" name="Extension_AnalysisLevel" memberEnd="_pScL0E1WEd-MJsqTgbIJyg _pSt4oE1WEd-MJsqTgbIJyg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_pScL0E1WEd-MJsqTgbIJyg" name="extension_AnalysisLevel" type="_i-WQBzxIEdyqfK4bFJstMQ" aggregation="composite" association="_pQm_0E1WEd-MJsqTgbIJyg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_2NRDgE1WEd-MJsqTgbIJyg" name="Extension_DesignLevel" memberEnd="_2PROoE1WEd-MJsqTgbIJyg _2Pi7cE1WEd-MJsqTgbIJyg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_2PROoE1WEd-MJsqTgbIJyg" name="extension_DesignLevel" type="_i-WP_zxIEdyqfK4bFJstMQ" aggregation="composite" association="_2NRDgE1WEd-MJsqTgbIJyg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_2mkUUE1WEd-MJsqTgbIJyg" name="Extension_DesignLevel" memberEnd="_2om7sE1WEd-MJsqTgbIJyg _2o1lME1WEd-MJsqTgbIJyg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_2om7sE1WEd-MJsqTgbIJyg" name="extension_DesignLevel" type="_i-WP_zxIEdyqfK4bFJstMQ" aggregation="composite" association="_2mkUUE1WEd-MJsqTgbIJyg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_cCRg0E1XEd-MJsqTgbIJyg" name="A_VehicleLevel_FeatureModel" memberEnd="_cIJfUE1XEd-MJsqTgbIJyg _cIlkME1XEd-MJsqTgbIJyg">
+ <ownedEnd xmi:id="_cIlkME1XEd-MJsqTgbIJyg" name="vehicleLevel" type="_i-f68DxIEdyqfK4bFJstMQ" isUnique="false" association="_cCRg0E1XEd-MJsqTgbIJyg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_cI-lwE1XEd-MJsqTgbIJyg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_cI8wkE1XEd-MJsqTgbIJyg" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_nvv0kE1XEd-MJsqTgbIJyg" name="A_AnalysisLevel_AnalysisFunctionPrototype" memberEnd="_nxqgIE1XEd-MJsqTgbIJyg _nylGIE1XEd-MJsqTgbIJyg">
+ <ownedEnd xmi:id="_nylGIE1XEd-MJsqTgbIJyg" name="analysisLevel" type="_i-WQBzxIEdyqfK4bFJstMQ" isUnique="false" association="_nvv0kE1XEd-MJsqTgbIJyg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nzByEE1XEd-MJsqTgbIJyg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ny_84E1XEd-MJsqTgbIJyg" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_v4TQEE1XEd-MJsqTgbIJyg" name="A_DesignLevel_DesignFunctionPrototype" memberEnd="_v-c7YE1XEd-MJsqTgbIJyg _v-5AQE1XEd-MJsqTgbIJyg">
+ <ownedEnd xmi:id="_v-5AQE1XEd-MJsqTgbIJyg" name="designLevel" type="_i-WP_zxIEdyqfK4bFJstMQ" isUnique="false" association="_v4TQEE1XEd-MJsqTgbIJyg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_v_WTQE1XEd-MJsqTgbIJyg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_v_UeEE1XEd-MJsqTgbIJyg" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_-m6ZkE1XEd-MJsqTgbIJyg" name="A_DesignLevel_HardwareComponentPrototype" memberEnd="_-pFj0E1XEd-MJsqTgbIJyg _-pkE8E1XEd-MJsqTgbIJyg">
+ <ownedEnd xmi:id="_-pkE8E1XEd-MJsqTgbIJyg" name="designLevel" type="_i-WP_zxIEdyqfK4bFJstMQ" isUnique="false" association="_-m6ZkE1XEd-MJsqTgbIJyg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-p-7sE1XEd-MJsqTgbIJyg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-p9GgE1XEd-MJsqTgbIJyg" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_H77BIE1YEd-MJsqTgbIJyg" name="A_DesignLevel_Allocation" memberEnd="_IDC80E1YEd-MJsqTgbIJyg _IDm9gE1YEd-MJsqTgbIJyg">
+ <ownedEnd xmi:id="_IDm9gE1YEd-MJsqTgbIJyg" name="designLevel" type="_i-WP_zxIEdyqfK4bFJstMQ" isUnique="false" association="_H77BIE1YEd-MJsqTgbIJyg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IEAmIE1YEd-MJsqTgbIJyg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ID-w8E1YEd-MJsqTgbIJyg" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_T8BV8E1YEd-MJsqTgbIJyg" name="A_ImplementationLevel_NamedElement" memberEnd="_UAUAEE1YEd-MJsqTgbIJyg _UAx6IE1YEd-MJsqTgbIJyg">
+ <ownedEnd xmi:id="_UAx6IE1YEd-MJsqTgbIJyg" name="implementationLevel" type="_8tBRQNlNEdyJxdfA1MC2zQ" isUnique="false" association="_T8BV8E1YEd-MJsqTgbIJyg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_UBMw4E1YEd-MJsqTgbIJyg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_UBKUoE1YEd-MJsqTgbIJyg" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_YXxBIE1bEd-MJsqTgbIJyg" name="Extension_ImplementationLevel" memberEnd="_YagzIE1bEd-MJsqTgbIJyg _Ya2KUE1bEd-MJsqTgbIJyg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_YagzIE1bEd-MJsqTgbIJyg" name="extension_ImplementationLevel" type="_8tBRQNlNEdyJxdfA1MC2zQ" aggregation="composite" association="_YXxBIE1bEd-MJsqTgbIJyg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_Y0eLQE1bEd-MJsqTgbIJyg" name="Extension_ImplementationLevel" memberEnd="_Y3VSAE1bEd-MJsqTgbIJyg _Y3qCIE1bEd-MJsqTgbIJyg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_Y3VSAE1bEd-MJsqTgbIJyg" name="extension_ImplementationLevel" type="_8tBRQNlNEdyJxdfA1MC2zQ" aggregation="composite" association="_Y0eLQE1bEd-MJsqTgbIJyg"/>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="_V5LXIHJVEdyx6oOkwavytg" name="HardwareModeling" metaclassReference="_jpI_sHJYEdyx6oOkwavytg _ATqDYHJZEdyx6oOkwavytg _MVePcHJZEdyx6oOkwavytg _GkQr0JgWEdyzHKeG3SRtrw">
+ <ownedComment xmi:id="_MTOegKAqEd20Qu_niqpmJw" annotatedElement="_V5LXIHJVEdyx6oOkwavytg">
+ <body>The package HardwareModeling contains the elements to model physical entities of the embedded EE system. These elements allow capturing the hardware in sufficient detail to allow preliminary allocation decisions.
+
+The allocation decisions are based on requirements on timing, storage, data throughput, processing power, etc. that are defined in the Functional Analysis Architecture and the Functional Design Architecture.
+
+Conversely, the Functional Analysis Architecture and the Functional Design Architecture may be revised based on analysis using information from the Hardware Design Architecture. An example is control law design, where algorithms may be modified for expected computational and communication delays. Thus, the Hardware Design Architecture contains information about properties in order to support, e.g., timing analysis and performance in these respects.</body>
+ </ownedComment>
+ <elementImport xmi:id="_jpI_sHJYEdyx6oOkwavytg" alias="Connector">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Connector"/>
+ </elementImport>
+ <elementImport xmi:id="_ATqDYHJZEdyx6oOkwavytg" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <elementImport xmi:id="_MVePcHJZEdyx6oOkwavytg" alias="Port">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ </elementImport>
+ <elementImport xmi:id="_GkQr0JgWEdyzHKeG3SRtrw" alias="Property">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </elementImport>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_2nIbEHJVEdyx6oOkwavytg" name="HardwareConnector">
+ <ownedComment xmi:id="_rI6asJXhEd2iJ9_Y3as_2A" annotatedElement="_2nIbEHJVEdyx6oOkwavytg">
+ <body>Hardware connectors represent wires that electrically connect the hardware components through its ports.
+
+Semantics:
+The connector joins the two referenced ports electrically, with a resistance defined by the resistance attribute.
+
+Extension:
+Connector</body>
+ </ownedComment>
+ <generalization xmi:id="_naDQYE1iEd-vDMV60hCRBg" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_muSLsHJYEdyx6oOkwavytg" name="base_Connector" isUnique="false" association="_mt_QwHJYEdyx6oOkwavytg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Connector"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_HrUi4E1kEd-vDMV60hCRBg" name="port" type="_c7BMwHJWEdyx6oOkwavytg" isUnique="false" isDerived="true" association="_HpNqEE1kEd-vDMV60hCRBg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_LR3y0E1kEd-vDMV60hCRBg" value="2"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_LR95cE1kEd-vDMV60hCRBg" value="2"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_9HT84E34Ed-lBeOY4fJiaA" name="port1_path" type="_8mIUgJOQEdyUQMht1ste1A" isOrdered="true" association="_9D74wE34Ed-lBeOY4fJiaA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9IMtsE34Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_9IV3oE34Ed-lBeOY4fJiaA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_--04IE34Ed-lBeOY4fJiaA" name="port2_path" type="_8mIUgJOQEdyUQMht1ste1A" isOrdered="true" association="_-73DsE34Ed-lBeOY4fJiaA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-_wsQE34Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-_2L0E34Ed-lBeOY4fJiaA" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_3O6z0HJVEdyx6oOkwavytg" name="IOHardwarePin">
+ <ownedComment xmi:id="_kraWUJXiEd2iJ9_Y3as_2A" annotatedElement="_3O6z0HJVEdyx6oOkwavytg">
+ <body>IOHardwarePin represents an electrical connection point for digital or analog I/O.
+
+Semantics:
+The IOHardwarePin represents an electrical pin or connection point.
+
+Notation:
+IOHardwarePin is shown as a solid square with an IO inside. Its name may appear outside the square.</body>
+ </ownedComment>
+ <generalization xmi:id="_z8u_cHJXEdyx6oOkwavytg" general="_c7BMwHJWEdyx6oOkwavytg"/>
+ <ownedAttribute xmi:id="_J22w4E1lEd-vDMV60hCRBg" name="type" type="_4Mx70E1kEd-vDMV60hCRBg" isUnique="false">
+ <ownedComment xmi:id="_QQX3sE1lEd-vDMV60hCRBg" annotatedElement="_J22w4E1lEd-vDMV60hCRBg">
+ <body>kind defines whether the IOHardwarePort is digital, analog or PWM (Pulse Width Modulated).</body>
+ </ownedComment>
+ </ownedAttribute>
+ <icon xmi:id="_1l09UL-VEd2GB8-skPnyjw" content="71%73%70%56%57%97%16%0%16%0%-91%44%0%60%70%-116%80%80%80%93%93%93%101%101%101%109%109%109%118%118%118%126%126%126%-122%-122%-122%-113%-113%-113%-103%-103%-103%-97%-97%-97%-84%-84%-84%-78%-78%-78%-76%-76%-76%-32%-32%-32%-32%-31%-31%-31%-31%-30%-31%-30%-31%-30%-30%-30%-29%-30%-30%-29%-29%-29%-28%-29%-29%-28%-28%-28%-27%-27%-28%-24%-24%-24%-24%-23%-23%-22%-22%-22%-21%-21%-21%-21%-20%-20%-19%-20%-20%-20%-19%-20%-16%-16%-16%-16%-16%-15%-12%-12%-12%-11%-11%-11%-8%-7%-8%-8%-7%-7%-7%-7%-6%-6%-6%-6%-6%-6%-5%-5%-5%-5%-4%-4%-4%-3%-4%-4%-3%-3%-3%-1%-1%-1%101%0%101%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%33%-7%4%1%10%0%63%0%44%0%0%0%0%16%0%16%0%0%6%82%-64%-97%112%72%44%26%-113%-56%-92%50%-55%104%58%-97%-50%33%-125%-59%106%81%-81%-41%-59%80%81%-75%98%-77%-61%68%107%76%110%-115%-52%-93%-60%-48%0%26%-125%-34%111%-9%97%72%-64%96%90%-9%-14%-104%48%20%92%-2%-128%127%99%23%3%67%1%14%-120%-119%-120%45%-120%1%-122%1%-112%-111%-110%-112%75%-107%-106%-105%63%65%0%59%">
+ <eAnnotations xmi:id="_2omB4L-VEd2GB8-skPnyjw" source="image_papyrus">
+ <details xmi:id="_2ovy4L-VEd2GB8-skPnyjw" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_3h1v0HJVEdyx6oOkwavytg" name="PowerHardwarePin">
+ <ownedComment xmi:id="_04UCwJXiEd2iJ9_Y3as_2A" annotatedElement="_3h1v0HJVEdyx6oOkwavytg">
+ <body>PowerHardwarePin represents a pin that is primarily intended for power supply, either providing or consuming energy.
+
+Semantics:
+A PowerHardwarePin is primarily intended to be a power supply. The direction attribute of the pin defines whether it is providing or consuming energy
+
+Notation:
+PowerHardwarePin is shown as a solid square with PWR inside. Its name may appear outside the square.</body>
+ </ownedComment>
+ <generalization xmi:id="_5KrD8HJXEdyx6oOkwavytg" general="_c7BMwHJWEdyx6oOkwavytg"/>
+ <icon xmi:id="_-jA6wL-VEd2GB8-skPnyjw" content="71%73%70%56%57%97%16%0%16%0%-91%1%0%60%70%-116%80%80%80%93%93%93%101%101%101%109%109%109%118%118%118%126%126%126%-122%-122%-122%-113%-113%-113%-103%-103%-103%-97%-97%-97%-84%-84%-84%-78%-78%-78%-76%-76%-76%-32%-32%-32%-32%-31%-31%-31%-31%-30%-31%-30%-31%-30%-30%-30%-29%-30%-30%-29%-29%-29%-28%-29%-29%-28%-28%-28%-27%-27%-28%-24%-24%-24%-24%-23%-23%-22%-22%-22%-21%-21%-21%-21%-20%-20%-19%-20%-20%-20%-19%-20%-16%-16%-16%-16%-16%-15%-12%-12%-12%-11%-11%-11%-8%-7%-8%-8%-7%-7%-7%-7%-6%-6%-6%-6%-6%-6%-5%-5%-5%-5%-4%-4%-4%-3%-4%-4%-3%-3%-3%-1%-1%-1%101%0%101%-20%-72%40%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%33%-7%4%1%10%0%63%0%44%0%0%0%0%16%0%16%0%0%6%84%-64%-97%112%72%44%26%-113%-56%-92%50%-55%104%58%-97%-50%33%-125%69%-91%6%-82%-43%-59%80%81%101%93%93%-127%-20%48%49%42%127%-81%-41%81%98%104%0%-127%2%4%-105%-100%16%112%31%-122%4%12%58%0%14%96%-2%4%67%2%23%-124%124%87%-124%-124%3%67%1%14%-115%104%-115%23%-114%-117%123%-108%104%75%-105%-104%-103%63%65%0%59%">
+ <eAnnotations xmi:id="__HFRIL-VEd2GB8-skPnyjw" source="image_papyrus">
+ <details xmi:id="__HPCIL-VEd2GB8-skPnyjw" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_4NgjAHJVEdyx6oOkwavytg" name="HardwareComponentType">
+ <ownedComment xmi:id="_tNqgsJXhEd2iJ9_Y3as_2A" annotatedElement="_4NgjAHJVEdyx6oOkwavytg">
+ <body>The HardwareComponentType represents hardware element on an abstract level, allowing preliminary engineering activities related to hardware.
+
+Semantics:
+The HardwareElementType is a structural entity that defines a part of an electrical architecture. Through its ports it can be connected to electrical sources and sinks. Its logical behavior, the transfer function, may be defined in an HWFunctionType referencing the HardwareElementType. This is typically connected through its ports to the environment model to participate in the end-to-end behavioral definition of a function.
+
+
+Extension:
+Class</body>
+ </ownedComment>
+ <generalization xmi:id="_UXAIMNdsEd6hwb99h1VVPA" general="_i-WNsjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_jaulsHJXEdyx6oOkwavytg" name="connector" type="_2nIbEHJVEdyx6oOkwavytg" isUnique="false" isReadOnly="true" isDerived="true" association="_jak0sHJXEdyx6oOkwavytg">
+ <ownedComment xmi:id="_yVTI4JXhEd2iJ9_Y3as_2A" annotatedElement="_jaulsHJXEdyx6oOkwavytg">
+ <body>The HWConnectors.&#xD;
+{derived from UML::StructuredClassifier::ownedConnector}</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jbLRoHJXEdyx6oOkwavytg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jbUbkHJXEdyx6oOkwavytg" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_oxKe4XJXEdyx6oOkwavytg" name="port" type="_c7BMwHJWEdyx6oOkwavytg" isReadOnly="true" isDerived="true" association="_oxKe4HJXEdyx6oOkwavytg">
+ <ownedComment xmi:id="_3-Um4JXhEd2iJ9_Y3as_2A" annotatedElement="_oxKe4XJXEdyx6oOkwavytg">
+ <body>The Ports.&#xD;
+{derived from UML::EncapsulatedClassifier::ownedPort}</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_oxdZ0HJXEdyx6oOkwavytg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_oxdZ0XJXEdyx6oOkwavytg" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_2R2X8JQdEdyUQMht1ste1A" name="part" type="_8mIUgJOQEdyUQMht1ste1A" isReadOnly="true" isDerived="true" association="_2RQiEJQdEdyUQMht1ste1A">
+ <ownedComment xmi:id="_1qFTYJXhEd2iJ9_Y3as_2A" annotatedElement="_2R2X8JQdEdyUQMht1ste1A">
+ <body>The HWElementPrototypes.&#xD;
+{derived from UML::Classifier::attribute}</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_2STD4JQdEdyUQMht1ste1A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_2STD4ZQdEdyUQMht1ste1A" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_FuzRAE1SEd-MJsqTgbIJyg" name="base_Class" isUnique="false" association="_FsXoEE1SEd-MJsqTgbIJyg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_zqhY8E1hEd-vDMV60hCRBg" name="bus" type="_sL5rQE1hEd-vDMV60hCRBg" association="_zpBkIE1hEd-vDMV60hCRBg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_zrN8gE1hEd-vDMV60hCRBg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_zrQYwE1hEd-vDMV60hCRBg" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_l-bfkE1lEd-vDMV60hCRBg" name="portGroup" type="_WcO9AE1lEd-vDMV60hCRBg" association="_l7_2oE1lEd-vDMV60hCRBg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_l_gdoE1lEd-vDMV60hCRBg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_l_kIAE1lEd-vDMV60hCRBg" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_YNQdIHJWEdyx6oOkwavytg" name="CommunicationHardwarePin">
+ <ownedComment xmi:id="_LhlyMJXiEd2iJ9_Y3as_2A" annotatedElement="_YNQdIHJWEdyx6oOkwavytg">
+ <body>CommunicationHardwarePin represents an electrical connection point that can be used to define how the wire harness is logically defined.
+
+Semantics:
+The CommunicationHardwarePin represents the hardware connection point of a communication bus.
+
+Depending on modeling style, one or two pins may be defined for a dual-wire bus.
+
+Notation:
+CommunicationHardwarePin is shown as a solid square with a C inside. Its name may appear outside the square.</body>
+ </ownedComment>
+ <generalization xmi:id="_5qHZAHJXEdyx6oOkwavytg" general="_c7BMwHJWEdyx6oOkwavytg"/>
+ <icon xmi:id="_mVzI0L-VEd2GB8-skPnyjw" content="71%73%70%56%57%97%16%0%16%0%-91%44%0%60%70%-116%80%80%80%93%93%93%101%101%101%109%109%109%118%118%118%126%126%126%-122%-122%-122%-113%-113%-113%-103%-103%-103%-97%-97%-97%-84%-84%-84%-78%-78%-78%-76%-76%-76%-32%-32%-32%-32%-31%-31%-31%-31%-30%-31%-30%-31%-30%-30%-30%-29%-30%-30%-29%-29%-29%-28%-29%-29%-28%-28%-28%-27%-27%-28%-24%-24%-24%-24%-23%-23%-22%-22%-22%-21%-21%-21%-21%-20%-20%-19%-20%-20%-20%-19%-20%-16%-16%-16%-16%-16%-15%-12%-12%-12%-11%-11%-11%-8%-7%-8%-8%-7%-7%-7%-7%-6%-6%-6%-6%-6%-6%-5%-5%-5%-5%-4%-4%-4%-3%-4%-4%-3%-3%-3%-1%-1%-1%101%0%101%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%33%-7%4%1%10%0%63%0%44%0%0%0%0%16%0%16%0%0%6%81%-64%-97%112%72%44%26%-113%-56%-92%50%-55%104%58%-97%-50%33%-125%-59%106%81%-81%-41%-59%80%81%-75%98%-77%-61%68%107%60%30%-75%-52%-26%-60%-48%0%106%-69%-33%-96%-61%-112%-48%-62%-44%-17%-28%22%97%40%-72%-8%-1%126%99%23%3%67%1%14%-121%-120%-121%45%-121%1%-123%1%-113%-112%-111%-113%75%-108%-107%-106%63%65%0%59%">
+ <eAnnotations xmi:id="_m8swwL-VEd2GB8-skPnyjw" source="image_papyrus">
+ <details xmi:id="_m82hwL-VEd2GB8-skPnyjw" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_c7BMwHJWEdyx6oOkwavytg" name="HardwarePin" isAbstract="true">
+ <ownedComment xmi:id="_D6yY4JXiEd2iJ9_Y3as_2A" annotatedElement="_c7BMwHJWEdyx6oOkwavytg">
+ <body>HardwarePin represents electrical connection points in the hardware architecture. Depending on modeling style, the actual wire or a logical connection can be considered.
+
+Semantics
+Hardware pin represents an electrical connection point.
+
+Extension:
+Port</body>
+ </ownedComment>
+ <generalization xmi:id="_EoEpwE1jEd-vDMV60hCRBg" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_Q_MzoHJZEdyx6oOkwavytg" name="base_Port" isUnique="false" association="_Q-mWsHJZEdyx6oOkwavytg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_cKFBANruEdyVwKS9pc8MNQ" name="isGround" visibility="public" isUnique="false">
+ <ownedComment xmi:id="_tjIMoPxmEd2ceJP4jywexA" annotatedElement="_cKFBANruEdyVwKS9pc8MNQ">
+ <body>Indicates that the pin is connected to ground.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WbtDcE1jEd-vDMV60hCRBg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Wb0YME1jEd-vDMV60hCRBg" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_kxuzUNruEdyVwKS9pc8MNQ" name="voltage" type="_IIFyoEucEd-ZO7qwJW2vyQ" isUnique="false">
+ <ownedComment xmi:id="_uyBuEE1jEd-vDMV60hCRBg" annotatedElement="_kxuzUNruEdyVwKS9pc8MNQ">
+ <body>The maximal voltage in Volts provided by the pin. Shall not be defined if isGround=TRUE.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_oA3jUE1jEd-vDMV60hCRBg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_oA8b0E1jEd-vDMV60hCRBg" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Hb2Y8E1jEd-vDMV60hCRBg" name="direction" type="_L1YHMExhEd-SDeUiu9LLYg" isUnique="false">
+ <ownedComment xmi:id="_YhaLsE1jEd-vDMV60hCRBg" annotatedElement="_Hb2Y8E1jEd-vDMV60hCRBg">
+ <body>The direction of current through the pin.</body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_QCZYAE1jEd-vDMV60hCRBg" name="impedance" type="_IIFyoEucEd-ZO7qwJW2vyQ" isUnique="false">
+ <ownedComment xmi:id="_aJI-gE1jEd-vDMV60hCRBg" annotatedElement="_QCZYAE1jEd-vDMV60hCRBg">
+ <body>The internal impedance in Ohms to ground of the component as seen through this pin.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_UI7vkE1jEd-vDMV60hCRBg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_UJABAE1jEd-vDMV60hCRBg" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_fiTbkE1jEd-vDMV60hCRBg" name="power" type="_IIFyoEucEd-ZO7qwJW2vyQ" isUnique="false">
+ <ownedComment xmi:id="_j_NEsE1jEd-vDMV60hCRBg" annotatedElement="_fiTbkE1jEd-vDMV60hCRBg">
+ <body>The maximal power in watts that can be provided by this pin or that is consumed.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iG5fQE1jEd-vDMV60hCRBg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iG_l4E1jEd-vDMV60hCRBg" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_raCbEHJWEdyx6oOkwavytg" name="Node">
+ <ownedComment xmi:id="_O35msJXiEd2iJ9_Y3as_2A" annotatedElement="_raCbEHJWEdyx6oOkwavytg">
+ <body>Node represents the computer nodes of the embedded EE system. Nodes consist of processor(s) and may be connected to sensors, actuators and other ECUs via a BusConnector.
+
+Node denotes an electronic control unit that acts as a computing element executing Functions. In case a single CPU-single core ECU is represented, it is sufficient to have a single, non-hierarchical Node.
+
+Semantics:
+The Node element represents an ECU, i.e. an Electronic Control Unit and an allocation target of FunctionPrototypes.
+
+The Node executes its allocated FunctionPrototypes at the specified executionRate. The executionRate denotes how many execution seconds of an allocated functionPrototype&#xb4;s execution time that is processed each real-time second. Actual execution time is thus found by dividing the parameters of the ExecutionTimeConstraint with executionRate.
+
+Example: If an ECU is 25% faster than a standard ECU (e.g., in a certain context, execution times are given assuming a nominal speed of 100 MHz; Our CPU is then 125 MHz), the executionRate is 1.25. An execution time of 5 ms would then become 4 ms on this ECU.
+
+Notation:
+Node is shown as a solid-outline rectangle with Node at the top right. The rectangle contains the name, and its ports or port groups on the perimeter.</body>
+ </ownedComment>
+ <generalization xmi:id="_zD89UHJXEdyx6oOkwavytg" general="_4NgjAHJVEdyx6oOkwavytg"/>
+ <ownedAttribute xmi:id="_c4KCIE1mEd-vDMV60hCRBg" name="executionRate" type="_IIFyoEucEd-ZO7qwJW2vyQ" isUnique="false">
+ <ownedComment xmi:id="_7M-EcE1mEd-vDMV60hCRBg" annotatedElement="_c4KCIE1mEd-vDMV60hCRBg">
+ <body>ExecutionRate is used to compute an approximate execution time. A nominal execution time divided by executionRate provides the actual execution time to be used e.g. for timing analysis in feasibility studies.</body>
+ </ownedComment>
+ <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_rbtyME1mEd-vDMV60hCRBg" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_tmhc4E1mEd-vDMV60hCRBg" name="nonVolatileMemory" isUnique="false">
+ <ownedComment xmi:id="_85gewE1mEd-vDMV60hCRBg" annotatedElement="_tmhc4E1mEd-vDMV60hCRBg">
+ <body>The size in Bytes of the Node&#x2019;s Non-Volatile memory (ROM, NRAM, EPROM, etc .</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_xRbBUE1mEd-vDMV60hCRBg" name="volatileMemory" isUnique="false">
+ <ownedComment xmi:id="_-ldDME1mEd-vDMV60hCRBg" annotatedElement="_xRbBUE1mEd-vDMV60hCRBg">
+ <body>The size in Bytes of the Node&#x2019;s Volatile memory (RAM)</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_z44y0E1mEd-vDMV60hCRBg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_z4_ggE1mEd-vDMV60hCRBg" value="1"/>
+ </ownedAttribute>
+ <icon xmi:id="_HlMqAEnDEd2n_LV02Saw8w" content="71%73%70%56%57%97%16%0%16%0%-25%-1%0%0%0%0%0%0%24%0%0%24%0%0%28%0%0%32%0%0%32%0%0%36%0%0%40%8%0%40%16%0%36%24%0%36%32%0%32%40%0%28%48%0%28%56%0%24%64%0%20%72%0%20%80%0%16%88%0%16%96%0%12%104%0%8%112%0%8%120%0%4%-128%0%0%-128%0%0%-124%0%0%-120%0%0%-116%0%0%-112%0%0%-112%0%0%-108%0%0%-104%0%0%-100%0%0%-96%0%0%-96%0%0%-92%0%0%-88%0%0%-84%0%0%-80%0%0%-76%0%0%-72%4%0%-68%4%0%-64%8%0%-60%8%0%-56%12%0%-52%12%0%-48%16%0%-44%16%0%-40%20%0%-36%20%0%-32%24%0%-28%24%0%-24%28%0%-20%28%0%-16%32%0%-12%32%0%-4%36%0%-4%36%0%-4%40%0%-4%40%0%-4%44%0%-4%44%0%-4%48%0%-4%48%0%-4%52%0%-4%52%0%-4%56%0%-4%56%0%-4%60%0%-4%60%0%-4%64%0%-4%64%0%-4%68%0%-4%68%0%-4%72%0%-4%72%0%-4%76%0%-4%76%0%-4%80%0%-4%80%0%-4%84%0%-4%84%0%-4%88%0%-4%88%0%-4%92%0%-4%96%0%-4%96%0%-4%100%0%-4%100%0%-4%104%0%-4%104%0%-4%108%0%-4%108%0%-4%112%0%-4%112%0%-4%116%0%-4%116%0%-4%120%0%-4%120%0%-4%124%0%-4%124%0%-4%-128%0%-4%-128%0%-4%-124%0%-4%-124%0%-4%-120%0%-4%-120%0%-4%-116%0%-4%-116%0%-4%-112%0%-4%-112%0%-4%-108%0%-4%-104%0%-4%-104%0%-4%-100%0%-4%-100%0%-4%-96%0%-4%-96%0%-4%-92%0%-4%-92%0%-4%-88%0%-4%-88%0%-4%-84%0%-4%-84%0%-4%-80%0%-4%-80%0%-4%-76%0%-4%-76%0%-4%-72%0%-4%-72%0%-4%-68%0%-4%-68%0%-4%-64%0%-4%-64%0%-4%-60%0%-4%-60%0%-4%-56%0%-4%-56%0%-4%-52%0%-4%-48%0%-4%-48%0%-4%-48%0%-4%-48%0%-4%-48%0%-4%-44%0%-4%-44%0%-4%-44%0%-4%-44%0%-4%-40%0%-4%-40%0%-4%-40%0%-4%-40%0%-4%-40%0%-4%-36%0%-4%-36%0%-4%-36%0%-4%-36%0%-4%-32%0%-4%-32%0%-4%-32%0%-4%-32%0%-4%-28%0%-4%-28%0%-4%-28%0%-4%-28%0%-4%-28%0%-4%-24%0%-4%-24%0%-4%-24%0%-4%-24%0%-4%-20%0%-4%-20%0%-4%-20%0%-4%-20%0%-4%-16%0%-4%-16%0%-4%-16%0%-4%-16%0%-4%-16%0%-4%-12%0%-4%-12%0%-4%-12%0%-4%-12%0%-4%-8%0%-4%-8%0%-4%-8%0%-4%-8%0%-4%-4%0%-4%-4%4%-4%-4%8%-4%-4%12%-4%-4%16%-4%-4%20%-4%-4%24%-4%-4%28%-4%-4%32%-4%-4%36%-4%-4%40%-4%-4%40%-4%-4%44%-4%-4%48%-4%-4%52%-4%-4%56%-4%-4%60%-4%-4%64%-4%-4%68%-4%-4%72%-4%-4%76%-4%-4%80%-4%-4%84%-4%-4%84%-4%-4%88%-4%-4%92%-4%-4%96%-4%-4%100%-4%-4%104%-4%-4%108%-4%-4%112%-4%-4%116%-4%-4%120%-4%-4%124%-4%-4%124%-4%-4%-128%-4%-4%-124%-4%-4%-120%-4%-4%-116%-4%-4%-112%-4%-4%-108%-4%-4%-104%-4%-4%-100%-4%-4%-96%-4%-4%-92%-4%-4%-88%-4%-4%-88%-4%-4%-84%-4%-4%-80%-4%-4%-76%-4%-4%-72%-4%-4%-68%-4%-4%-64%-4%-4%-60%-4%-4%-56%-4%-4%-52%-4%-4%-48%-4%-4%-48%-4%-4%-44%-4%-4%-40%-4%-4%-36%-4%-4%-32%-4%-4%-28%-4%-4%-24%-4%-4%-20%-4%-4%-16%-4%-4%-12%-4%-4%-8%-4%-4%-4%33%-7%4%1%10%0%-1%0%44%0%0%0%0%16%0%16%0%0%8%-123%0%-1%9%28%72%-80%-96%-63%-125%8%13%70%-8%-73%112%97%66%-122%16%23%62%-120%64%-79%-94%69%-117%16%26%-116%-40%-56%-79%99%71%7%11%68%-32%27%-7%97%36%62%16%-8%74%-126%8%-63%32%-127%7%124%27%56%-68%-20%-64%-127%3%62%-101%28%54%40%56%-96%97%100%-122%12%-8%126%2%-19%-103%65%3%-126%2%22%-16%93%-64%-128%1%31%-122%-91%78%-99%98%48%48%-96%-126%73%-85%35%39%-104%-92%80%-127%64%0%9%96%-61%-118%21%43%0%-128%-39%-77%104%-45%2%-8%-73%-74%-19%67%-74%112%-41%-66%-99%43%48%32%0%59%">
+ <eAnnotations xmi:id="_IK5YEEnDEd2n_LV02Saw8w" source="image_papyrus">
+ <details xmi:id="_IK-3oEnDEd2n_LV02Saw8w" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_tZcHAHJWEdyx6oOkwavytg" name="PowerSupply">
+ <ownedComment xmi:id="_3EeYUJXiEd2iJ9_Y3as_2A" annotatedElement="_tZcHAHJWEdyx6oOkwavytg">
+ <body>PowerSupply represents a hardware element that supplies power.
+
+Semantics:
+PowerSupply denotes a power source that may be active (e.g., a battery) or passive (main relay).
+
+Notation:
+PowerSupply is shown as a solid-outline rectangle with &quot;PWR&quot; at the top right. The rectangle contains the name, and its ports or port groups on the perimeter.</body>
+ </ownedComment>
+ <generalization xmi:id="_zbM_sHJXEdyx6oOkwavytg" general="_4NgjAHJVEdyx6oOkwavytg"/>
+ <ownedAttribute xmi:id="_Rm4osJaKEdy9tfphy-LpCA" name="isActive" isUnique="false">
+ <ownedComment xmi:id="_UH9X0E1mEd-vDMV60hCRBg" annotatedElement="_Rm4osJaKEdy9tfphy-LpCA">
+ <body>Indicates if the PowerSupply is active or passive.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_N-TR8E1mEd-vDMV60hCRBg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_N-Z_oE1mEd-vDMV60hCRBg" value="1"/>
+ </ownedAttribute>
+ <icon xmi:id="_BIS68L-WEd2GB8-skPnyjw" content="71%73%70%56%57%97%16%0%16%0%-91%42%0%0%0%0%0%0%24%0%0%24%0%0%28%0%0%32%0%0%32%0%0%36%0%0%40%8%0%40%16%0%36%24%0%36%32%0%32%40%0%28%48%0%28%56%0%24%64%0%20%72%0%20%80%0%16%88%0%16%96%0%12%104%0%8%112%0%8%120%0%4%-128%0%0%-128%0%0%-124%0%0%-120%0%0%-116%0%0%-112%0%0%-112%0%0%-108%0%0%-104%0%0%-100%0%0%-96%0%0%-96%0%0%-92%0%0%-88%0%0%-84%0%0%-80%0%0%-20%-72%40%-1%-3%0%-1%-14%25%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%33%-7%4%1%10%0%63%0%44%0%0%0%0%16%0%16%0%0%6%109%-64%-97%112%-8%3%24%-115%-60%-92%16%112%106%2%-120%-119%-88%52%-63%116%38%-122%9%-109%86%91%61%1%76%87%97%118%107%-86%126%-63%-40%-111%122%-44%5%-88%-61%63%-60%-102%-19%92%35%-122%-121%-115%-2%-24%53%110%14%67%6%122%-125%102%122%6%67%5%21%-118%21%102%-117%4%67%4%-117%-115%-114%67%3%16%-105%76%0%-105%-101%3%67%2%-101%70%-101%-101%1%67%1%11%-89%0%-89%-86%-89%-92%75%71%-81%-80%74%-78%74%65%0%59%">
+ <eAnnotations xmi:id="_BprJsL-WEd2GB8-skPnyjw" source="image_papyrus">
+ <details xmi:id="_Bp06sL-WEd2GB8-skPnyjw" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_wxEKIHJWEdyx6oOkwavytg" name="Sensor">
+ <ownedComment xmi:id="_78QmoJXiEd2iJ9_Y3as_2A" annotatedElement="_wxEKIHJWEdyx6oOkwavytg">
+ <body>Sensor represents a hardware entity for digital or analog sensor elements. The Sensor is connected electrically to the electrical entities of the Hardware Design Architecture.
+
+Semantics:
+Sensor denotes an electrical sensor. The Sensor represents the physical and electrical aspects of sensor hardware. The logical aspect is represented by an HWFunctionType associated to the Sensor.
+
+Notation:
+Sensor is shown as a Circle or oval. The circle contains the name, and its ports or port groups on the perimeter.</body>
+ </ownedComment>
+ <generalization xmi:id="_8GVx4E1lEd-vDMV60hCRBg" general="_4NgjAHJVEdyx6oOkwavytg"/>
+ <icon xmi:id="_GpdagEnDEd2n_LV02Saw8w" content="71%73%70%56%57%97%16%0%16%0%-25%-1%0%0%0%0%0%0%24%0%0%24%0%0%28%0%0%32%0%0%32%0%0%36%0%0%40%8%0%40%16%0%36%24%0%36%32%0%32%40%0%28%48%0%28%56%0%24%64%0%20%72%0%20%80%0%16%88%0%16%96%0%12%104%0%8%112%0%8%120%0%4%-128%0%0%-128%0%0%-124%0%0%-120%0%0%-116%0%0%-112%0%0%-112%0%0%-108%0%0%-104%0%0%-100%0%0%-96%0%0%-96%0%0%-92%0%0%-88%0%0%-84%0%0%-80%0%0%-76%0%0%-72%4%0%-68%4%0%-64%8%0%-60%8%0%-56%12%0%-52%12%0%-48%16%0%-44%16%0%-40%20%0%-36%20%0%-32%24%0%-28%24%0%-24%28%0%-20%28%0%-16%32%0%-12%32%0%-4%36%0%-4%36%0%-4%40%0%-4%40%0%-4%44%0%-4%44%0%-4%48%0%-4%48%0%-4%52%0%-4%52%0%-4%56%0%-4%56%0%-4%60%0%-4%60%0%-4%64%0%-4%64%0%-4%68%0%-4%68%0%-4%72%0%-4%72%0%-4%76%0%-4%76%0%-4%80%0%-4%80%0%-4%84%0%-4%84%0%-4%88%0%-4%88%0%-4%92%0%-4%96%0%-4%96%0%-4%100%0%-4%100%0%-4%104%0%-4%104%0%-4%108%0%-4%108%0%-4%112%0%-4%112%0%-4%116%0%-4%116%0%-4%120%0%-4%120%0%-4%124%0%-4%124%0%-4%-128%0%-4%-128%0%-4%-124%0%-4%-124%0%-4%-120%0%-4%-120%0%-4%-116%0%-4%-116%0%-4%-112%0%-4%-112%0%-4%-108%0%-4%-104%0%-4%-104%0%-4%-100%0%-4%-100%0%-4%-96%0%-4%-96%0%-4%-92%0%-4%-92%0%-4%-88%0%-4%-88%0%-4%-84%0%-4%-84%0%-4%-80%0%-4%-80%0%-4%-76%0%-4%-76%0%-4%-72%0%-4%-72%0%-4%-68%0%-4%-68%0%-4%-64%0%-4%-64%0%-4%-60%0%-4%-60%0%-4%-56%0%-4%-56%0%-4%-52%0%-4%-48%0%-4%-48%0%-4%-48%0%-4%-48%0%-4%-48%0%-4%-44%0%-4%-44%0%-4%-44%0%-4%-44%0%-4%-40%0%-4%-40%0%-4%-40%0%-4%-40%0%-4%-40%0%-4%-36%0%-4%-36%0%-4%-36%0%-4%-36%0%-4%-32%0%-4%-32%0%-4%-32%0%-4%-32%0%-4%-28%0%-4%-28%0%-4%-28%0%-4%-28%0%-4%-28%0%-4%-24%0%-4%-24%0%-4%-24%0%-4%-24%0%-4%-20%0%-4%-20%0%-4%-20%0%-4%-20%0%-4%-16%0%-4%-16%0%-4%-16%0%-4%-16%0%-4%-16%0%-4%-12%0%-4%-12%0%-4%-12%0%-4%-12%0%-4%-8%0%-4%-8%0%-4%-8%0%-4%-8%0%-4%-4%0%-4%-4%4%-4%-4%8%-4%-4%12%-4%-4%16%-4%-4%20%-4%-4%24%-4%-4%28%-4%-4%32%-4%-4%36%-4%-4%40%-4%-4%40%-4%-4%44%-4%-4%48%-4%-4%52%-4%-4%56%-4%-4%60%-4%-4%64%-4%-4%68%-4%-4%72%-4%-4%76%-4%-4%80%-4%-4%84%-4%-4%84%-4%-4%88%-4%-4%92%-4%-4%96%-4%-4%100%-4%-4%104%-4%-4%108%-4%-4%112%-4%-4%116%-4%-4%120%-4%-4%124%-4%-4%124%-4%-4%-128%-4%-4%-124%-4%-4%-120%-4%-4%-116%-4%-4%-112%-4%-4%-108%-4%-4%-104%-4%-4%-100%-4%-4%-96%-4%-4%-92%-4%-4%-88%-4%-4%-88%-4%-4%-84%-4%-4%-80%-4%-4%-76%-4%-4%-72%-4%-4%-68%-4%-4%-64%-4%-4%-60%-4%-4%-56%-4%-4%-52%-4%-4%-48%-4%-4%-48%-4%-4%-44%-4%-4%-40%-4%-4%-36%-4%-4%-32%-4%-4%-28%-4%-4%-24%-4%-4%-20%-4%-4%-16%-4%-4%-12%-4%-4%-8%-4%-4%-4%33%-7%4%1%10%0%-1%0%44%0%0%0%0%16%0%16%0%0%8%101%0%-1%9%28%72%-80%-96%-63%-125%8%19%42%92%24%-32%95%2%5%16%35%74%84%-16%-81%-31%63%4%30%50%106%-44%-40%48%-128%-57%0%7%56%-32%27%-119%-113%-125%73%-117%21%5%26%-64%-128%-17%-126%75%-105%40%5%54%44%96%-127%36%62%11%5%10%90%36%32%-95%-89%4%124%61%81%126%12%48%0%-126%77%8%72%-123%10%20%-64%-96%-87%83%-89%74%-121%74%-3%-72%-80%-86%-43%-86%1%1%0%59%">
+ <eAnnotations xmi:id="_KqsbUEnDEd2n_LV02Saw8w" source="image_papyrus">
+ <details xmi:id="_Kqyh8EnDEd2n_LV02Saw8w" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_xHtvkHJWEdyx6oOkwavytg" name="Actuator">
+ <ownedComment xmi:id="_oE_WsJXhEd2iJ9_Y3as_2A" annotatedElement="_xHtvkHJWEdyx6oOkwavytg">
+ <body>The Actuator is the element that represents electrical actuators, such as valves, motors, lamps, brake units, etc. Non-electrical actuators such as the engine, hydraulics, etc. are considered part of the plant model (environment). Plant models are not part of the Hardware Design Architecture.
+
+Semantics:
+The Actuator metaclass represents the physical and electrical aspects of actuator hardware. The logical aspect is represented by a HWFunctionType associated to the Actuator.
+
+Notation:
+Actuator is shown as a solid-outline rectangle with double vertical borders. The rectangle contains the name, and its ports or port groups on the perimeter.</body>
+ </ownedComment>
+ <generalization xmi:id="_A0EsUE1mEd-vDMV60hCRBg" general="_4NgjAHJVEdyx6oOkwavytg"/>
+ <icon xmi:id="_HDPzgEnDEd2n_LV02Saw8w" content="71%73%70%56%57%97%16%0%16%0%-25%-1%0%0%0%0%0%0%24%0%0%24%0%0%28%0%0%32%0%0%32%0%0%36%0%0%40%8%0%40%16%0%36%24%0%36%32%0%32%40%0%28%48%0%28%56%0%24%64%0%20%72%0%20%80%0%16%88%0%16%96%0%12%104%0%8%112%0%8%120%0%4%-128%0%0%-128%0%0%-124%0%0%-120%0%0%-116%0%0%-112%0%0%-112%0%0%-108%0%0%-104%0%0%-100%0%0%-96%0%0%-96%0%0%-92%0%0%-88%0%0%-84%0%0%-80%0%0%-76%0%0%-72%4%0%-68%4%0%-64%8%0%-60%8%0%-56%12%0%-52%12%0%-48%16%0%-44%16%0%-40%20%0%-36%20%0%-32%24%0%-28%24%0%-24%28%0%-20%28%0%-16%32%0%-12%32%0%-4%36%0%-4%36%0%-4%40%0%-4%40%0%-4%44%0%-4%44%0%-4%48%0%-4%48%0%-4%52%0%-4%52%0%-4%56%0%-4%56%0%-4%60%0%-4%60%0%-4%64%0%-4%64%0%-4%68%0%-4%68%0%-4%72%0%-4%72%0%-4%76%0%-4%76%0%-4%80%0%-4%80%0%-4%84%0%-4%84%0%-4%88%0%-4%88%0%-4%92%0%-4%96%0%-4%96%0%-4%100%0%-4%100%0%-4%104%0%-4%104%0%-4%108%0%-4%108%0%-4%112%0%-4%112%0%-4%116%0%-4%116%0%-4%120%0%-4%120%0%-4%124%0%-4%124%0%-4%-128%0%-4%-128%0%-4%-124%0%-4%-124%0%-4%-120%0%-4%-120%0%-4%-116%0%-4%-116%0%-4%-112%0%-4%-112%0%-4%-108%0%-4%-104%0%-4%-104%0%-4%-100%0%-4%-100%0%-4%-96%0%-4%-96%0%-4%-92%0%-4%-92%0%-4%-88%0%-4%-88%0%-4%-84%0%-4%-84%0%-4%-80%0%-4%-80%0%-4%-76%0%-4%-76%0%-4%-72%0%-4%-72%0%-4%-68%0%-4%-68%0%-4%-64%0%-4%-64%0%-4%-60%0%-4%-60%0%-4%-56%0%-4%-56%0%-4%-52%0%-4%-48%0%-4%-48%0%-4%-48%0%-4%-48%0%-4%-48%0%-4%-44%0%-4%-44%0%-4%-44%0%-4%-44%0%-4%-40%0%-4%-40%0%-4%-40%0%-4%-40%0%-4%-40%0%-4%-36%0%-4%-36%0%-4%-36%0%-4%-36%0%-4%-32%0%-4%-32%0%-4%-32%0%-4%-32%0%-4%-28%0%-4%-28%0%-4%-28%0%-4%-28%0%-4%-28%0%-4%-24%0%-4%-24%0%-4%-24%0%-4%-24%0%-4%-20%0%-4%-20%0%-4%-20%0%-4%-20%0%-4%-16%0%-4%-16%0%-4%-16%0%-4%-16%0%-4%-16%0%-4%-12%0%-4%-12%0%-4%-12%0%-4%-12%0%-4%-8%0%-4%-8%0%-4%-8%0%-4%-8%0%-4%-4%0%-4%-4%4%-4%-4%8%-4%-4%12%-4%-4%16%-4%-4%20%-4%-4%24%-4%-4%28%-4%-4%32%-4%-4%36%-4%-4%40%-4%-4%40%-4%-4%44%-4%-4%48%-4%-4%52%-4%-4%56%-4%-4%60%-4%-4%64%-4%-4%68%-4%-4%72%-4%-4%76%-4%-4%80%-4%-4%84%-4%-4%84%-4%-4%88%-4%-4%92%-4%-4%96%-4%-4%100%-4%-4%104%-4%-4%108%-4%-4%112%-4%-4%116%-4%-4%120%-4%-4%124%-4%-4%124%-4%-4%-128%-4%-4%-124%-4%-4%-120%-4%-4%-116%-4%-4%-112%-4%-4%-108%-4%-4%-104%-4%-4%-100%-4%-4%-96%-4%-4%-92%-4%-4%-88%-4%-4%-88%-4%-4%-84%-4%-4%-80%-4%-4%-76%-4%-4%-72%-4%-4%-68%-4%-4%-64%-4%-4%-60%-4%-4%-56%-4%-4%-52%-4%-4%-48%-4%-4%-48%-4%-4%-44%-4%-4%-40%-4%-4%-36%-4%-4%-32%-4%-4%-28%-4%-4%-24%-4%-4%-20%-4%-4%-16%-4%-4%-12%-4%-4%-8%-4%-4%-4%33%-7%4%1%10%0%-1%0%44%0%0%0%0%16%0%16%0%0%8%106%0%-1%9%28%72%-80%-96%-63%-125%8%19%42%84%-88%64%96%2%5%16%35%54%44%-40%16%1%-120%-117%24%65%4%24%40%-15%0%7%14%-8%-16%125%-4%-72%-111%-29%63%3%25%-16%101%72%-71%114%101%-55%-119%5%42%-32%-85%32%-109%-90%-51%-105%-1%8%76%8%25%114%-126%-49%9%27%37%14%-128%-128%15%2%81%-93%16%74%10%108%40%-128%-127%-45%-89%12%-108%-2%-101%24%-96%-86%-43%-86%11%-77%106%-35%42%48%32%0%59%">
+ <eAnnotations xmi:id="_PU8j8EnDEd2n_LV02Saw8w" source="image_papyrus">
+ <details xmi:id="_PVCqkEnDEd2n_LV02Saw8w" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_jak0sHJXEdyx6oOkwavytg" name="Association_ADLHwElement_ADLHwConnector" memberEnd="_jaulsHJXEdyx6oOkwavytg _jbUbkXJXEdyx6oOkwavytg">
+ <ownedEnd xmi:id="_jbUbkXJXEdyx6oOkwavytg" name="aDLHwElement" type="_4NgjAHJVEdyx6oOkwavytg" isUnique="false" association="_jak0sHJXEdyx6oOkwavytg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jb64gHJXEdyx6oOkwavytg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jbxHgHJXEdyx6oOkwavytg" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_oxKe4HJXEdyx6oOkwavytg" name="Association_ADLHwElement_ADLHwPort" memberEnd="_oxKe4XJXEdyx6oOkwavytg _oxnK0HJXEdyx6oOkwavytg">
+ <ownedEnd xmi:id="_oxnK0HJXEdyx6oOkwavytg" name="aDLHwElement" type="_4NgjAHJVEdyx6oOkwavytg" isUnique="false" association="_oxKe4HJXEdyx6oOkwavytg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ox6FwXJXEdyx6oOkwavytg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ox6FwHJXEdyx6oOkwavytg" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_mt_QwHJYEdyx6oOkwavytg" name="Extension_ADLHwConnector" memberEnd="_muJBwHJYEdyx6oOkwavytg _muSLsHJYEdyx6oOkwavytg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_muJBwHJYEdyx6oOkwavytg" name="extension_ADLHwConnector" type="_2nIbEHJVEdyx6oOkwavytg" aggregation="composite" association="_mt_QwHJYEdyx6oOkwavytg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_Q-mWsHJZEdyx6oOkwavytg" name="Extension_ADLHwPort" memberEnd="_Q_DCoHJZEdyx6oOkwavytg _Q_MzoHJZEdyx6oOkwavytg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_Q_DCoHJZEdyx6oOkwavytg" name="extension_ADLHwPort" type="_c7BMwHJWEdyx6oOkwavytg" aggregation="composite" association="_Q-mWsHJZEdyx6oOkwavytg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_8mIUgJOQEdyUQMht1ste1A" name="HardwareComponentPrototype">
+ <ownedComment xmi:id="_8qOVUJXhEd2iJ9_Y3as_2A" annotatedElement="_8mIUgJOQEdyUQMht1ste1A">
+ <body>Appear as parts of a HardwareComponentType and is itself typed by a HardwareComponentType. This allows for a reference to the occurrence of a HardwareComponentType when it acts as a part. The purpose is to support the definition of hierarchical structures, and to reuse the same type of Hardware at several places. For example, a wheel speed sensor may occur at all four wheels, but it has a single definition.
+
+Semantics:
+The HardwareComponentPrototype represents an occurrence of a hardware element, according to the type of the HardwareComponentPrototype.
+
+Notation:
+Shall be shown in the same style as the class specified as type, however it shall be clear that this is a part.
+
+Extension: Property</body>
+ </ownedComment>
+ <generalization xmi:id="_OlGbANdsEd6hwb99h1VVPA" general="_E2zwwNdsEd6hwb99h1VVPA"/>
+ <generalization xmi:id="_KXjnAE1hEd-vDMV60hCRBg" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_23s3AZQdEdyUQMht1ste1A" name="type" type="_4NgjAHJVEdyx6oOkwavytg" isUnique="false" isReadOnly="true" isDerived="true" association="_23s3AJQdEdyUQMht1ste1A">
+ <ownedComment xmi:id="_AXHd0JXiEd2iJ9_Y3as_2A" annotatedElement="_23s3AZQdEdyUQMht1ste1A">
+ <body>The type of the HWElement.&#xD;
+{derived from UML::TypedElement::type}</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_24AZAJQdEdyUQMht1ste1A" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_24AZAZQdEdyUQMht1ste1A" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_gW2lIFQ1Ed6Xd4cXg8Jv5g" name="base_Property" isUnique="false" association="_gUVcoFQ1Ed6Xd4cXg8Jv5g">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_MVXWsL-eEd2GB8-skPnyjw" name="getIcon">
+ <ownedParameter xmi:id="_MVXWsb-eEd2GB8-skPnyjw" name="img" direction="return">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Image"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_MVXWs7-eEd2GB8-skPnyjw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_MVXWsr-eEd2GB8-skPnyjw" value="1"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_MVXWtL-eEd2GB8-skPnyjw">
+ <value xsi:nil="true"/>
+ </defaultValue>
+ </ownedParameter>
+ </ownedOperation>
+ <icon xmi:id="_3YjikGVpEd2yzZtW4arNVQ" content="71%73%70%56%57%97%16%0%16%0%-25%-1%0%0%0%0%0%0%24%0%0%24%0%0%28%0%0%32%0%0%32%0%0%36%0%0%40%8%0%40%16%0%36%24%0%36%32%0%32%40%0%28%48%0%28%56%0%24%64%0%20%72%0%20%80%0%16%88%0%16%96%0%12%104%0%8%112%0%8%120%0%4%-128%0%0%-128%0%0%-124%0%0%-120%0%0%-116%0%0%-112%0%0%-112%0%0%-108%0%0%-104%0%0%-100%0%0%-96%0%0%-96%0%0%-92%0%0%-88%0%0%-84%0%0%-80%0%0%-76%0%0%-72%4%0%-68%4%0%-64%8%0%-60%8%0%-56%12%0%-52%12%0%-48%16%0%-44%16%0%-40%20%0%-36%20%0%-32%24%0%-28%24%0%-24%28%0%-20%28%0%-16%32%0%-12%32%0%-4%36%0%-4%36%0%-4%40%0%-4%40%0%-4%44%0%-4%44%0%-4%48%0%-4%48%0%-4%52%0%-4%52%0%-4%56%0%-4%56%0%-4%60%0%-4%60%0%-4%64%0%-4%64%0%-4%68%0%-4%68%0%-4%72%0%-4%72%0%-4%76%0%-4%76%0%-4%80%0%-4%80%0%-4%84%0%-4%84%0%-4%88%0%-4%88%0%-4%92%0%-4%96%0%-4%96%0%-4%100%0%-4%100%0%-4%104%0%-4%104%0%-4%108%0%-4%108%0%-4%112%0%-4%112%0%-4%116%0%-4%116%0%-4%120%0%-4%120%0%-4%124%0%-4%124%0%-4%-128%0%-4%-128%0%-4%-124%0%-4%-124%0%-4%-120%0%-4%-120%0%-4%-116%0%-4%-116%0%-4%-112%0%-4%-112%0%-4%-108%0%-4%-104%0%-4%-104%0%-4%-100%0%-4%-100%0%-4%-96%0%-4%-96%0%-4%-92%0%-4%-92%0%-4%-88%0%-4%-88%0%-4%-84%0%-4%-84%0%-4%-80%0%-4%-80%0%-4%-76%0%-4%-76%0%-4%-72%0%-4%-72%0%-4%-68%0%-4%-68%0%-4%-64%0%-4%-64%0%-4%-60%0%-4%-60%0%-4%-56%0%-4%-56%0%-4%-52%0%-4%-48%0%-4%-48%0%-4%-48%0%-4%-48%0%-4%-48%0%-4%-44%0%-4%-44%0%-4%-44%0%-4%-44%0%-4%-40%0%-4%-40%0%-4%-40%0%-4%-40%0%-4%-40%0%-4%-36%0%-4%-36%0%-4%-36%0%-4%-36%0%-4%-32%0%-4%-32%0%-4%-32%0%-4%-32%0%-4%-28%0%-4%-28%0%-4%-28%0%-4%-28%0%-4%-28%0%-4%-24%0%-4%-24%0%-4%-24%0%-4%-24%0%-4%-20%0%-4%-20%0%-4%-20%0%-4%-20%0%-4%-16%0%-4%-16%0%-4%-16%0%-4%-16%0%-4%-16%0%-4%-12%0%-4%-12%0%-4%-12%0%-4%-12%0%-4%-8%0%-4%-8%0%-4%-8%0%-4%-8%0%-4%-4%0%-4%-4%4%-4%-4%8%-4%-4%12%-4%-4%16%-4%-4%20%-4%-4%24%-4%-4%28%-4%-4%32%-4%-4%36%-4%-4%40%-4%-4%40%-4%-4%44%-4%-4%48%-4%-4%52%-4%-4%56%-4%-4%60%-4%-4%64%-4%-4%68%-4%-4%72%-4%-4%76%-4%-4%80%-4%-4%84%-4%-4%84%-4%-4%88%-4%-4%92%-4%-4%96%-4%-4%100%-4%-4%104%-4%-4%108%-4%-4%112%-4%-4%116%-4%-4%120%-4%-4%124%-4%-4%124%-4%-4%-128%-4%-4%-124%-4%-4%-120%-4%-4%-116%-4%-4%-112%-4%-4%-108%-4%-4%-104%-4%-4%-100%-4%-4%-96%-4%-4%-92%-4%-4%-88%-4%-4%-88%-4%-4%-84%-4%-4%-80%-4%-4%-76%-4%-4%-72%-4%-4%-68%-4%-4%-64%-4%-4%-60%-4%-4%-56%-4%-4%-52%-4%-4%-48%-4%-4%-48%-4%-4%-44%-4%-4%-40%-4%-4%-36%-4%-4%-32%-4%-4%-28%-4%-4%-24%-4%-4%-20%-4%-4%-16%-4%-4%-12%-4%-4%-8%-4%-4%-4%33%-7%4%1%10%0%-1%0%44%0%0%0%0%16%0%16%0%0%8%-119%0%-1%9%28%72%-80%-96%-63%-127%38%18%42%52%113%80%32%67%-126%15%17%46%84%88%-30%95%68%-127%36%92%104%-36%-24%66%-124%-59%127%9%66%-118%28%-39%-94%69%-121%-113%8%70%-88%92%-87%18%-63%10%22%25%62%30%-8%64%-77%38%-51%3%42%84%88%72%-8%-49%-64%6%13%64%-125%106%48%-112%34%-59%-124%-127%5%46%40%93%122%1%67%1%20%39%30%12%36%80%-95%-86%-43%-86%4%20%104%29%56%-128%-126%-41%-81%94%7%24%20%0%-95%-84%-39%-78%2%12%6%88%-64%-74%45%-37%0%6%1%-56%-99%75%-73%-95%-35%-126%1%1%0%59%">
+ <eAnnotations xmi:id="_6fNKcGVpEd2yzZtW4arNVQ" source="image_papyrus">
+ <details xmi:id="_6fW7cGVpEd2yzZtW4arNVQ" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_2RQiEJQdEdyUQMht1ste1A" name="A_ADLHwElement_ADLHwElementPrototype" memberEnd="_2R2X8JQdEdyUQMht1ste1A _2Sc04JQdEdyUQMht1ste1A">
+ <ownedEnd xmi:id="_2Sc04JQdEdyUQMht1ste1A" name="aDLHwConnector" type="_4NgjAHJVEdyx6oOkwavytg" isUnique="false" association="_2RQiEJQdEdyUQMht1ste1A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_2S5g0JQdEdyUQMht1ste1A" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_2Svv0JQdEdyUQMht1ste1A" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_23s3AJQdEdyUQMht1ste1A" name="A_ADLHwElementPrototype_ADLHwElement" memberEnd="_23s3AZQdEdyUQMht1ste1A _24AZApQdEdyUQMht1ste1A">
+ <ownedEnd xmi:id="_24AZApQdEdyUQMht1ste1A" name="aDLHwElementPrototype" type="_8mIUgJOQEdyUQMht1ste1A" isUnique="false" association="_23s3AJQdEdyUQMht1ste1A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_24mO4JQdEdyUQMht1ste1A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_24cd4JQdEdyUQMht1ste1A" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_gUVcoFQ1Ed6Xd4cXg8Jv5g" name="Extension_ADLHwElementPrototype" memberEnd="_gWh1AFQ1Ed6Xd4cXg8Jv5g _gW2lIFQ1Ed6Xd4cXg8Jv5g">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_gWh1AFQ1Ed6Xd4cXg8Jv5g" name="extension_ADLHwElementPrototype" type="_8mIUgJOQEdyUQMht1ste1A" aggregation="composite" association="_gUVcoFQ1Ed6Xd4cXg8Jv5g"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_E2zwwNdsEd6hwb99h1VVPA" name="AllocationTarget" isAbstract="true">
+ <ownedComment xmi:id="_JLggINdsEd6hwb99h1VVPA" annotatedElement="_E2zwwNdsEd6hwb99h1VVPA">
+ <body>The AllocationTarget is a superclass for elements to which AllocateableElements can be allocated.
+
+Semantics:
+An AllocationTarget is a resource element in the Hardware Design Architecture which may host functional behaviors in the Functional Design Architecture.
+
+Extension: abstract, no extension</body>
+ </ownedComment>
+ <generalization xmi:id="_57F7gE3XEd-eluvub9wzww" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_FsXoEE1SEd-MJsqTgbIJyg" name="Extension_HardwareComponentType" memberEnd="_FulOkE1SEd-MJsqTgbIJyg _FuzRAE1SEd-MJsqTgbIJyg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_FulOkE1SEd-MJsqTgbIJyg" name="extension_HardwareComponentType" type="_4NgjAHJVEdyx6oOkwavytg" aggregation="composite" association="_FsXoEE1SEd-MJsqTgbIJyg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_sL5rQE1hEd-vDMV60hCRBg" name="LogicalBus">
+ <ownedComment xmi:id="_yABmAE1hEd-vDMV60hCRBg" annotatedElement="_sL5rQE1hEd-vDMV60hCRBg">
+ <body>The LogicalBus represents logical communication channels. It serves as an allocation target for connectors, i.e. the data exchanged between functions in the FunctionalDesignArchitecture.
+
+
+Semantics:
+The LogicalBus represents a logical connection that carries data from any sender to all receivers. Senders and receivers are identified by the wires of the LogicalBus, i.e. the associated HardwareConnectors. The available busSpeed represents the maximum amount of useful data that can be carried. The busSpeed has already deducted speed reduction resulting from frame overhead, timing effects, etc.
+
+Extension:
+Class</body>
+ </ownedComment>
+ <generalization xmi:id="_4vcEUE1hEd-vDMV60hCRBg" general="_E2zwwNdsEd6hwb99h1VVPA"/>
+ <ownedAttribute xmi:id="_vhmbwE1hEd-vDMV60hCRBg" name="base_Class" isUnique="false" association="_vf818E1hEd-vDMV60hCRBg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_6BqhME1hEd-vDMV60hCRBg" name="busSpeed" type="_IIFyoEucEd-ZO7qwJW2vyQ" isUnique="false"/>
+ <ownedAttribute xmi:id="_Srv1UE1iEd-vDMV60hCRBg" name="busType" type="_-08qAE1hEd-vDMV60hCRBg" isUnique="false"/>
+ <ownedAttribute xmi:id="_KZZeAE35Ed-lBeOY4fJiaA" name="wire" type="_2nIbEHJVEdyx6oOkwavytg" isOrdered="true" isUnique="false" association="_KV2awE35Ed-lBeOY4fJiaA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KaUEAE35Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KaZjkE35Ed-lBeOY4fJiaA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_QRGRME35Ed-lBeOY4fJiaA" name="wire_path" type="_8mIUgJOQEdyUQMht1ste1A" isOrdered="true" association="_QN6aUE35Ed-lBeOY4fJiaA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_QSIzAE35Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_QSOSkE35Ed-lBeOY4fJiaA" value="*"/>
+ </ownedAttribute>
+ <icon xmi:id="_p0mYcE4sEd-TX4ZBxI698w" content="71%73%70%56%57%97%16%0%16%0%-25%1%0%0%0%0%0%0%24%0%0%24%0%0%28%0%0%32%0%0%32%0%0%36%0%0%40%8%0%40%16%0%36%24%0%36%32%0%32%40%0%28%48%0%28%56%0%24%64%0%20%72%0%20%80%0%16%88%0%16%96%0%12%104%0%8%112%0%8%120%0%4%-128%0%0%-128%0%0%-124%0%0%-120%0%0%-116%0%0%-112%0%0%-112%0%0%-108%0%0%-104%0%0%-100%0%0%-96%0%0%-96%0%0%-92%0%0%-88%0%0%-84%0%0%-80%0%0%-76%0%0%-72%4%0%-68%4%0%-64%8%0%-60%8%0%-56%12%0%-52%12%0%-48%16%0%-44%16%0%-40%20%0%-36%20%0%-32%24%0%-28%24%0%-24%28%0%-20%28%0%-16%32%0%-12%32%0%-4%36%0%-4%36%0%-4%40%0%-4%40%0%-4%44%0%-4%44%0%-4%48%0%-4%48%0%-4%52%0%-4%52%0%-4%56%0%-4%56%0%-4%60%0%-4%60%0%-4%64%0%-4%64%0%-4%68%0%-4%68%0%-4%72%0%-4%72%0%-4%76%0%-4%76%0%-4%80%0%-4%80%0%-4%84%0%-4%84%0%-4%88%0%-4%88%0%-4%92%0%-4%96%0%-4%96%0%-4%100%0%-4%100%0%-4%104%0%-4%104%0%-4%108%0%-4%108%0%-4%112%0%-4%112%0%-4%116%0%-4%116%0%-4%120%0%-4%120%0%-4%124%0%-4%124%0%-4%-128%0%-4%-128%0%-4%-124%0%-4%-124%0%-4%-120%0%-4%-120%0%-4%-116%0%-4%-116%0%-4%-112%0%-4%-112%0%-4%-108%0%-4%-104%0%-4%-104%0%-4%-100%0%-4%-100%0%-4%-96%0%-4%-96%0%-4%-92%0%-4%-92%0%-4%-88%0%-4%-88%0%-4%-84%0%-4%-84%0%-4%-80%0%-4%-80%0%-4%-76%0%-4%-76%0%-4%-72%0%-4%-72%0%-4%-68%0%-4%-68%0%-4%-64%0%-4%-64%0%-4%-60%0%-4%-60%0%-4%-56%0%-4%-56%0%-4%-52%0%-4%-48%0%-4%-48%0%-4%-48%0%-4%-48%0%-4%-48%0%-4%-44%0%-4%-44%0%-4%-44%0%-4%-44%0%-4%-40%0%-4%-40%0%-4%-40%0%-4%-40%0%-4%-40%0%-4%-36%0%-4%-36%0%-4%-36%0%-4%-36%0%-4%-32%0%-4%-32%0%-4%-32%0%-4%-32%0%-4%-28%0%-4%-28%0%-4%-28%0%-4%-28%0%-4%-28%0%-4%-24%0%-4%-24%0%-4%-24%0%-4%-24%0%-4%-20%0%-4%-20%0%-4%-20%0%-4%-20%0%-4%-16%0%-4%-16%0%-4%-16%0%-4%-16%0%-4%-16%0%-4%-12%0%-4%-12%0%-4%-12%0%-4%-12%0%-4%-8%0%-4%-8%0%-4%-8%0%-4%-8%0%-4%-4%0%-4%-4%4%-4%-4%8%-4%-4%12%-4%-4%16%-4%-4%20%-4%-4%24%-4%-4%28%-4%-4%32%-4%-4%36%-4%-4%40%-4%-4%40%-4%-4%44%-4%-4%48%-4%-4%52%-4%-4%56%-4%-4%60%-4%-4%64%-4%-4%68%-4%-4%72%-4%-4%76%-4%-4%80%-4%-4%84%-4%-4%84%-4%-4%88%-4%-4%92%-4%-4%96%-4%-4%100%-4%-4%104%-4%-4%108%-4%-4%112%-4%-4%116%-4%-4%120%-4%-4%124%-4%-4%124%-4%-4%-128%-4%-4%-124%-4%-4%-120%-4%-4%-116%-4%-4%-112%-4%-4%-108%-4%-4%-104%-4%-4%-100%-4%-4%-96%-4%-4%-92%-4%-4%-88%-4%-4%-88%-4%-4%-84%-4%-4%-80%-4%-4%-76%-4%-4%-72%-4%-4%-68%-4%-4%-64%-4%-4%-60%-4%-4%-56%-4%-4%-52%-4%-4%-48%-4%-4%-48%-4%-4%-44%-4%-4%-40%-4%-4%-36%-4%-4%-32%0%0%24%0%0%24%0%0%24%0%0%24%0%0%24%0%0%24%0%0%24%33%-7%4%1%10%0%-1%0%44%0%0%0%0%16%0%16%0%0%8%86%0%-1%9%28%72%-80%-96%-63%-125%8%19%42%92%-8%47%2%66%-121%4%27%52%64%40%113%-32%-126%-117%24%51%94%100%-64%64%96%2%15%32%67%-118%4%-87%-32%-33%1%13%40%83%-86%84%-119%-32%31%1%11%48%99%-54%-124%105%64%-32%-128%-101%56%115%14%8%64%-128%-64%-64%0%1%16%2%45%8%0%97%81%-122%72%-109%46%12%8%0%59%">
+ <eAnnotations xmi:id="_tM-CcE4sEd-TX4ZBxI698w" source="image_papyrus">
+ <details xmi:id="_tM-CcU4sEd-TX4ZBxI698w" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_vf818E1hEd-vDMV60hCRBg" name="Extension_LogicalBus" memberEnd="_vhZncE1hEd-vDMV60hCRBg _vhmbwE1hEd-vDMV60hCRBg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_vhZncE1hEd-vDMV60hCRBg" name="extension_LogicalBus" type="_sL5rQE1hEd-vDMV60hCRBg" aggregation="composite" association="_vf818E1hEd-vDMV60hCRBg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_zpBkIE1hEd-vDMV60hCRBg" name="A_HardwareComponentType_LogicalBus" memberEnd="_zqhY8E1hEd-vDMV60hCRBg _zrTcEE1hEd-vDMV60hCRBg">
+ <ownedEnd xmi:id="_zrTcEE1hEd-vDMV60hCRBg" name="hardwareComponentType" type="_4NgjAHJVEdyx6oOkwavytg" isUnique="false" association="_zpBkIE1hEd-vDMV60hCRBg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_zr4D0E1hEd-vDMV60hCRBg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_zr2OoE1hEd-vDMV60hCRBg" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_-08qAE1hEd-vDMV60hCRBg" name="LogicalBusKind">
+ <ownedComment xmi:id="_BJYx0E1iEd-vDMV60hCRBg" annotatedElement="_-08qAE1hEd-vDMV60hCRBg">
+ <body>LogicalBusKind is an enumeration type representing different kinds of busses.
+
+Extension:
+Enumeration, no extension.</body>
+ </ownedComment>
+ <ownedLiteral xmi:id="_CZ3iQE1iEd-vDMV60hCRBg" name="TimeTriggered">
+ <ownedComment xmi:id="_MI4lQE1iEd-vDMV60hCRBg" annotatedElement="_CZ3iQE1iEd-vDMV60hCRBg">
+ <body>Bus is time-triggered</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_EB5QAE1iEd-vDMV60hCRBg" name="EventTriggered">
+ <ownedComment xmi:id="_NvWMwE1iEd-vDMV60hCRBg" annotatedElement="_EB5QAE1iEd-vDMV60hCRBg">
+ <body>Bus is event-triggered</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_FydOsE1iEd-vDMV60hCRBg" name="TimeandEventTriggered">
+ <ownedComment xmi:id="_PLlhQE1iEd-vDMV60hCRBg" annotatedElement="_FydOsE1iEd-vDMV60hCRBg">
+ <body>Bus is both time and event-triggered</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_HxqtYE1iEd-vDMV60hCRBg" name="other">
+ <ownedComment xmi:id="_QzONcE1iEd-vDMV60hCRBg" annotatedElement="_HxqtYE1iEd-vDMV60hCRBg">
+ <body>Another type of bus communication</body>
+ </ownedComment>
+ </ownedLiteral>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_HpNqEE1kEd-vDMV60hCRBg" name="A_HardwareConnector_HardwarePin" memberEnd="_HrUi4E1kEd-vDMV60hCRBg _HsPI4E1kEd-vDMV60hCRBg">
+ <ownedEnd xmi:id="_HsPI4E1kEd-vDMV60hCRBg" name="hardwareConnector" type="_2nIbEHJVEdyx6oOkwavytg" isUnique="false" association="_HpNqEE1kEd-vDMV60hCRBg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Hsp_oE1kEd-vDMV60hCRBg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HsnjYE1kEd-vDMV60hCRBg" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_4Mx70E1kEd-vDMV60hCRBg" name="IOHardwarePinKind">
+ <ownedComment xmi:id="_8ToccE1kEd-vDMV60hCRBg" annotatedElement="_4Mx70E1kEd-vDMV60hCRBg">
+ <body>IOHardwarePinKind is an enumeration type representing different kinds of I/O Hardware Ports.
+
+Extension:
+Enumeration, no extension.</body>
+ </ownedComment>
+ <ownedLiteral xmi:id="_9W7sgE1kEd-vDMV60hCRBg" name="digital">
+ <ownedComment xmi:id="_DWpzQE1lEd-vDMV60hCRBg" annotatedElement="_9W7sgE1kEd-vDMV60hCRBg">
+ <body>I/O with fixed amplitude.</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_-mDyEE1kEd-vDMV60hCRBg" name="analog">
+ <ownedComment xmi:id="_E7kioE1lEd-vDMV60hCRBg" annotatedElement="_-mDyEE1kEd-vDMV60hCRBg">
+ <body>I/O with varying amplitude.</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="__1vRQE1kEd-vDMV60hCRBg" name="pwm">
+ <ownedComment xmi:id="_GZ3soE1lEd-vDMV60hCRBg" annotatedElement="__1vRQE1kEd-vDMV60hCRBg">
+ <body>PWM (Pulse Width Modulated) modulated I/O, i.e. a signal with fixed frequency and amplitude but varying duty cycle.</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_BE_SoE1lEd-vDMV60hCRBg" name="other">
+ <ownedComment xmi:id="_IGsa0E1lEd-vDMV60hCRBg" annotatedElement="_BE_SoE1lEd-vDMV60hCRBg">
+ <body>Another type of I/O port.</body>
+ </ownedComment>
+ </ownedLiteral>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_WcO9AE1lEd-vDMV60hCRBg" name="HardwarePinGroup">
+ <ownedComment xmi:id="_ZuTxwE1lEd-vDMV60hCRBg" annotatedElement="_WcO9AE1lEd-vDMV60hCRBg">
+ <body>The HardwarePinGroup provides means to organize hardware pins to improve readability of the component interface and connectors between components. Tools may show the set of ports in the pin group as a single pin, join connectors that go between pins in pin groups to a single line.
+
+Semantics:
+A HardwarePinGroup has no semantics, but is only a grouping mechanism that may affect visualization and port operations in tools.
+
+Extension:
+Class</body>
+ </ownedComment>
+ <generalization xmi:id="_8a0tUE3XEd-eluvub9wzww" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_iS0wgE1lEd-vDMV60hCRBg" name="base_Port" isUnique="false" association="_iQP9oE1lEd-vDMV60hCRBg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_p-hoYG1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_p-nvAG1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_irOpcE1lEd-vDMV60hCRBg" name="base_Class" isUnique="false" association="_iojv8E1lEd-vDMV60hCRBg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_qmAfIG1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_qmGlwG1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_ss47oE1lEd-vDMV60hCRBg" name="portGroup" type="_WcO9AE1lEd-vDMV60hCRBg" association="_sqHUcE1lEd-vDMV60hCRBg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_stO54E1lEd-vDMV60hCRBg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_stRWIE1lEd-vDMV60hCRBg" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_w1VXsE1lEd-vDMV60hCRBg" name="port" type="_c7BMwHJWEdyx6oOkwavytg" isUnique="false" association="_wyvWsE1lEd-vDMV60hCRBg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_w1tyME1lEd-vDMV60hCRBg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_w1wOcE1lEd-vDMV60hCRBg" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_iQP9oE1lEd-vDMV60hCRBg" name="Extension_HardwarePinGroup" memberEnd="_iSlf8E1lEd-vDMV60hCRBg _iS0wgE1lEd-vDMV60hCRBg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_iSlf8E1lEd-vDMV60hCRBg" name="extension_HardwarePinGroup" type="_WcO9AE1lEd-vDMV60hCRBg" aggregation="composite" association="_iQP9oE1lEd-vDMV60hCRBg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_iojv8E1lEd-vDMV60hCRBg" name="Extension_HardwarePinGroup" memberEnd="_iq7ugE1lEd-vDMV60hCRBg _irOpcE1lEd-vDMV60hCRBg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_iq7ugE1lEd-vDMV60hCRBg" name="extension_HardwarePinGroup" type="_WcO9AE1lEd-vDMV60hCRBg" aggregation="composite" association="_iojv8E1lEd-vDMV60hCRBg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_l7_2oE1lEd-vDMV60hCRBg" name="A_HardwareComponentType_HardwarePinGroup" memberEnd="_l-bfkE1lEd-vDMV60hCRBg _l_oZcE1lEd-vDMV60hCRBg">
+ <ownedEnd xmi:id="_l_oZcE1lEd-vDMV60hCRBg" name="hardwareComponentType" type="_4NgjAHJVEdyx6oOkwavytg" isUnique="false" association="_l7_2oE1lEd-vDMV60hCRBg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mAD3QE1lEd-vDMV60hCRBg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mABbAE1lEd-vDMV60hCRBg" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_sqHUcE1lEd-vDMV60hCRBg" name="A_HardwarePinGroup_HardwarePinGroup" memberEnd="_ss47oE1lEd-vDMV60hCRBg _stTyYE1lEd-vDMV60hCRBg">
+ <ownedEnd xmi:id="_stTyYE1lEd-vDMV60hCRBg" name="hardwarePinGroup" type="_WcO9AE1lEd-vDMV60hCRBg" isUnique="false" association="_sqHUcE1lEd-vDMV60hCRBg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_st2k8E1lEd-vDMV60hCRBg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_st0vwE1lEd-vDMV60hCRBg" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_wyvWsE1lEd-vDMV60hCRBg" name="A_HardwarePinGroup_HardwarePin" memberEnd="_w1VXsE1lEd-vDMV60hCRBg _w1yDoE1lEd-vDMV60hCRBg">
+ <ownedEnd xmi:id="_w1yDoE1lEd-vDMV60hCRBg" name="hardwarePinGroup" type="_WcO9AE1lEd-vDMV60hCRBg" isUnique="false" association="_wyvWsE1lEd-vDMV60hCRBg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_w2SZ8E1lEd-vDMV60hCRBg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_w2QkwE1lEd-vDMV60hCRBg" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_9D74wE34Ed-lBeOY4fJiaA" name="A_HardwareConnector_HardwareComponentPrototype" memberEnd="_9HT84E34Ed-lBeOY4fJiaA _9IbXME34Ed-lBeOY4fJiaA">
+ <ownedEnd xmi:id="_9IbXME34Ed-lBeOY4fJiaA" name="hardwareConnector" type="_2nIbEHJVEdyx6oOkwavytg" isUnique="false" association="_9D74wE34Ed-lBeOY4fJiaA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9I2N8E34Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_9I0YwE34Ed-lBeOY4fJiaA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_-73DsE34Ed-lBeOY4fJiaA" name="A_HardwareConnector_HardwareComponentPrototype" memberEnd="_--04IE34Ed-lBeOY4fJiaA _-_7EUE34Ed-lBeOY4fJiaA">
+ <ownedEnd xmi:id="_-_7EUE34Ed-lBeOY4fJiaA" name="hardwareConnector" type="_2nIbEHJVEdyx6oOkwavytg" isUnique="false" association="_-73DsE34Ed-lBeOY4fJiaA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__AaMgE34Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__AYXUE34Ed-lBeOY4fJiaA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_KV2awE35Ed-lBeOY4fJiaA" name="A_LogicalBus_HardwareConnector" memberEnd="_KZZeAE35Ed-lBeOY4fJiaA _Kau6wE35Ed-lBeOY4fJiaA">
+ <ownedEnd xmi:id="_Kau6wE35Ed-lBeOY4fJiaA" name="logicalBus" type="_sL5rQE1hEd-vDMV60hCRBg" isUnique="false" association="_KV2awE35Ed-lBeOY4fJiaA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KbKYkE35Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KbIjYE35Ed-lBeOY4fJiaA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_QN6aUE35Ed-lBeOY4fJiaA" name="A_LogicalBus_HardwareComponentPrototype" memberEnd="_QRGRME35Ed-lBeOY4fJiaA _QSUZME35Ed-lBeOY4fJiaA">
+ <ownedEnd xmi:id="_QSUZME35Ed-lBeOY4fJiaA" name="logicalBus" type="_sL5rQE1hEd-vDMV60hCRBg" isUnique="false" association="_QN6aUE35Ed-lBeOY4fJiaA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_QS2ksE35Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_QS0IcE35Ed-lBeOY4fJiaA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="_VtDYsNl5EdyxEqZvsyllRw" name="VehicleFeatureModeling" metaclassReference="_gCIHQASIEd2YANJEsILj7w _6qj20Nd5Ed6hwb99h1VVPA _Xhvi4Ey9Ed-bsfu6wFsxNQ">
+ <ownedComment xmi:id="_T_rwsKAmEd20Qu_niqpmJw" annotatedElement="_VtDYsNl5EdyxEqZvsyllRw">
+ <body>At the highest abstraction level, i.e. the vehicle level, EAST-ADL2 provides support for classification and definition of product lines (the entire vehicle for a car maker or some of its sub-systems for suppliers). The different possible configurations of the embedded electronic architecture are captured on a high abstraction level in terms of features. A feature in this sense is a characteristic or trait that individual variants of the vehicle may or may not have.
+
+The specification of the features themselves, together with their forms of realization, the dependencies between them and the requirements to be respected for their realization is performed at the vehicle level and it should be done independently of any product line. This would be the basis for a consistent reuse of features in different product lines and projects. At this level, a feature represents particular high level requirements to be realized in all product line members that respect some conditions, e.g., US cars with elegance trim and engine size higher than 2.4.</body>
+ </ownedComment>
+ <elementImport xmi:id="_gCIHQASIEd2YANJEsILj7w" alias="Package">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ </elementImport>
+ <elementImport xmi:id="_6qj20Nd5Ed6hwb99h1VVPA" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <elementImport xmi:id="_Xhvi4Ey9Ed-bsfu6wFsxNQ" alias="DataType">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DataType"/>
+ </elementImport>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-f7SDxIEdyqfK4bFJstMQ" name="DeviationAttributeSet">
+ <ownedComment xmi:id="_b-jGYJU-Ed2pV7v-CAwgKg" annotatedElement="_i-f7SDxIEdyqfK4bFJstMQ">
+ <body>DeviationAttributeSet specifies the set of rules of allowed deviations from the reference model in a referring model. These rules are important, because they make sure that the different FeatureModels, referring to one reference model, follow specific rules for deviation, so a later integration into one FeatureModel might be possible.
+
+Extension:
+DataType</body>
+ </ownedComment>
+ <generalization xmi:id="_pylm4E3XEd-eluvub9wzww" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_i-f7STxIEdyqfK4bFJstMQ" name="allowChangeAttribute" visibility="public" type="_wW43kDxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_i-f7SjxIEdyqfK4bFJstMQ">
+ <body>Allows change of feature attributes.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bUXDkGd3EdyZ-rSA5-bo-g" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bUXDkWd3EdyZ-rSA5-bo-g" value="1"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_i-f7TTxIEdyqfK4bFJstMQ" value="YES"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_i-f7TjxIEdyqfK4bFJstMQ" name="allowChangeCardinality" visibility="public" type="_wW43kDxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_i-f7TzxIEdyqfK4bFJstMQ">
+ <body>Allows change of feature cardinality (i.e. variabilability of the feature).</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_cbnmkGd3EdyZ-rSA5-bo-g" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_cbnmkWd3EdyZ-rSA5-bo-g" value="1"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_i-f7UjxIEdyqfK4bFJstMQ" value="YES"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_i-f7UzxIEdyqfK4bFJstMQ" name="allowChangeDescription" visibility="public" type="_wW43kDxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_i-f7VDxIEdyqfK4bFJstMQ">
+ <body>Allows change of the feature description.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dwl1cGd3EdyZ-rSA5-bo-g" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dwl1cWd3EdyZ-rSA5-bo-g" value="1"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_i-f7VzxIEdyqfK4bFJstMQ" value="YES"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_i-f7WDxIEdyqfK4bFJstMQ" name="allowChangeName" visibility="public" type="_wW43kDxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_i-f7WTxIEdyqfK4bFJstMQ">
+ <body>Allows change of the feature name.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_elzmMGd3EdyZ-rSA5-bo-g" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_elzmMWd3EdyZ-rSA5-bo-g" value="1"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_i-f7XDxIEdyqfK4bFJstMQ" value="YES"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_i-f7XTxIEdyqfK4bFJstMQ" name="allowMove" visibility="public" type="_wW43kDxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_i-f7XjxIEdyqfK4bFJstMQ">
+ <body>Allows moving of the feature to another place in the feature diagram.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fiVf4Gd3EdyZ-rSA5-bo-g" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fiVf4Wd3EdyZ-rSA5-bo-g" value="1"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_i-f7YTxIEdyqfK4bFJstMQ" value="YES"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_i-f7YjxIEdyqfK4bFJstMQ" name="allowReduction" visibility="public" type="_wW43kDxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_i-f7YzxIEdyqfK4bFJstMQ">
+ <body>Reference feature fR has a child without a corresponding referring feature among the children of f.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gdgusGd3EdyZ-rSA5-bo-g" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gdgusWd3EdyZ-rSA5-bo-g" value="1"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_i-f7ZjxIEdyqfK4bFJstMQ" value="YES"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_i-f7ZzxIEdyqfK4bFJstMQ" name="allowRefinement" visibility="public" type="_wW43kDxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_i-f7aDxIEdyqfK4bFJstMQ">
+ <body>Allows adding of a child feature (without a corresponding feature in the reference model).</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hV3TAGd3EdyZ-rSA5-bo-g" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hV3TAWd3EdyZ-rSA5-bo-g" value="1"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_i-f7azxIEdyqfK4bFJstMQ" value="YES"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_i-f7bDxIEdyqfK4bFJstMQ" name="allowRegrouping" visibility="public" type="_wW43kDxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_i-f7bTxIEdyqfK4bFJstMQ">
+ <body>Allows to regroup the respective features.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_icOeIGd3EdyZ-rSA5-bo-g" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_icOeIWd3EdyZ-rSA5-bo-g" value="1"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_i-f7cDxIEdyqfK4bFJstMQ" value="YES"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_i-f7cTxIEdyqfK4bFJstMQ" name="allowRemoval" visibility="public" type="_wW43kDxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_i-f7cjxIEdyqfK4bFJstMQ">
+ <body>Allows the deletion of the feature in the referring model (compared to the reference model).</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_SWJ1oGd7EdyZ-rSA5-bo-g" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_SWJ1oWd7EdyZ-rSA5-bo-g" value="1"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_i-f7dTxIEdyqfK4bFJstMQ" value="YES"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_gV-sgEApEdympvaafZjFBw" name="base_DataType" isUnique="false" association="_gVrKgEApEdympvaafZjFBw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DataType"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_i-f76DxIEdyqfK4bFJstMQ" name="feature" visibility="public" type="_i-f62TxIEdyqfK4bFJstMQ" isUnique="false" association="_i-f75zxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_v-1k4JU-Ed2pV7v-CAwgKg" annotatedElement="_i-f76DxIEdyqfK4bFJstMQ">
+ <body>The deviation attributes belong to vehicle features that are part of a reference feature model in the context of multi-level feature models. The attribute can constrain the allowed deviation for the respective referring features.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-f76jxIEdyqfK4bFJstMQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-f76TxIEdyqfK4bFJstMQ" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-f62TxIEdyqfK4bFJstMQ" name="VehicleFeature">
+ <ownedComment xmi:id="_OOy8YJU_Ed2pV7v-CAwgKg" annotatedElement="_i-f62TxIEdyqfK4bFJstMQ">
+ <body>VehicleFeature represents a special kind of feature intended for use on the vehicle level. The main difference to features in general is that they provide support for the multi-level concept (with their DeviationAttributeSet) and several additional attributes with meta-information specific to the vehicle level viewpoint.
+
+
+Constraints:
+[1] VehicleFeatures can only be contained in FeatureModels on VehicleLevel.
+
+Semantics:
+A VehicleFeature is a functional or non-functional characteristic, constraint or property that can be present or not in a vehicle product line on the level of the complete system, i.e. vehicle.
+
+Extension:
+Class</body>
+ </ownedComment>
+ <generalization xmi:id="_i-f62jxIEdyqfK4bFJstMQ" general="_i-f7LjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_i-f62zxIEdyqfK4bFJstMQ" name="isDesignVariabilityRationale" visibility="public">
+ <ownedComment xmi:id="_i-f63DxIEdyqfK4bFJstMQ">
+ <body>A feature being a designVariabilityRationale is from the point of abstraction no real VFM feature but rather captures a variant coming up on a concrete artifact level that needs to be described on the VFM in order to be configured correctly.&#xD;
+&#xD;
+If true, then isCustomerVisible = false</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-f63jxIEdyqfK4bFJstMQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-f63TxIEdyqfK4bFJstMQ" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_i-f64DxIEdyqfK4bFJstMQ" name="isCustomerVisible" visibility="public">
+ <ownedComment xmi:id="_i-f64TxIEdyqfK4bFJstMQ">
+ <body>This attribute describes if the feature is customer visible (in contrast to a feature that is e.g. technically driven).</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-f64zxIEdyqfK4bFJstMQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-f64jxIEdyqfK4bFJstMQ" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_i-f65TxIEdyqfK4bFJstMQ" name="isRemoved" visibility="public">
+ <ownedComment xmi:id="_i-f65jxIEdyqfK4bFJstMQ">
+ <body>This attribute describes if the VFMFeature is removed (but kept in the database for tracking of evolution).</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-f66DxIEdyqfK4bFJstMQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-f65zxIEdyqfK4bFJstMQ" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_i-f67TxIEdyqfK4bFJstMQ" name="deviationAttributeSet" visibility="public" type="_i-f7SDxIEdyqfK4bFJstMQ" association="_i-f75zxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_dZ3YYJU_Ed2pV7v-CAwgKg" annotatedElement="_i-f67TxIEdyqfK4bFJstMQ">
+ <body>The deviation attributes belong to vehicle features that are part of a reference feature model in the context of multi-level feature models. The attribute can constrain the allowed deviation for the respective referring features.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-f67zxIEdyqfK4bFJstMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-f67jxIEdyqfK4bFJstMQ" value="1"/>
+ </ownedAttribute>
+ <icon xmi:id="_mqAQUE8dEd2eW62kipUStQ" content="71%73%70%56%57%97%16%0%16%0%-91%1%0%20%30%100%80%80%80%88%88%88%92%92%92%99%99%99%104%104%104%111%111%111%115%115%115%122%122%122%126%126%126%-123%-123%-123%-119%-119%-119%-112%-112%-112%-108%-108%-108%-101%-101%-101%-97%-97%-97%-90%-90%-90%-86%-86%-86%-76%-76%-76%-30%-13%-1%-29%-13%-1%-28%-13%-1%-28%-12%-1%-24%-11%-1%-23%-10%-1%-20%-9%-1%-19%-9%-1%-19%-8%-1%-18%-8%-1%-15%-7%-1%-14%-7%-1%-10%-5%-1%-9%-5%-1%-10%-4%-1%-8%-5%-1%-9%-4%-1%-5%-3%-1%-5%-2%-1%-4%-2%-1%-1%-1%-1%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%80%33%-2%51%69%65%83%84%45%65%68%76%32%112%114%111%106%101%99%116%10%65%117%116%104%111%114%32%58%32%109%105%99%107%97%101%108%46%99%111%110%100%101%64%115%105%101%109%101%110%115%46%99%111%109%0%33%-7%4%1%10%0%63%0%44%0%0%0%0%16%0%16%0%0%6%107%-64%-97%112%72%44%-2%34%-110%-92%114%-71%-124%60%78%-48%-88%84%-22%104%-104%0%-90%18%96%-53%-27%-110%24%11%17%-24%19%2%-115%70%-97%-15%103%-3%81%36%60%0%15%-68%-37%-19%32%14%27%14%71%-61%-25%103%52%127%124%6%5%24%0%23%23%116%93%23%4%3%21%20%22%22%20%-114%20%-108%20%19%19%20%2%1%-101%-100%-99%-98%1%70%-95%69%18%66%76%75%-94%-88%67%-92%63%-90%74%-87%-81%-80%63%65%0%59%">
+ <eAnnotations xmi:id="_nTkxwE8dEd2eW62kipUStQ" source="image_papyrus">
+ <details xmi:id="_nTuiwE8dEd2eW62kipUStQ" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_wW43kDxIEdyqfK4bFJstMQ" name="DeviationPermissionKind">
+ <ownedComment xmi:id="_2INW4JU-Ed2pV7v-CAwgKg" annotatedElement="_wW43kDxIEdyqfK4bFJstMQ">
+ <body>Possible values for deviation attributes.&#xD;
+&#xD;
+Semantics:&#xD;
+DeviationPermissionKind has no specific semantics. Further subclasses of DeviationPermissionKind will add semantics appropriate to the concept they represent.</body>
+ </ownedComment>
+ <ownedLiteral xmi:id="_i-f7QzxIEdyqfK4bFJstMQ" name="no">
+ <ownedComment xmi:id="_5_ejYJU-Ed2pV7v-CAwgKg" annotatedElement="_i-f7QzxIEdyqfK4bFJstMQ">
+ <body>The deviation is not allowed.</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_i-f7RDxIEdyqfK4bFJstMQ" name="subtree">
+ <ownedComment xmi:id="_-Rmf4JU-Ed2pV7v-CAwgKg" annotatedElement="_i-f7RDxIEdyqfK4bFJstMQ">
+ <body>In case of deviation attribute &quot;allowMove&quot;: the parent of the VehicleFeature may be changed, but the original parent must remain a predecessor (i.e. moving the VehicleFeature itself is allowed but it may only be moved further down within the same subtree).
+
+In case of deviation attribute &quot;allowReduction&quot;: the children of the VehicleFeature may be moved elsewhere, but they must remain successors of the VehicleFeature (i.e. moving them away is allowed but they may only be moved further down within the same subtree).
+
+This kind is only applicable to deviation attributes &quot;allowMove&quot; and &quot;allowReduction&quot;.</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_i-f7RTxIEdyqfK4bFJstMQ" name="append">
+ <ownedComment xmi:id="_4LqcYJU-Ed2pV7v-CAwgKg" annotatedElement="_i-f7RTxIEdyqfK4bFJstMQ">
+ <body>The name, description or other attribute may only be changed by appending text without changing the original text. This kind is only applicable to deviation attributes &quot;allowChangeName&quot;, &quot;allowChangeDescription&quot; and &quot;allowChangeAttribute&quot;.</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_i-f7RjxIEdyqfK4bFJstMQ" name="subset">
+ <ownedComment xmi:id="_8Fhp4JU-Ed2pV7v-CAwgKg" annotatedElement="_i-f7RjxIEdyqfK4bFJstMQ">
+ <body>The cardinality may only be changed such that the new cardinality is a subset of the original cardinality. This kind is only applicable to deviation attribute &quot;allowChangeCardinality&quot;.</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_i-f7RzxIEdyqfK4bFJstMQ" name="yes">
+ <ownedComment xmi:id="_AKJV4JU_Ed2pV7v-CAwgKg" annotatedElement="_i-f7RzxIEdyqfK4bFJstMQ">
+ <body>The deviation is allowed.</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_DOwcwEy7Ed-bsfu6wFsxNQ" name="widen">
+ <ownedComment xmi:id="_MYOisEy7Ed-bsfu6wFsxNQ" annotatedElement="_DOwcwEy7Ed-bsfu6wFsxNQ">
+ <body>Feature groups may only be widened, i.e. it is only legal to add features into a feature group that were not grouped before, but not to ungroup features. This kind is only applicable to deviation attribute 'allowRegrouping'.</body>
+ </ownedComment>
+ </ownedLiteral>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_gVrKgEApEdympvaafZjFBw" name="Extension_DeviationAttributeSet" memberEnd="_gV07gEApEdympvaafZjFBw _gV-sgEApEdympvaafZjFBw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_gV07gEApEdympvaafZjFBw" name="extension_DeviationAttributeSet" type="_i-f7SDxIEdyqfK4bFJstMQ" aggregation="composite" association="_gVrKgEApEdympvaafZjFBw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_i-f75zxIEdyqfK4bFJstMQ" name="A_VFMFeature_DeviationAttributeSet" memberEnd="_i-f76DxIEdyqfK4bFJstMQ _i-f67TxIEdyqfK4bFJstMQ"/>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_g49ooASIEd2YANJEsILj7w" name="Extension_VehicleFeatureModel" memberEnd="_g5t2kASIEd2YANJEsILj7w _g6AxgASIEd2YANJEsILj7w">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_g5t2kASIEd2YANJEsILj7w" name="extension_VehicleFeatureModel" type="_i-f68DxIEdyqfK4bFJstMQ" aggregation="composite" association="_g49ooASIEd2YANJEsILj7w"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_8HwNkNd5Ed6hwb99h1VVPA" name="Extension_VehicleFeatureModel" memberEnd="_8I7SQNd5Ed6hwb99h1VVPA _8JTswNd5Ed6hwb99h1VVPA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_8I7SQNd5Ed6hwb99h1VVPA" name="extension_VehicleFeatureModel" type="_i-f68DxIEdyqfK4bFJstMQ" aggregation="composite" association="_8HwNkNd5Ed6hwb99h1VVPA"/>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_vWiG0IYsEd23fOTtz-gtRA" name="Dummy">
+ <ownedComment xmi:id="_vWiG0YYsEd23fOTtz-gtRA" annotatedElement="_vWiG0IYsEd23fOTtz-gtRA">
+ <body>Dummy DataType, just added for code generation purpose.&#xD;
+In other words, this data type for EMF generation of SysmlPackage and SysmlFactory&#xD;
+java classes in the model code.&#xD;
+&#xD;
+Do not remove this !!!</body>
+ </ownedComment>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="_i-WNLDxIEdyqfK4bFJstMQ" name="Infrastructure" metaclassReference="_uT8N4EVJEd6JdbCOp56STA _VzK2INdqEd6hwb99h1VVPA _zQ46QNjcEd6wXIBypQTswA">
+ <ownedComment xmi:id="_E5WPQKAcEd20Qu_niqpmJw" annotatedElement="_i-WNLDxIEdyqfK4bFJstMQ">
+ <body>This section contains the UML-profile specification, specifying stereotypes in the UML-profile, defined from the metaclasses in the ADLCoreConstructs package. It includes specification details for each stereotype. If the stereotype has properties, which may be referred to as tag definitions, or if the stereotype has constraints, this section also includes specification details for these properties and constraints.&#xD;
+&#xD;
+Overview:&#xD;
+This subprofile defines a set of abstract stereotypes which provide basic constructs to the other subprofiles. Two subprofiles are also defined, ADLTypes and ADLRelationshipModeling which are described in the following sections.</body>
+ </ownedComment>
+ <elementImport xmi:id="_uT8N4EVJEd6JdbCOp56STA" alias="Comment">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+ </elementImport>
+ <elementImport xmi:id="_VzK2INdqEd6hwb99h1VVPA" alias="PackageableElement">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#PackageableElement"/>
+ </elementImport>
+ <elementImport xmi:id="_zQ46QNjcEd6wXIBypQTswA" alias="Dependency">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ </elementImport>
+ <packagedElement xmi:type="uml:Profile" xmi:id="_i-WNLTxIEdyqfK4bFJstMQ" name="Datatypes" metaclassReference="_kB3HMEAPEdyOzMGdsp2WEQ _F3ZBsNjlEd6wXIBypQTswA _f7ipcEuLEd-N_MlgLCZ6zw _9P6C8EutEd-ZO7qwJW2vyQ _n4JrAE1JEd-1tIv1CP9QOw">
+ <ownedComment xmi:id="_1HkCcKAkEd20Qu_niqpmJw" annotatedElement="_i-WNLTxIEdyqfK4bFJstMQ">
+ <body>The Datatypes subpackage of EAST-ADL2 defines EAST-ADL2 general-purpose datatypes that may be used to type structural constructs in several different modeling diagrams.
+
+The purpose of the metaclasses in the Datatypes subpackage is to specify the concepts for the specific domain.</body>
+ </ownedComment>
+ <elementImport xmi:id="_kB3HMEAPEdyOzMGdsp2WEQ" alias="PrimitiveType">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#PrimitiveType"/>
+ </elementImport>
+ <elementImport xmi:id="_F3ZBsNjlEd6wXIBypQTswA" alias="DataType">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DataType"/>
+ </elementImport>
+ <elementImport xmi:id="_f7ipcEuLEd-N_MlgLCZ6zw" alias="Property">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </elementImport>
+ <elementImport xmi:id="_9P6C8EutEd-ZO7qwJW2vyQ" alias="Enumeration">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Enumeration"/>
+ </elementImport>
+ <elementImport xmi:id="_n4JrAE1JEd-1tIv1CP9QOw" alias="Parameter">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Parameter"/>
+ </elementImport>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WNODxIEdyqfK4bFJstMQ" name="EADatatype" isAbstract="true">
+ <ownedComment xmi:id="_nLpi4JU8Ed2pV7v-CAwgKg" annotatedElement="_i-WNODxIEdyqfK4bFJstMQ">
+ <body>The EADatatype is a metaclass, which signifies a type whose instances are identified only by their value. The EADatatype metaclass represents the description of the value set for some variable, parameter etc. without a description of how these possible values are represented on implementation level. The implementation representation is defined on implementation level by the AUTOSAR concept PrimitiveTypeWithSemantics, and the implemented datatype shall be associated with a Realization relationship. The realizing datatype must match the EADatatype regarding range, resolution, unit, and dimension.
+
+Semantics:
+EADatatype metaclass is a special kind of classifier, similar to a class. It differs from the class in that instances of a data type are identified only by their value.
+
+Constraints:
+[1] In the case of an AR implementation, an EADatatype is realized generally by PrimitiveTypeWithSemantics, which has to be consistent w.r.t. range, resolution, etc.
+
+Notation:
+The EADatatype is denoted using the rectangle symbol with keyword &#xab;Datatype&#xbb;.</body>
+ </ownedComment>
+ <generalization xmi:id="_WYopsN7GEdyh2LCSxiotwQ" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_siHPwEuIEd-N_MlgLCZ6zw" name="base_DataType" isUnique="false" association="_shT-gEuIEd-N_MlgLCZ6zw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DataType"/>
+ </ownedAttribute>
+ <icon xmi:id="_7tDz0EnBEd2n_LV02Saw8w" content="71%73%70%56%57%97%16%0%16%0%-91%53%0%20%30%100%23%33%103%24%34%104%26%36%106%28%38%108%29%39%109%31%41%111%33%43%113%34%44%114%36%46%116%38%48%118%39%49%119%41%51%121%43%53%123%44%54%124%46%56%126%48%58%-128%49%59%-127%51%61%-125%53%63%-123%54%64%-122%56%66%-120%58%68%-118%59%69%-117%60%70%-116%68%79%-109%69%79%-109%70%80%-109%70%80%-108%71%80%-108%82%93%-98%83%93%-98%84%93%-98%84%94%-98%85%94%-97%85%95%-97%97%107%-87%97%108%-87%98%108%-87%98%109%-86%98%109%-85%99%109%-86%126%-120%-65%127%-120%-65%127%-120%-64%127%-119%-63%-128%-119%-63%-128%-118%-63%-115%-106%-53%-115%-105%-53%-114%-104%-53%-114%-104%-52%-106%-96%-46%-76%-76%-76%-76%-76%-76%-76%-76%-76%-76%-76%-76%-76%-76%-76%-76%-76%-76%-76%-76%-76%-76%-76%-76%-76%-76%-76%-76%-76%-76%-76%-76%-76%33%-2%51%69%65%83%84%45%65%68%76%32%112%114%111%106%101%99%116%10%65%117%116%104%111%114%32%58%32%109%105%99%107%97%101%108%46%99%111%110%100%101%64%115%105%101%109%101%110%115%46%99%111%109%0%33%-7%4%1%10%0%63%0%44%0%0%0%0%16%0%16%0%0%6%98%-64%-97%112%72%44%-2%0%72%-92%113%-55%52%38%-107%-51%-24%15%83%124%2%126%23%-116%118%-117%-79%44%41%-76%112%37%76%-101%28%-97%-65%8%12%22%-109%-56%102%51%-56%-46%-95%90%-79%30%45%-41%-85%97%92%-8%-3%12%127%10%11%70%8%36%37%38%9%39%41%40%7%75%5%30%31%32%6%33%34%35%4%75%2%26%25%26%3%28%27%29%1%75%86%104%81%87%82%77%65%0%59%">
+ <eAnnotations xmi:id="_8WP6wEnBEd2n_LV02Saw8w" source="image_papyrus">
+ <details xmi:id="_8WWBYEnBEd2n_LV02Saw8w" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_neBgQEuHEd-N_MlgLCZ6zw" name="EADatatypePrototype">
+ <ownedComment xmi:id="_-9gWwEu5Ed-xzKBfQHZrnw" annotatedElement="_neBgQEuHEd-N_MlgLCZ6zw">
+ <body>The EADatatypePrototype represents a typed variable. An example is a composite datatype ColorValue with parts R, G, and B of type integer. ColorValue would contain three prototypes only to be able to reference the record parts by name. The EADatatypePrototype is also used to represent argument and return values of operations or to represent a parameter.
+
+Semantics:
+The EADatatypePrototype represents a typed variable. It acts as an occurrence of a datatype.
+
+Extension: Property</body>
+ </ownedComment>
+ <generalization xmi:id="_fna68EuIEd-N_MlgLCZ6zw" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_tIUwoEuHEd-N_MlgLCZ6zw" name="type" type="_i-WNODxIEdyqfK4bFJstMQ" isUnique="false"/>
+ <ownedAttribute xmi:id="_ty3F8EuIEd-N_MlgLCZ6zw" name="base_Property" isUnique="false" association="_tx7R0EuIEd-N_MlgLCZ6zw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_u1n6MG1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_u1un4G1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_o239EE1JEd-1tIv1CP9QOw" name="base_Parameter" isUnique="false" association="_oyPUsE1JEd-1tIv1CP9QOw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Parameter"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vfoggG1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_vfwcUG1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_shT-gEuIEd-N_MlgLCZ6zw" name="Extension_EADatatype" memberEnd="_sh83sEuIEd-N_MlgLCZ6zw _siHPwEuIEd-N_MlgLCZ6zw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_sh83sEuIEd-N_MlgLCZ6zw" name="extension_EADatatype" type="_i-WNODxIEdyqfK4bFJstMQ" aggregation="composite" association="_shT-gEuIEd-N_MlgLCZ6zw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IaR2ELbOEeGRzMmi3_uxgw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IaZK0LbOEeGRzMmi3_uxgw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_tx7R0EuIEd-N_MlgLCZ6zw" name="Extension_EADatatypePrototype" memberEnd="_tyqRoEuIEd-N_MlgLCZ6zw _ty3F8EuIEd-N_MlgLCZ6zw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_tyqRoEuIEd-N_MlgLCZ6zw" name="extension_EADatatypePrototype" type="_neBgQEuHEd-N_MlgLCZ6zw" aggregation="composite" association="_tx7R0EuIEd-N_MlgLCZ6zw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_kMqgYEuLEd-N_MlgLCZ6zw" name="ValueType" isAbstract="true">
+ <ownedComment xmi:id="_IINLwEu6Ed-xzKBfQHZrnw" annotatedElement="_kMqgYEuLEd-N_MlgLCZ6zw">
+ <body>From SysML:
+A ValueType defines types of values that may be used to express information about a system, but cannot be identified as the target of any reference. Since a value cannot be identified except by means of the value itself, each such value within a model is independent of any other, unless other forms of constraints are imposed. Value types may be used to type properties, operation parameters, or potentially other elements within SysML. SysML defines ValueType as a stereotype of UML DataType to establish a more neutral term for system values that may never be given a concrete data representation. For example, the SysML &quot;Real&quot; ValueType expresses the mathematical concept of a real number, but does not impose any restrictions on the precision or scale of a fixed or floating-point representation that expresses this concept. More specific value types can define the concrete data representations that a digital computer can process, such as conventional Float, Integer, or String types. SysML ValueType adds an ability to carry a unit of measure or dimension associated with the value. A dimension is a kind of quantity that may be stated in terms of defined units, but does not restrict the selection of a unit to state the value. A unit is a particular value in terms of which a quantity of the same dimension may be expressed. A SysML ValueType may define its own properties and/or operations, just as for a UML DataType.
+
+Semantics:
+The abstract ValueType defines types of values that may be used to express information about a system. The ValueType adds an ability to carry a description, a dimension associated with the value, and a unit of measure. A dimension is a kind of quantity that may be stated in terms of defined units, but does not restrict the selection of a unit to state the value. A unit is a particular value in terms of which a quantity of the same dimension may be expressed.
+Logical and physical datatypes cannot be distinguished on the type. The context (e.g., EnvironmentModel or FunctionalAnalysisArchitecture) decides if a speed datatype is physical or logical. On AnalysisLevel or DesignLevel, physical datatypes shall not be interpreted in the implementation sense as this would include int32, coding formula, etc.
+
+Extension: UML Datatype</body>
+ </ownedComment>
+ <generalization xmi:id="_yw0GUEuLEd-N_MlgLCZ6zw" general="_i-WNODxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_nOItUEuLEd-N_MlgLCZ6zw" name="semantics" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_tlbmkEuLEd-N_MlgLCZ6zw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_tlfQ8EuLEd-N_MlgLCZ6zw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_qWgMcEuLEd-N_MlgLCZ6zw" name="dimension" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uVDssEuLEd-N_MlgLCZ6zw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uVHXEEuLEd-N_MlgLCZ6zw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_u4V_8EuLEd-N_MlgLCZ6zw" name="unit" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_xNkx8EuLEd-N_MlgLCZ6zw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_xNocUEuLEd-N_MlgLCZ6zw" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_1jj6wEuLEd-N_MlgLCZ6zw" name="RangeableDatatype" isAbstract="true">
+ <ownedComment xmi:id="_ttuRAEu5Ed-xzKBfQHZrnw" annotatedElement="_1jj6wEuLEd-N_MlgLCZ6zw">
+ <body>The stereotype RangeableDatatype reflects numeric datatypes that may have a range (between a minimal and a maximal value). An example for a RangeableDatatype is the Celsius temperature scale with minValue = -273.15.
+
+Semantics:
+The stereotype RangeableDatatype reflects numeric datatypes that may have a range (between a minimal and a maximal value).
+
+
+Extension: UML Datatype</body>
+ </ownedComment>
+ <generalization xmi:id="_F1DMQEuMEd-N_MlgLCZ6zw" general="_i-WNODxIEdyqfK4bFJstMQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_Ip55gEuMEd-N_MlgLCZ6zw" name="RangeableValueType">
+ <ownedComment xmi:id="_NL_OsEu6Ed-xzKBfQHZrnw" annotatedElement="_Ip55gEuMEd-N_MlgLCZ6zw">
+ <body>The RangeableValueType is a specific ValueType applicable for RangeableDatatypes. It provides the possibility to describe the accuracy, resolution, and the significant digits of the baseRangeable datatypes.
+
+Semantics:
+The RangeableValueType adds the ability to describe the accuracy, resolution, and the significant digits of the baseRangeable datatype.
+
+Notation:
+The datatype RangeableValueType is denoted using the rectangle symbol with keyword &#xab;Datatype RangeableValueType&#xbb;.
+
+Extension: UML Datatype</body>
+ </ownedComment>
+ <generalization xmi:id="_eoCkwEuMEd-N_MlgLCZ6zw" general="_kMqgYEuLEd-N_MlgLCZ6zw"/>
+ <ownedAttribute xmi:id="_L2WAUEuMEd-N_MlgLCZ6zw" name="accuracy" type="_IIFyoEucEd-ZO7qwJW2vyQ" isUnique="false"/>
+ <ownedAttribute xmi:id="_WIAdYEuMEd-N_MlgLCZ6zw" name="resolution" type="_IIFyoEucEd-ZO7qwJW2vyQ" isUnique="false"/>
+ <ownedAttribute xmi:id="_ZpXrUEuMEd-N_MlgLCZ6zw" name="significantDigits" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_c-AE0EuMEd-N_MlgLCZ6zw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_c-DvMEuMEd-N_MlgLCZ6zw" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_IIFyoEucEd-ZO7qwJW2vyQ" name="Float">
+ <ownedComment xmi:id="_UFbLsEu6Ed-xzKBfQHZrnw" annotatedElement="_IIFyoEucEd-ZO7qwJW2vyQ">
+ <body>An instance of Float is an element from the set of real numbers. The value must comply with IEEE 754 and is limited to what can be expressed by a 64 bit binary representation.
+
+Semantics:
+Float has the semantics of the Float datatype as defined by IEEE Standard for Floating-Point Arithmetic (IEEE 754).
+
+Notation:
+The datatype Float is denoted using the rectangle symbol with keyword &#xab;Datatype Float&#xbb;.
+
+Extension: UML PrimitiveType</body>
+ </ownedComment>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_Y4FVUEutEd-ZO7qwJW2vyQ" name="EnumerationValueType">
+ <ownedComment xmi:id="_QMtNsEu6Ed-xzKBfQHZrnw" annotatedElement="_Y4FVUEutEd-ZO7qwJW2vyQ">
+ <body>The EnumerationValueType is a specific ValueType applicable for Enumerations. It provides the possibility to describe semantics of the baseEnumeration's literals and the information, if multiple values of the baseEnumeration may be selected or not.
+
+Semantics:
+The EnumerationValueType adds the ability to describe semantics of the baseEnumeration's literals and if multiple values of the baseEnumeration may be selected or not.
+
+
+Notation:
+The datatype EnumerationValueType is denoted using the rectangle symbol with keyword &#xab;Datatype EnumerationValueType&#xbb;.
+
+Extension: UML Enumeration</body>
+ </ownedComment>
+ <generalization xmi:id="_b1I8UEutEd-ZO7qwJW2vyQ" general="_kMqgYEuLEd-N_MlgLCZ6zw"/>
+ <ownedAttribute xmi:id="_ctoDgEutEd-ZO7qwJW2vyQ" name="isMultiValued" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_yB88wEutEd-ZO7qwJW2vyQ" name="literalSemantics" isOrdered="true" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3xq4oEutEd-ZO7qwJW2vyQ" value="2"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3xvxIEutEd-ZO7qwJW2vyQ" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_HgBn4EuuEd-ZO7qwJW2vyQ" name="base_Enumeration" isUnique="false" association="_Hda_0EuuEd-ZO7qwJW2vyQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Enumeration"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_Hda_0EuuEd-ZO7qwJW2vyQ" name="Extension_EnumerationValueType" memberEnd="_Hf0MgEuuEd-ZO7qwJW2vyQ _HgBn4EuuEd-ZO7qwJW2vyQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_Hf0MgEuuEd-ZO7qwJW2vyQ" name="extension_EnumerationValueType" type="_Y4FVUEutEd-ZO7qwJW2vyQ" aggregation="composite" association="_Hda_0EuuEd-ZO7qwJW2vyQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_LUJZwEuuEd-ZO7qwJW2vyQ" name="CompositeDatatype">
+ <ownedComment xmi:id="_774Y0Eu5Ed-xzKBfQHZrnw" annotatedElement="_LUJZwEuuEd-ZO7qwJW2vyQ">
+ <body>A CompositeDatatype represents a non-scalar datatype. Take as an example a CompositeDatatype &quot;MyCountries&quot; that can refer, e.g., to an Enumeration &quot;CountryEnumeration&quot; {USA, Canada, Japan, EU} via two EADatatypePrototypes (record variables): FirstCountry and SecondCountry. Then an attribute typed by this CompositeDatatype &quot;MyCountries&quot; may have a value like: (EU (identified as FirstCountry), Japan (identified as SecondCountry)).
+
+Semantics:
+A CompositeDatatype represents a non-scalar datatype. The contained datatypePrototypes act as record variables to identify the ordered datatype instances of the tuple (the CompositeDatatype).
+
+Notation:
+The datatype CompositeDatatype is denoted using the rectangle symbol with keyword &#xab;Datatype CompositeDatatype&#xbb;.
+
+Extension: UML Datatype</body>
+ </ownedComment>
+ <generalization xmi:id="_OqIeIEuuEd-ZO7qwJW2vyQ" general="_i-WNODxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_Q8aCwEuuEd-ZO7qwJW2vyQ" name="datatypePrototype" type="_neBgQEuHEd-N_MlgLCZ6zw" isOrdered="true" association="_Q6iagEuuEd-ZO7qwJW2vyQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q8oFMEuuEd-ZO7qwJW2vyQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q8p6YEuuEd-ZO7qwJW2vyQ" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_Q6iagEuuEd-ZO7qwJW2vyQ" name="A_CompositeDatatype_EADatatypePrototype" memberEnd="_Q8aCwEuuEd-ZO7qwJW2vyQ _Q8rvkEuuEd-ZO7qwJW2vyQ">
+ <ownedEnd xmi:id="_Q8rvkEuuEd-ZO7qwJW2vyQ" name="compositeDatatype" type="_LUJZwEuuEd-ZO7qwJW2vyQ" isUnique="false" association="_Q6iagEuuEd-ZO7qwJW2vyQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q9BGwEuuEd-ZO7qwJW2vyQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q8_4oEuuEd-ZO7qwJW2vyQ" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_oyPUsE1JEd-1tIv1CP9QOw" name="Extension_EADatatypePrototype" memberEnd="_o2mQQE1JEd-1tIv1CP9QOw _o239EE1JEd-1tIv1CP9QOw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_o2mQQE1JEd-1tIv1CP9QOw" name="extension_EADatatypePrototype" type="_neBgQEuHEd-N_MlgLCZ6zw" aggregation="composite" association="_oyPUsE1JEd-1tIv1CP9QOw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_JgYIMGzuEd-32sTBz6AwMQ" name="EAString">
+ <generalization xmi:id="_PUc_oGzuEd-32sTBz6AwMQ" general="_i-WNODxIEdyqfK4bFJstMQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_KFaH4GzuEd-32sTBz6AwMQ" name="EABoolean">
+ <generalization xmi:id="_Oto3QGzuEd-32sTBz6AwMQ" general="_i-WNODxIEdyqfK4bFJstMQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_Yn_AgGzuEd-32sTBz6AwMQ" name="EAFloat">
+ <generalization xmi:id="_g9AKsGzuEd-32sTBz6AwMQ" general="_1jj6wEuLEd-N_MlgLCZ6zw"/>
+ <ownedAttribute xmi:id="_jPGwMGzuEd-32sTBz6AwMQ" name="min" type="_IIFyoEucEd-ZO7qwJW2vyQ" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4yO6cGzuEd-32sTBz6AwMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4yTy8GzuEd-32sTBz6AwMQ" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_nYoKUGzuEd-32sTBz6AwMQ" name="max" type="_IIFyoEucEd-ZO7qwJW2vyQ" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_5XDewGzuEd-32sTBz6AwMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_5XIXQGzuEd-32sTBz6AwMQ" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_ZAkfoGzuEd-32sTBz6AwMQ" name="EAInteger">
+ <generalization xmi:id="_hbLUcGzuEd-32sTBz6AwMQ" general="_1jj6wEuLEd-N_MlgLCZ6zw"/>
+ <ownedAttribute xmi:id="_wNCmQGzuEd-32sTBz6AwMQ" name="min" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3hg5cGzuEd-32sTBz6AwMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3hlx8GzuEd-32sTBz6AwMQ" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_yu0mgGzuEd-32sTBz6AwMQ" name="max" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Iv4kGzuEd-32sTBz6AwMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4I0xEGzuEd-32sTBz6AwMQ" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_kRtxoKWkEeGVVPgQD6jlgA" name="EnumerationLiteral">
+ <generalization xmi:id="_1UbEsKWkEeGVVPgQD6jlgA" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_42QMsKWkEeGVVPgQD6jlgA" name="Enumeration">
+ <generalization xmi:id="_BznwUKWlEeGVVPgQD6jlgA" general="_i-WNODxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_KwCRsKWlEeGVVPgQD6jlgA" name="literal" type="_kRtxoKWkEeGVVPgQD6jlgA" aggregation="composite" association="_KwCRs6WlEeGVVPgQD6jlgA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KwCRsqWlEeGVVPgQD6jlgA" value="2"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KwCRsaWlEeGVVPgQD6jlgA" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_KwCRs6WlEeGVVPgQD6jlgA" name="enumeration_enumerationLiteral_1" memberEnd="_KwCRtKWlEeGVVPgQD6jlgA _KwCRsKWlEeGVVPgQD6jlgA">
+ <ownedEnd xmi:id="_KwCRtKWlEeGVVPgQD6jlgA" name="enumeration" type="_42QMsKWkEeGVVPgQD6jlgA" isOrdered="true" association="_KwCRs6WlEeGVVPgQD6jlgA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KwCRtqWlEeGVVPgQD6jlgA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KwCRtaWlEeGVVPgQD6jlgA" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="_i-WNZjxIEdyqfK4bFJstMQ" name="Elements" metaclassReference="_LKzjgEAOEdyOzMGdsp2WEQ _LLGecEAOEdyOzMGdsp2WEQ _n1cl4ExEEd-8Fb2lgHByaQ _3ovWkJq1EeGgUfgGS4KevA _a4SZkKWjEeGVVPgQD6jlgA _-M9DgLYqEeGyVPNcbdBunw">
+ <ownedComment xmi:id="_MQoJYKAdEd20Qu_niqpmJw" annotatedElement="_i-WNZjxIEdyqfK4bFJstMQ">
+ <body>This section contains the UML-profile specification, specifying stereotypes in the UML-profile, defined from the metaclasses in the Infrastructure::Elements subprofile. It includes specification details for each stereotype. If the stereotype has properties, which may be referred to as tag definitions, or if the stereotype has constraints, this section also includes specification details for these properties and constraints.&#xD;
+&#xD;
+Overview:&#xD;
+The Infrastructure::Elements subprofile of EAST-ADL2 defines general-purpose relationship constructs that may be used to model dependencies between structural constructs.&#xD;
+The purpose of the stereotypes in this subprofile is to specify rigorously (&quot;formally&quot;) the various relationships that may exist between basic constructs.</body>
+ </ownedComment>
+ <elementImport xmi:id="_LKzjgEAOEdyOzMGdsp2WEQ" alias="Realization">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Realization"/>
+ </elementImport>
+ <elementImport xmi:id="_LLGecEAOEdyOzMGdsp2WEQ" alias="Dependency">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ </elementImport>
+ <elementImport xmi:id="_n1cl4ExEEd-8Fb2lgHByaQ" alias="PackageableElement">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#PackageableElement"/>
+ </elementImport>
+ <elementImport xmi:id="_3ovWkJq1EeGgUfgGS4KevA" alias="Package">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ </elementImport>
+ <elementImport xmi:id="_a4SZkKWjEeGVVPgQD6jlgA" alias="Comment">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+ </elementImport>
+ <elementImport xmi:id="_-M9DgLYqEeGyVPNcbdBunw" alias="NamedElement">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ </elementImport>
+ <packageImport xmi:id="_DRLsQJqpEeGhQ8mhoNM_3Q">
+ <importedPackage xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WNhzxIEdyqfK4bFJstMQ" name="Realization">
+ <ownedComment xmi:id="_vSYO4JU7Ed2pV7v-CAwgKg" annotatedElement="_i-WNhzxIEdyqfK4bFJstMQ">
+ <body>The Realization is a relationship which relates two or more elements across boundaries of the EAST-ADL2 abstraction levels.
+
+It identifies an element that serves as a specification within this realization relationship and on the other side it identifies an element that is supposed to realize this specification on a lower abstraction level or an implementation.
+
+
+Semantics:
+The modification of the supplier realized element impact the realizing client entity. The Realization metaclass implies the semantics that the realizing client is not complete, without the supplier.
+
+Notation:
+A Realization relationship is shown as a dashed line with a triangular arrowhead at the end that corresponds to the realized entity. The entity at the tail of the arrow (the realizing EAElement or the realizing ARElement) depends on the entity at the arrowhead (the realized EAElement).
+
+Changes:
+Renamed from Realization.
+
+Extension: Realization</body>
+ </ownedComment>
+ <generalization xmi:id="_i-WNiDxIEdyqfK4bFJstMQ" general="_i-WNqjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_i-WNkjxIEdyqfK4bFJstMQ" name="realized" visibility="public" type="_i-WNqzxIEdyqfK4bFJstMQ" isReadOnly="true" isDerived="true" association="_i-WN5TxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_4UYa4JU7Ed2pV7v-CAwgKg" annotatedElement="_i-WNkjxIEdyqfK4bFJstMQ">
+ <body>The set of ADL entities, which are realized by the set of client ADL entities or realized by the set of client AUTOSAR elements.&#xD;
+{derived from UML::DirectedRelationship::target}</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_2cot4Gd2EdyZ-rSA5-bo-g" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_2cot4Wd2EdyZ-rSA5-bo-g" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_i-WNlTxIEdyqfK4bFJstMQ" name="realizedBy" visibility="public" isReadOnly="true" isDerived="true" association="_i-WN7TxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_7A9V4JU7Ed2pV7v-CAwgKg" annotatedElement="_i-WNlTxIEdyqfK4bFJstMQ">
+ <body>The set of client ADL entities, realizing the set of supplier ADL entities.&#xD;
+{derived from UML::Dependency::client}</body>
+ </ownedComment>
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-WNlzxIEdyqfK4bFJstMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-WNljxIEdyqfK4bFJstMQ" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_dY-kIEAOEdyOzMGdsp2WEQ" name="base_Realization" isUnique="false" association="_dYYuQEAOEdyOzMGdsp2WEQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Realization"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_roHWYE3dEd-eluvub9wzww" name="realizedBy_path" isOrdered="true" association="_repRUE3dEd-eluvub9wzww">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rpE_sE3dEd-eluvub9wzww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rpKfQE3dEd-eluvub9wzww" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Ht_D0E39Ed-lBeOY4fJiaA" name="realized_path" isOrdered="true">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Old5AE39Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_OllNwE39Ed-lBeOY4fJiaA" value="*"/>
+ </ownedAttribute>
+ <icon xmi:id="_lnhjgEkmEd2n_LV02Saw8w" content="71%73%70%56%57%97%16%0%16%0%-29%12%0%20%30%100%29%39%109%39%49%119%40%50%120%49%59%-127%60%70%-116%80%90%-101%80%90%-100%120%-126%-70%120%-126%-69%-106%-96%-46%-76%-76%-76%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%33%-2%51%69%65%83%84%45%65%68%76%32%112%114%111%106%101%99%116%10%65%117%116%104%111%114%32%58%32%109%105%99%107%97%101%108%46%99%111%110%100%101%64%115%105%101%109%101%110%115%46%99%111%109%0%33%-7%4%1%10%0%15%0%44%0%0%0%0%16%0%16%0%0%4%55%-16%73%-71%106%-99%24%-81%-71%115%-18%15%-24%81%-36%-88%89%-94%-7%0%-86%-105%-98%40%-128%90%-26%107%-54%108%59%-27%122%-31%-5%58%-126%98%72%-48%13%18%9%-124%64%23%48%28%12%1%29%96%58%-11%68%0%0%59%">
+ <eAnnotations xmi:id="_nV1fcEkmEd2n_LV02Saw8w" source="image_papyrus">
+ <details xmi:id="_nV7mEEkmEd2n_LV02Saw8w" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_dYYuQEAOEdyOzMGdsp2WEQ" name="Extension_ADLRealization" memberEnd="_dYrpMEAOEdyOzMGdsp2WEQ _dY-kIEAOEdyOzMGdsp2WEQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_dYrpMEAOEdyOzMGdsp2WEQ" name="extension_ADLRealization" type="_i-WNhzxIEdyqfK4bFJstMQ" aggregation="composite" association="_dYYuQEAOEdyOzMGdsp2WEQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_TN80ALbOEeGRzMmi3_uxgw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_TOEIwLbOEeGRzMmi3_uxgw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WNsjxIEdyqfK4bFJstMQ" name="Context" isAbstract="true">
+ <ownedComment xmi:id="_4bQUYJU6Ed2pV7v-CAwgKg" annotatedElement="_i-WNsjxIEdyqfK4bFJstMQ">
+ <body>Context represents a simple and practical way to allocate TraceableSpecifications to a specific EAST-ADL2 model context, and to let this specific model context own Relationships.
+
+Semantics:
+See Relationship and TraceableSpecification.
+
+
+Changes:
+New class in EAST-ADL2
+
+Extension:
+The Context stereotype is an abstract stereotype which extends UML2 PackageableElement</body>
+ </ownedComment>
+ <generalization xmi:id="_7Hh58NdpEd6hwb99h1VVPA" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_5lDAoEVHEd63p8Mhtt6qeA" name="traceableSpecification" type="_i-WNpjxIEdyqfK4bFJstMQ" isUnique="false" association="_5dj4kEVHEd63p8Mhtt6qeA">
+ <ownedComment xmi:id="_VBNKQFQvEd6Xd4cXg8Jv5g" annotatedElement="_5lDAoEVHEd63p8Mhtt6qeA">
+ <body>Traceable specification(s) allocated to this context.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_5lklEEVHEd63p8Mhtt6qeA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_5lnoYEVHEd63p8Mhtt6qeA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_BL6rYEVIEd63p8Mhtt6qeA" name="ownedRelationship" type="_i-WNqjxIEdyqfK4bFJstMQ" association="_BKfvEEVIEd63p8Mhtt6qeA">
+ <ownedComment xmi:id="_QgqXQFQvEd6Xd4cXg8Jv5g" annotatedElement="_BL6rYEVIEd63p8Mhtt6qeA">
+ <body>Relationship(s) associated to this context.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_BMbBsEVIEd63p8Mhtt6qeA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_BMeFAEVIEd63p8Mhtt6qeA" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WNqzxIEdyqfK4bFJstMQ" name="EAElement" isAbstract="true">
+ <ownedComment xmi:id="_CvHw4JU7Ed2pV7v-CAwgKg" annotatedElement="_i-WNqzxIEdyqfK4bFJstMQ">
+ <body>The EAElement is an abstract metaclass that represents an arbitrary named entity in the domain model. It specializes AUTOSAR Identifiable which has the shortName attribute used for identification of the element within the namespace in which it is defined.
+
+The abbreviation EA in the name of this metaclass is short for EAST-ADL.
+
+
+Semantics:
+Also the EAElement can be used to extend the EAST-ADL2 approach to other languages and standards by adding a generalize relation from the respective (non EAST-ADL2) element to the EAElement.
+
+
+Changes:
+New class in EAST-ADL2
+
+Extension:
+The EAElement stereotype is an abstract stereotype</body>
+ </ownedComment>
+ <ownedAttribute xmi:id="_i-WNrTxIEdyqfK4bFJstMQ" name="name" visibility="public" isUnique="false" isDerived="true">
+ <ownedComment xmi:id="_i-WNrjxIEdyqfK4bFJstMQ">
+ <body>The name of the ADLEntity.&#xD;
+{derived from UML::NamedElement::name} for specializing stereotypes extending NamedElement.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ITaxsEvEEd-mcqKeZa5PSA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ITkisEvEEd-mcqKeZa5PSA" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="__Pv9QLYqEeGyVPNcbdBunw" name="base_NamedElement" association="__PwkULYqEeGyVPNcbdBunw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_fX5PULY0EeGyVPNcbdBunw" name="ownedComment" visibility="public" type="_JjPZUKWjEeGVVPgQD6jlgA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ipsXQLY0EeGyVPNcbdBunw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ipzsALY0EeGyVPNcbdBunw" value="*"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_iqKRULY0EeGyVPNcbdBunw">
+ <value xsi:nil="true"/>
+ </defaultValue>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_rbGCsNjcEd6wXIBypQTswA" name="MultiLevelReference">
+ <ownedComment xmi:id="_3lmQsNjcEd6wXIBypQTswA" annotatedElement="_rbGCsNjcEd6wXIBypQTswA">
+ <body>MultiLevelReference gives the possibility to establish reference links (Multi-Level Concept) between model elements.</body>
+ </ownedComment>
+ <generalization xmi:id="_wNR_UNjcEd6wXIBypQTswA" general="_i-WNqjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_1AU3kNjcEd6wXIBypQTswA" name="base_Dependency" isUnique="false" association="_00xH0NjcEd6wXIBypQTswA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_7n8EwNjcEd6wXIBypQTswA" name="referring" visibility="public" type="_i-WNqzxIEdyqfK4bFJstMQ" isReadOnly="true" isDerived="true">
+ <ownedComment xmi:id="__uBwYNjcEd6wXIBypQTswA" annotatedElement="_7n8EwNjcEd6wXIBypQTswA">
+ <body>Referencing the target element of a Multi-Level reference link.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_MKqQMNjdEd6wXIBypQTswA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_MKyzENjdEd6wXIBypQTswA" value="1"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_MK79ANjdEd6wXIBypQTswA">
+ <value xsi:nil="true"/>
+ </defaultValue>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_BrPD8NjdEd6wXIBypQTswA" name="reference" type="_i-WNqzxIEdyqfK4bFJstMQ" isReadOnly="true" isDerived="true">
+ <ownedComment xmi:id="_ENzuYNjdEd6wXIBypQTswA" annotatedElement="_BrPD8NjdEd6wXIBypQTswA">
+ <body>Referencing the source element of a Multi-Level reference link.</body>
+ </ownedComment>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WNqjxIEdyqfK4bFJstMQ" name="Relationship" isAbstract="true">
+ <ownedComment xmi:id="_MJARYJU7Ed2pV7v-CAwgKg" annotatedElement="_i-WNqjxIEdyqfK4bFJstMQ">
+ <body>The Relationship is an abstract metaclass which represents a relationship between arbitrary elements.
+
+Semantics:
+In many cases, Contexts such as functions and sensors need to have requirements and other specification elements allocated them. In other cases, the relation between an element and the related specification element is specific for a certain Context: for example a Requirement on a sensor is only applicable in certain hardware architecture. These relationships are modeled by concrete specializations of Relationship.
+
+See Context and TraceableSpecification.
+
+
+Changes:
+New class in EAST-ADL2
+
+Extension:
+The Relationship stereotype is abstract</body>
+ </ownedComment>
+ <generalization xmi:id="_Z7Ac4E9wEd63TMVefYU7MQ" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WNpjxIEdyqfK4bFJstMQ" name="TraceableSpecification" isAbstract="true">
+ <ownedComment xmi:id="_THjX4JU7Ed2pV7v-CAwgKg" annotatedElement="_i-WNpjxIEdyqfK4bFJstMQ">
+ <body>The TraceableSpecification is an abstract metaclass which is used to allow its specializations to be allocated to a Context.
+
+Semantics:
+TraceableSpecification is specialized by requirements, test cases and other specifications, that there by can be allocated to a Context, for example to a sensor or to an entire HW architecture.
+
+See Context and Relationship.
+
+
+Changes:
+New class in EAST-ADL2
+
+Extension:
+TraceableSpecification is a specification stereotype which extends UML2 PackageableElement</body>
+ </ownedComment>
+ <generalization xmi:id="_bjqcwE9wEd63TMVefYU7MQ" general="_1raB0JqiEeGhQ8mhoNM_3Q"/>
+ <ownedAttribute xmi:id="_M6E0QEVLEd6JdbCOp56STA" name="note" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_UgjdcEVLEd6JdbCOp56STA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Ugo9AEVLEd6JdbCOp56STA" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_00xH0NjcEd6wXIBypQTswA" name="Extension_ADLReference" memberEnd="_0_-5UNjcEd6wXIBypQTswA _1AU3kNjcEd6wXIBypQTswA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_0_-5UNjcEd6wXIBypQTswA" name="extension_ADLReference" type="_rbGCsNjcEd6wXIBypQTswA" aggregation="composite" association="_00xH0NjcEd6wXIBypQTswA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_BKfvEEVIEd63p8Mhtt6qeA" name="A_ADLContext_ADLRelationship" memberEnd="_BL6rYEVIEd63p8Mhtt6qeA _BMhIUEVIEd63p8Mhtt6qeA">
+ <ownedEnd xmi:id="_BMhIUEVIEd63p8Mhtt6qeA" name="aDLContext" type="_i-WNsjxIEdyqfK4bFJstMQ" isUnique="false" association="_BKfvEEVIEd63p8Mhtt6qeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_BNEh8EVIEd63p8Mhtt6qeA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_BNCFsEVIEd63p8Mhtt6qeA" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_5dj4kEVHEd63p8Mhtt6qeA" name="A_ADLContext_ADLTraceableSpecification" memberEnd="_5lDAoEVHEd63p8Mhtt6qeA _5lrSwEVHEd63p8Mhtt6qeA">
+ <ownedEnd xmi:id="_5lrSwEVHEd63p8Mhtt6qeA" name="aDLContext" type="_i-WNsjxIEdyqfK4bFJstMQ" isUnique="false" association="_5dj4kEVHEd63p8Mhtt6qeA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_5mMQIEVHEd63p8Mhtt6qeA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_5mJM0EVHEd63p8Mhtt6qeA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_i-WN5TxIEdyqfK4bFJstMQ" name="A_ADLEntity_ADLRealization" memberEnd="_i-WN5jxIEdyqfK4bFJstMQ _i-WNkjxIEdyqfK4bFJstMQ">
+ <ownedEnd xmi:id="_i-WN5jxIEdyqfK4bFJstMQ" name="ADLRealization" type="_i-WNhzxIEdyqfK4bFJstMQ" association="_i-WN5TxIEdyqfK4bFJstMQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-WN6DxIEdyqfK4bFJstMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-WN5zxIEdyqfK4bFJstMQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_i-WN7TxIEdyqfK4bFJstMQ" name="A_ADLEntity_ADLRealization" memberEnd="_i-WN7jxIEdyqfK4bFJstMQ _i-WNlTxIEdyqfK4bFJstMQ">
+ <ownedEnd xmi:id="_i-WN7jxIEdyqfK4bFJstMQ" name="ADLRealization" type="_i-WNhzxIEdyqfK4bFJstMQ" association="_i-WN7TxIEdyqfK4bFJstMQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-WN8DxIEdyqfK4bFJstMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-WN7zxIEdyqfK4bFJstMQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_repRUE3dEd-eluvub9wzww" name="A_Realization_NamedElement" memberEnd="_roHWYE3dEd-eluvub9wzww _rpTpME3dEd-eluvub9wzww">
+ <ownedEnd xmi:id="_rpTpME3dEd-eluvub9wzww" name="realization" type="_i-WNhzxIEdyqfK4bFJstMQ" isUnique="false" association="_repRUE3dEd-eluvub9wzww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rpt44E3dEd-eluvub9wzww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rpsDsE3dEd-eluvub9wzww" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_1raB0JqiEeGhQ8mhoNM_3Q" name="EAPackageableElement" isAbstract="true">
+ <generalization xmi:id="_7tGegJqiEeGhQ8mhoNM_3Q" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_tR4jYJqoEeGhQ8mhoNM_3Q" name="base_PackageableElement" association="_tR5KcJqoEeGhQ8mhoNM_3Q">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#PackageableElement"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_tR5KcJqoEeGhQ8mhoNM_3Q" name="E_EAPackageableElement_PackageableElement0" memberEnd="_tR5KcZqoEeGhQ8mhoNM_3Q _tR4jYJqoEeGhQ8mhoNM_3Q">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_tR5KcZqoEeGhQ8mhoNM_3Q" name="extension_EAPackageableElement" type="_1raB0JqiEeGhQ8mhoNM_3Q" aggregation="composite" association="_tR5KcJqoEeGhQ8mhoNM_3Q">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_y2sY0LbNEeGRzMmi3_uxgw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_y26bQLbNEeGRzMmi3_uxgw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_6k_YMJqoEeGhQ8mhoNM_3Q" name="Rationale">
+ <generalization xmi:id="_Ga09wJqpEeGhQ8mhoNM_3Q">
+ <general xmi:type="uml:Stereotype" href="pathmap://SysML_PROFILES/SysML.profile.uml#_mwAc8LU9Edu2ieF4ON8UjA"/>
+ </generalization>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_SAbRcJq1EeGgUfgGS4KevA" name="EAPackage">
+ <generalization xmi:id="_gx4TkJq1EeGgUfgGS4KevA" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_YM2XcJq1EeGgUfgGS4KevA" name="subPackages" type="_SAbRcJq1EeGgUfgGS4KevA" aggregation="composite" association="_YM3lkJq1EeGgUfgGS4KevA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_YM2Xcpq1EeGgUfgGS4KevA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_YM2XcZq1EeGgUfgGS4KevA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_shKlMJq1EeGgUfgGS4KevA" name="element" type="_1raB0JqiEeGhQ8mhoNM_3Q" aggregation="composite" association="_shLMQJq1EeGgUfgGS4KevA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_shKlMpq1EeGgUfgGS4KevA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_shKlMZq1EeGgUfgGS4KevA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_4ixV4Jq1EeGgUfgGS4KevA" name="base_Package" association="_4ixV4Zq1EeGgUfgGS4KevA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_YM3lkJq1EeGgUfgGS4KevA" name="eAPackage_eAPackage_1" memberEnd="_YM3lkZq1EeGgUfgGS4KevA _YM2XcJq1EeGgUfgGS4KevA">
+ <ownedEnd xmi:id="_YM3lkZq1EeGgUfgGS4KevA" name="eAPackage" type="_SAbRcJq1EeGgUfgGS4KevA" association="_YM3lkJq1EeGgUfgGS4KevA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_YM3lk5q1EeGgUfgGS4KevA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_YM3lkpq1EeGgUfgGS4KevA" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_shLMQJq1EeGgUfgGS4KevA" name="eAPackage_eAPackageableElement_1" memberEnd="_shLMQZq1EeGgUfgGS4KevA _shKlMJq1EeGgUfgGS4KevA">
+ <ownedEnd xmi:id="_shLMQZq1EeGgUfgGS4KevA" name="eAPackage" type="_SAbRcJq1EeGgUfgGS4KevA" association="_shLMQJq1EeGgUfgGS4KevA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_shLMQ5q1EeGgUfgGS4KevA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_shLMQpq1EeGgUfgGS4KevA" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_4ixV4Zq1EeGgUfgGS4KevA" name="E_EAPackage_Package1" memberEnd="_4ix88Jq1EeGgUfgGS4KevA _4ixV4Jq1EeGgUfgGS4KevA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_4ix88Jq1EeGgUfgGS4KevA" name="extension_EAPackage" type="_SAbRcJq1EeGgUfgGS4KevA" aggregation="composite" association="_4ixV4Zq1EeGgUfgGS4KevA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_V0xXMLbMEeGRzMmi3_uxgw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_V0-ykLbMEeGRzMmi3_uxgw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_JjPZUKWjEeGVVPgQD6jlgA" name="Comment">
+ <ownedAttribute xmi:id="_MEa8oKWjEeGVVPgQD6jlgA" name="body" visibility="public">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_TySnQKWjEeGVVPgQD6jlgA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_TybKIKWjEeGVVPgQD6jlgA" value="1"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_TyxvcKWjEeGVVPgQD6jlgA">
+ <value xsi:nil="true"/>
+ </defaultValue>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_dGv1MKWjEeGVVPgQD6jlgA" name="base_Comment" association="_dGwcQKWjEeGVVPgQD6jlgA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_dGwcQKWjEeGVVPgQD6jlgA" name="E_Comment_Comment1" memberEnd="_dGwcQaWjEeGVVPgQD6jlgA _dGv1MKWjEeGVVPgQD6jlgA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_dGwcQaWjEeGVVPgQD6jlgA" name="extension_Comment" type="_JjPZUKWjEeGVVPgQD6jlgA" aggregation="composite" association="_dGwcQKWjEeGVVPgQD6jlgA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_21KZgLbNEeGRzMmi3_uxgw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_21RuQLbNEeGRzMmi3_uxgw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="__PwkULYqEeGyVPNcbdBunw" name="E_EAElement_NamedElement1" memberEnd="__PwkUbYqEeGyVPNcbdBunw __Pv9QLYqEeGyVPNcbdBunw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="__PwkUbYqEeGyVPNcbdBunw" name="extension_EAElement" type="_i-WNqzxIEdyqfK4bFJstMQ" aggregation="composite" association="__PwkULYqEeGyVPNcbdBunw"/>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="_2M5XsNu0EdyN-KVwISucrA" name="UserAttributes" metaclassReference="_6EOJkN5cEdyYTuvJlD3q4A _kONQUEu-Ed-xzKBfQHZrnw _tWFiILYsEeGyVPNcbdBunw">
+ <ownedComment xmi:id="_k_C10KAbEd20Qu_niqpmJw" annotatedElement="_2M5XsNu0EdyN-KVwISucrA">
+ <body>User attributes in EAST-ADL2 are primarily intended to provide a mechanism for augmenting the elements of an EAST-ADL2 model with customized meta-information. All instances of metaclass ADLEntity can have user attributes attached to them. The scope and structuring of this meta-information can be defined on a per-project basis by defining user attributes for certain types of EAST-ADL2 elements within UATemplates.&#xD;
+Since EAST-ADL2 requirements are in their most general form simple objects with all information contained in user-customized, project-specific attributes, the concept of user attributes is also perfectly suitable to define those attributes of requirements. In that sense, basic requirements in EAST-ADL2 can be seen as &quot;empty&quot; elements which only provide a node to which user attributes can be attached in order to supply the requirement with all necessary information, including its main textual description. However, in case of requirements the context in which the available user attributes are defined is different: here the container of the requirements is the point where user attribute definitions are store and these are then applicable only within this container.&#xD;
+The role of user attributes within the overall EAST-ADL2 is thus twofold: they (1) provide a means to customize the language to specific company and project needs and (2) constitute an important part of the requirements support of the language.&#xD;
+The mechanism of user attributes was optimized for flexibility and simplicity. In particular, the actual attributes attached to an element and/or their values may well conflict the attribute definitions in effect for this element. For example, it is perfectly legal to not provide an attribute value if an attribute definition was specified or, the other way round, to provide a value for an undefined attribute. The attribute definitions are merely meant as a guideline for the engineer and as a basis for optionally checking if all attribute values are correct with respect to attribute definitions (by way of appropriate tool support). With this conception of attribute values and definitions, many intricacies and difficult situations during the creation and evolution of a model are circumvented and complex interdependencies between parts of the model are avoided. For example, it is made sure that a model and all its user attribute values can be safely viewed and edited even if the attribute definitions (i.e. UATemplates) for the model are temporarily unavailable or permanently lost.&#xD;
+&#xD;
+Overview:&#xD;
+The stereotypes defined in this subprofile provide a set of constructs to help user define their own attributes. The core construct in EAST-ADL2, the ADLEntity, inherits from UserAttributableElement stereotype so that virtually any types of EAST-ADL2 entities might be enhanced with user-defined attributes. Of course in a UML model one is allowed to add attributes to the classes and UML elements on which stereotypes are applied, yet this mechanism enables to distinguish between attributes meant to be interpreted as compliant with EASt-ADL2 language and other if any.</body>
+ </ownedComment>
+ <elementImport xmi:id="_6EOJkN5cEdyYTuvJlD3q4A" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <elementImport xmi:id="_kONQUEu-Ed-xzKBfQHZrnw" alias="Property">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </elementImport>
+ <elementImport xmi:id="_tWFiILYsEeGyVPNcbdBunw" alias="NamedElement">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ </elementImport>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_UdoyUNu1EdyN-KVwISucrA" name="UserAttributeElementType">
+ <ownedComment xmi:id="_7nyzwJU4Ed2pV7v-CAwgKg" annotatedElement="_UdoyUNu1EdyN-KVwISucrA">
+ <body>UserAttributeElementType represents a certain, user-defined type of user attributeable elements. With such a type, one or more user attributes can be defined for all user attributeable elements of that type.
+
+For example, engineers at Volkswagen could create a UserAttributeElementType called &quot;VWFunction&quot; with a single user attribute definition. That way, all FunctionTypes for which &quot;VWFunction&quot; is defined as the UserAttributeElementType via association uaType will have the corresponding user attribute.
+
+User attribute element types can be compared to stereotypes in UML2, but are less rigidly defined.
+
+Extension:
+Class</body>
+ </ownedComment>
+ <generalization xmi:id="_V62NoNd5Ed6hwb99h1VVPA" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_H0bxIN5dEdyYTuvJlD3q4A" name="extendedElementType" type="_UdoyUNu1EdyN-KVwISucrA" isUnique="false" association="_H0I2MN5dEdyYTuvJlD3q4A">
+ <ownedComment xmi:id="_EbdBwJU5Ed2pV7v-CAwgKg" annotatedElement="_H0bxIN5dEdyYTuvJlD3q4A">
+ <body>The UAElementTypes this type is inheriting from.
+
+When UAElementType ET2 inherits from type ET1, then this means that all attributes defined for ET1 by way of UserAttributeDefinitions are available whenever ET2 is specified as the type of a user attributeable element (in addition to those directly defined in ET2). This includes UserAttributeDefinitions which ET1 itself may inherit from other types.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_H0usEN5dEdyYTuvJlD3q4A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_H0usEd5dEdyYTuvJlD3q4A" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_hcAoQN5dEdyYTuvJlD3q4A" name="attribute" type="_UmXLgN5dEdyYTuvJlD3q4A" association="_hbj8UN5dEdyYTuvJlD3q4A">
+ <ownedComment xmi:id="_KpQAwJU5Ed2pV7v-CAwgKg" annotatedElement="_hcAoQN5dEdyYTuvJlD3q4A">
+ <body>The attributes defined for this type.
+
+Note that also inherited attribute definitions need to be taken into account.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hcdUMN5dEdyYTuvJlD3q4A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hcdUMd5dEdyYTuvJlD3q4A" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_peZKUN5dEdyYTuvJlD3q4A" name="base_Class" isUnique="false" association="_pdzUcN5dEdyYTuvJlD3q4A">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_dCap8Eu8Ed-xzKBfQHZrnw" name="validFor" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g3vVsEu8Ed-xzKBfQHZrnw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g3znIEu8Ed-xzKBfQHZrnw" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_H0I2MN5dEdyYTuvJlD3q4A" name="Association_UAElementType_UAElementType" memberEnd="_H0bxIN5dEdyYTuvJlD3q4A _H0usEt5dEdyYTuvJlD3q4A">
+ <ownedEnd xmi:id="_H0usEt5dEdyYTuvJlD3q4A" name="uAElementType" type="_UdoyUNu1EdyN-KVwISucrA" isUnique="false" association="_H0I2MN5dEdyYTuvJlD3q4A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_H1VJAN5dEdyYTuvJlD3q4A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_H1LYAN5dEdyYTuvJlD3q4A" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_UmXLgN5dEdyYTuvJlD3q4A" name="UserAttributeDefinition">
+ <ownedComment xmi:id="_xgDSQJU5Ed2pV7v-CAwgKg" annotatedElement="_UmXLgN5dEdyYTuvJlD3q4A">
+ <body>UserAttributeDefinition represents a user attribute, i.e. it states that all UserAttributeableElements of a certain UserAttributeElementType are to be attached with an attribute identified by 'key'. For example, it can be specified that certain elements should be amended with an attribute &quot;Status&quot;.
+
+Extension:
+Class, Property</body>
+ </ownedComment>
+ <generalization xmi:id="_oa0wcE3cEd-eluvub9wzww" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_NxjIcN5gEdyj0czXtxdBLQ" name="base_Class" isUnique="false" association="_NonO4N5gEdyj0czXtxdBLQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_40U_AG1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_40bssG1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_osrRoEu8Ed-xzKBfQHZrnw" name="defaultValue" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_tCk64Eu8Ed-xzKBfQHZrnw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_tCpMUEu8Ed-xzKBfQHZrnw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_-qNqgEu9Ed-xzKBfQHZrnw" name="type" visibility="public" type="_i-WNODxIEdyqfK4bFJstMQ" isUnique="false" association="_-o2_oEu9Ed-xzKBfQHZrnw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-qmFAEu9Ed-xzKBfQHZrnw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-qn6MEu9Ed-xzKBfQHZrnw" value="1"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_z1u0MLYuEeGyVPNcbdBunw">
+ <value xsi:nil="true"/>
+ </defaultValue>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_m2Ji8Eu-Ed-xzKBfQHZrnw" name="base_Property" isUnique="false" association="_m0hLQEu-Ed-xzKBfQHZrnw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4Kc7kG1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4KibIG1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_hbj8UN5dEdyYTuvJlD3q4A" name="Association_UAElementType_UserAttributeDefinition" memberEnd="_hcAoQN5dEdyYTuvJlD3q4A _hcmeIN5dEdyYTuvJlD3q4A">
+ <ownedEnd xmi:id="_hcmeIN5dEdyYTuvJlD3q4A" name="uAElementType" type="_UdoyUNu1EdyN-KVwISucrA" isUnique="false" association="_hbj8UN5dEdyYTuvJlD3q4A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hc6AId5dEdyYTuvJlD3q4A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hc6AIN5dEdyYTuvJlD3q4A" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_pdzUcN5dEdyYTuvJlD3q4A" name="Extension_UAElementType" memberEnd="_peGPYN5dEdyYTuvJlD3q4A _peZKUN5dEdyYTuvJlD3q4A">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_peGPYN5dEdyYTuvJlD3q4A" name="extension_UAElementType" type="_UdoyUNu1EdyN-KVwISucrA" aggregation="composite" association="_pdzUcN5dEdyYTuvJlD3q4A"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_asWc4N5eEdyYTuvJlD3q4A" name="UserAttributeableElement">
+ <ownedComment xmi:id="_jFbbwJU5Ed2pV7v-CAwgKg" annotatedElement="_asWc4N5eEdyYTuvJlD3q4A">
+ <body>UserAttributableElement represents an element to which user attributes can be attached. This is done by way of UserAttributeValues (see association 'uaValues'). What user attributes a certain element should be supplied with can be defined beforehand with UserAttributeDefinitions which are organized in UserAttributeElementTypes (see association 'uaTypes').
+
+IMPORTANT: It is technically possible and legal to attach any key/value pair, even if this is in conflict with the attribute definitions of the UserAttributeElementTypes of this UserAttributeableElement (as defined by association 'uaTypes'). All implementations of this information model must expect such attribute definition violations. The reason for this is that (1) the attribute definitions and the types they define for the attributes are only meant as a guideline for working with user attributes on the modeling level, not as an implementation level type system and (2) this convention avoids a multitude of intricate problems when editing a model's user attribute definitions or values, which significantly simplifies implementation.
+
+
+Extension:
+NamedElement</body>
+ </ownedComment>
+ <ownedAttribute xmi:id="_m72foN5eEdyYTuvJlD3q4A" name="uaValue" type="_tW0_AN5eEdyYTuvJlD3q4A" association="_my6mEN5eEdyYTuvJlD3q4A">
+ <ownedComment xmi:id="_lz1iwJU5Ed2pV7v-CAwgKg" annotatedElement="_m72foN5eEdyYTuvJlD3q4A">
+ <body>The user attribute values, i.e. key-value pairs, which are attached to this element.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_m8KBoN5eEdyYTuvJlD3q4A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_m8KBod5eEdyYTuvJlD3q4A" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Ov9G4N5fEdyj0czXtxdBLQ" name="uaType" type="_UdoyUNu1EdyN-KVwISucrA" isUnique="false" association="_OnUIQN5fEdyj0czXtxdBLQ">
+ <ownedComment xmi:id="_oXfLQJU5Ed2pV7v-CAwgKg" annotatedElement="_Ov9G4N5fEdyj0czXtxdBLQ">
+ <body>The UAElementTypes of this user attirbuteable element.
+
+It is possible to provide more than one type. In that case, the UserAttributeDefinitions of all UAElementTypes apply. If there are several attribute definitions with an identical 'key', then the corresponding user attribute will be applied only once.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_OwZy0N5fEdyj0czXtxdBLQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_OwZy0d5fEdyj0czXtxdBLQ" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_u763gLYsEeGyVPNcbdBunw" name="attributedElement" association="_u77ekLYsEeGyVPNcbdBunw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_u763grYsEeGyVPNcbdBunw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_u763gbYsEeGyVPNcbdBunw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_PHXEQLYtEeGyVPNcbdBunw" name="base_NamedElement" association="_PHXEQbYtEeGyVPNcbdBunw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_my6mEN5eEdyYTuvJlD3q4A" name="A_UserAttributeableElement_UserAttributeValue" memberEnd="_m72foN5eEdyYTuvJlD3q4A _m8KBot5eEdyYTuvJlD3q4A">
+ <ownedEnd xmi:id="_m8KBot5eEdyYTuvJlD3q4A" name="userAttributeableElement" type="_asWc4N5eEdyYTuvJlD3q4A" isUnique="false" association="_my6mEN5eEdyYTuvJlD3q4A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_m8v3gN5eEdyYTuvJlD3q4A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_m8mtkN5eEdyYTuvJlD3q4A" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_tW0_AN5eEdyYTuvJlD3q4A" name="UserAttributeValue">
+ <ownedComment xmi:id="_-NHawJU5Ed2pV7v-CAwgKg" annotatedElement="_tW0_AN5eEdyYTuvJlD3q4A">
+ <body>UserAttributeValue represents a specific value for a certain user attribute. User attributes are simple key/value pairs which can be attached to all UserAttributeableElements. Each user attribute is identified by a globally unique key.
+
+In principle, there is no restriction which user attributes, i.e. keys, may be attached to a particular element and what strings may be used as value (cf. class UserAttributeableElement). However, user attribute definitions can be used to define a set of legal values for a particular key (see class UserAttributeDefinition) and user attribute element types can be used to state what attributes, i.e. keys, may or should be attached to elements of certain types (cf. class UserAttributeElementType).
+
+The actual value is captured in attribute 'value' and is always represented as a string.
+
+Extension:
+Class, Property</body>
+ </ownedComment>
+ <generalization xmi:id="_YVz0MNd5Ed6hwb99h1VVPA" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_0kra4N5gEdyj0czXtxdBLQ" name="base_Class" isUnique="false" association="_0b4rQN5gEdyj0czXtxdBLQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_6nY4EG1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_6nflwG1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_HsAGAEu8Ed-xzKBfQHZrnw" name="value" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_mXXVMEu-Ed-xzKBfQHZrnw" name="base_Property" isUnique="false" association="_mVzO8Eu-Ed-xzKBfQHZrnw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_7Ul8UG1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_7UsC8G1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Ti3psJq3EeGgUfgGS4KevA" name="definition" type="_UmXLgN5dEdyYTuvJlD3q4A" association="_Ti4QwJq3EeGgUfgGS4KevA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Ti3pspq3EeGgUfgGS4KevA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Ti3psZq3EeGgUfgGS4KevA" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_OnUIQN5fEdyj0czXtxdBLQ" name="Association_UserAttributeableElement_UAElementType" memberEnd="_Ov9G4N5fEdyj0czXtxdBLQ _OwZy0t5fEdyj0czXtxdBLQ">
+ <ownedEnd xmi:id="_OwZy0t5fEdyj0czXtxdBLQ" name="userAttributeableElement" type="_asWc4N5eEdyYTuvJlD3q4A" isUnique="false" association="_OnUIQN5fEdyj0czXtxdBLQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Ow_osN5fEdyj0czXtxdBLQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Ow2ewN5fEdyj0czXtxdBLQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_NonO4N5gEdyj0czXtxdBLQ" name="Extension_UserAttributeDefinition" memberEnd="_NxZXcN5gEdyj0czXtxdBLQ _NxjIcN5gEdyj0czXtxdBLQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_NxZXcN5gEdyj0czXtxdBLQ" name="extension_UserAttributeDefinition" type="_UmXLgN5dEdyYTuvJlD3q4A" aggregation="composite" association="_NonO4N5gEdyj0czXtxdBLQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_0b4rQN5gEdyj0czXtxdBLQ" name="Extension_UserAttributeValue" memberEnd="_0kYf8N5gEdyj0czXtxdBLQ _0kra4N5gEdyj0czXtxdBLQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_0kYf8N5gEdyj0czXtxdBLQ" name="extension_UserAttributeValue" type="_tW0_AN5eEdyYTuvJlD3q4A" aggregation="composite" association="_0b4rQN5gEdyj0czXtxdBLQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_-o2_oEu9Ed-xzKBfQHZrnw" name="A_UserAttributeDefinition_EADatatype" memberEnd="_-qNqgEu9Ed-xzKBfQHZrnw _-qpvYEu9Ed-xzKBfQHZrnw">
+ <ownedEnd xmi:id="_-qpvYEu9Ed-xzKBfQHZrnw" name="userAttributeDefinition" type="_UmXLgN5dEdyYTuvJlD3q4A" isUnique="false" association="_-o2_oEu9Ed-xzKBfQHZrnw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-rQMUEu9Ed-xzKBfQHZrnw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-rOXIEu9Ed-xzKBfQHZrnw" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_mVzO8Eu-Ed-xzKBfQHZrnw" name="Extension_UserAttributeValue" memberEnd="_mXJ50Eu-Ed-xzKBfQHZrnw _mXXVMEu-Ed-xzKBfQHZrnw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_mXJ50Eu-Ed-xzKBfQHZrnw" name="extension_UserAttributeValue" type="_tW0_AN5eEdyYTuvJlD3q4A" aggregation="composite" association="_mVzO8Eu-Ed-xzKBfQHZrnw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_m0hLQEu-Ed-xzKBfQHZrnw" name="Extension_UserAttributeDefinition" memberEnd="_m18HkEu-Ed-xzKBfQHZrnw _m2Ji8Eu-Ed-xzKBfQHZrnw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_m18HkEu-Ed-xzKBfQHZrnw" name="extension_UserAttributeDefinition" type="_UmXLgN5dEdyYTuvJlD3q4A" aggregation="composite" association="_m0hLQEu-Ed-xzKBfQHZrnw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_Ti4QwJq3EeGgUfgGS4KevA" name="userAttributeValue_userAttributeDefinition_1" memberEnd="_Ti4QwZq3EeGgUfgGS4KevA _Ti3psJq3EeGgUfgGS4KevA">
+ <ownedEnd xmi:id="_Ti4QwZq3EeGgUfgGS4KevA" name="userAttributeValue" type="_tW0_AN5eEdyYTuvJlD3q4A" association="_Ti4QwJq3EeGgUfgGS4KevA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Ti4Qw5q3EeGgUfgGS4KevA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Ti4Qwpq3EeGgUfgGS4KevA" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_u77ekLYsEeGyVPNcbdBunw" name="userAttributeableElement_namedElement_1" memberEnd="_u77ekbYsEeGyVPNcbdBunw _u763gLYsEeGyVPNcbdBunw">
+ <ownedEnd xmi:id="_u77ekbYsEeGyVPNcbdBunw" name="userAttributeableElement" type="_asWc4N5eEdyYTuvJlD3q4A" association="_u77ekLYsEeGyVPNcbdBunw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_u77ek7YsEeGyVPNcbdBunw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_u77ekrYsEeGyVPNcbdBunw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_PHXEQbYtEeGyVPNcbdBunw" name="E_UserAttributeableElement_NamedElement1" memberEnd="_PHXEQrYtEeGyVPNcbdBunw _PHXEQLYtEeGyVPNcbdBunw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_PHXEQrYtEeGyVPNcbdBunw" name="extension_UserAttributeableElement" type="_asWc4N5eEdyYTuvJlD3q4A" aggregation="composite" association="_PHXEQbYtEeGyVPNcbdBunw"/>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_oR938EuCEd-vwdthn26NVw" name="Dummy"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_e3StMIYsEd23fOTtz-gtRA" name="Dummy">
+ <ownedComment xmi:id="_sOILcIYsEd23fOTtz-gtRA" annotatedElement="_e3StMIYsEd23fOTtz-gtRA">
+ <body>Dummy DataType, just added for code generation purpose.&#xD;
+In other words, this data type for EMF generation of SysmlPackage and SysmlFactory&#xD;
+java classes in the model code.&#xD;
+&#xD;
+Do not remove this !!!</body>
+ </ownedComment>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="_N7DvcNjgEd6wXIBypQTswA" name="Timing" metaclassReference="_-cALANjgEd6wXIBypQTswA _NUgswExjEd-SDeUiu9LLYg">
+ <elementImport xmi:id="_-cALANjgEd6wXIBypQTswA" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <elementImport xmi:id="_NUgswExjEd-SDeUiu9LLYg" alias="Constraint">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Constraint"/>
+ </elementImport>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_ixImcNjgEd6wXIBypQTswA" name="TimingDescription" isAbstract="true">
+ <ownedComment xmi:id="_lAVB4NjgEd6wXIBypQTswA" annotatedElement="_ixImcNjgEd6wXIBypQTswA">
+ <ownedComment xmi:id="_kzNdMNkzEd6wz4at7tk0-A" annotatedElement="_lAVB4NjgEd6wXIBypQTswA">
+ <body>An abstract metaclass describing the timing events and their relations within the model.</body>
+ </ownedComment>
+ <body>An abstract metaclass describing the timing events and their relations within the model.</body>
+ </ownedComment>
+ <generalization xmi:id="_ty4ugExhEd-SDeUiu9LLYg" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_GAMWYNj7Ed6rlulM-6rbhg" name="base_Class" isUnique="false" association="_F-NZYNj7Ed6rlulM-6rbhg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_faY3oNjhEd6wXIBypQTswA" name="TimingConstraint" isAbstract="true">
+ <ownedComment xmi:id="_g6y6cNjhEd6wXIBypQTswA" annotatedElement="_faY3oNjhEd6wXIBypQTswA">
+ <body>TimingConstraint is an abstract entity that identifies a mode.
+
+Constraints:
+[1] upper shall be greater or equal to lower.
+
+
+Semantics:
+The TimingConstraint does not describe what is classically referred to as a design constraint but has the role of a property, requirement, or a validation result. It is a requirement if this TimingConstraint refines a Requirement (by the Refine relationship). The TimingConstraint is a validation result if it realizes a VVActualOutcome, it is an intended validation result if it realizes a VVIntendedOutcome, and in other cases it denotes a property.</body>
+ </ownedComment>
+ <generalization xmi:id="_yvJNIExhEd-SDeUiu9LLYg" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_izp5gNjhEd6wXIBypQTswA" name="mode" type="_1nGm4NjgEd6wXIBypQTswA" isUnique="false">
+ <ownedComment xmi:id="_oxSVkNjhEd6wXIBypQTswA" annotatedElement="_izp5gNjhEd6wXIBypQTswA">
+ <body>The mode where the TimingConstraint is valid.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_l_3W0NjhEd6wXIBypQTswA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_l_82YNjhEd6wXIBypQTswA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_DonrsExiEd-SDeUiu9LLYg" name="upper" type="_CIFeYNjlEd6wXIBypQTswA" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Hwv-sExiEd-SDeUiu9LLYg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Hw1eQExiEd-SDeUiu9LLYg" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_H-jKIExiEd-SDeUiu9LLYg" name="lower" type="_CIFeYNjlEd6wXIBypQTswA" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KtgqwExiEd-SDeUiu9LLYg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KtnYcExiEd-SDeUiu9LLYg" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_8_xNwEx0Ed-mYJlpYtFhoA" name="base_Class" isUnique="false" association="_89TIkEx0Ed-mYJlpYtFhoA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9c9-EG1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_9dErwG1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_9k7wUEx0Ed-mYJlpYtFhoA" name="base_Constraint" isUnique="false" association="_9iVvUEx0Ed-mYJlpYtFhoA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Constraint"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-CWjEG1YEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-CdQwG1YEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_tVqfsNjhEd6wXIBypQTswA" name="Timing">
+ <ownedComment xmi:id="_ug1SUNjhEd6wXIBypQTswA" annotatedElement="_tVqfsNjhEd6wXIBypQTswA">
+ <body>The collection of timing constraints and their descriptions in the form of events and event chains. This collection can be done across the EAST-ADL2 abstraction levels.</body>
+ </ownedComment>
+ <generalization xmi:id="_jgA7EExiEd-SDeUiu9LLYg" general="_i-WNsjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_zFAoINjhEd6wXIBypQTswA" name="timingConstraint" type="_faY3oNjhEd6wXIBypQTswA" association="_zES2cNjhEd6wXIBypQTswA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_zFgXYNjhEd6wXIBypQTswA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_zFkBwNjhEd6wXIBypQTswA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_zezBINjhEd6wXIBypQTswA" name="timingDescription" type="_ixImcNjgEd6wXIBypQTswA" association="_zbWEgNjhEd6wXIBypQTswA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_zfVzsNjhEd6wXIBypQTswA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_zfaFINjhEd6wXIBypQTswA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_E8CxwNj7Ed6rlulM-6rbhg" name="base_Class" isUnique="false" association="_E6M-sNj7Ed6rlulM-6rbhg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PzrJsG9IEd-Nl92aXXxcsg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_PzwpQG9IEd-Nl92aXXxcsg" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_OaNcYG9IEd-Nl92aXXxcsg" name="base_Package" isUnique="false" association="_ORtnsG9IEd-Nl92aXXxcsg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_QWMn8G9IEd-Nl92aXXxcsg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_QWRgcG9IEd-Nl92aXXxcsg" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_zES2cNjhEd6wXIBypQTswA" name="A_Timing_TimingConstraint" memberEnd="_zFAoINjhEd6wXIBypQTswA _zFnsINjhEd6wXIBypQTswA">
+ <ownedEnd xmi:id="_zFnsINjhEd6wXIBypQTswA" name="timing" type="_tVqfsNjhEd6wXIBypQTswA" isUnique="false" association="_zES2cNjhEd6wXIBypQTswA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_zGSagNjhEd6wXIBypQTswA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_zGOwINjhEd6wXIBypQTswA" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_zbWEgNjhEd6wXIBypQTswA" name="A_Timing_TimingDescription" memberEnd="_zezBINjhEd6wXIBypQTswA _zfdvgNjhEd6wXIBypQTswA">
+ <ownedEnd xmi:id="_zfdvgNjhEd6wXIBypQTswA" name="timing" type="_tVqfsNjhEd6wXIBypQTswA" isUnique="false" association="_zbWEgNjhEd6wXIBypQTswA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_zgId4NjhEd6wXIBypQTswA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_zgEzgNjhEd6wXIBypQTswA" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_6ye34NjmEd6wXIBypQTswA" name="EventChain">
+ <ownedComment xmi:id="_9o65gNjmEd6wXIBypQTswA" annotatedElement="_6ye34NjmEd6wXIBypQTswA">
+ <body>The purpose of event chains is to describe the temporal behavior of a number of steps to be taken to respond to one or more events accordingly. [An event chain is also used to express that a temporal requirement/constraint is imposed on a number of steps to respond to one or more events accordingly (-> requirement).] Such events could be observed in a given system and are categorized into stimuli and responses.
+
+Event chains can refer to other event chains which are then called event chain segments or strands. Segments are sequential event chains refining an EventChain, while strands define parallel event chains that refine an EventChain. An EventChain can be both a segment and a strand at the same time. An event chain respectively event chain segment can be atomic which means it is not refined to other event chains.
+
+Constraints:
+[1] The cardinality of strand shall be either 0 or greater than 1. Rationale: Only values > 1 express true parallelism.
+
+Semantics:
+An EventChain references two groups of events: stimulus and response. The semantics is that each event in the stimulus group somehow causes, or at least affects the value of all events in the response group. However, since questions about causality and value influence clearly involve the semantics of the underlying structural model, this aspect of an EventChain is semantically outside its scope. Instead, delay constraint semantics are defined solely in terms of the times at which the stimulus and response events occur, independently of whether there actually exists a causal connection between these events in the structural model.</body>
+ </ownedComment>
+ <generalization xmi:id="_BHwX4NjnEd6wXIBypQTswA" general="_ixImcNjgEd6wXIBypQTswA"/>
+ <ownedAttribute xmi:id="_Fz-PYNjnEd6wXIBypQTswA" name="segment" type="_6ye34NjmEd6wXIBypQTswA" isOrdered="true" isUnique="false" association="_Fy-w4NjnEd6wXIBypQTswA">
+ <ownedComment xmi:id="_IqJyUNjnEd6wXIBypQTswA" annotatedElement="_Fz-PYNjnEd6wXIBypQTswA">
+ <body>Referred EventChains that are not parallel and in sequence refines this EventChain.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_F0jeMNjnEd6wXIBypQTswA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_F0nvoNjnEd6wXIBypQTswA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_L6F5ENjnEd6wXIBypQTswA" name="strand" type="_6ye34NjmEd6wXIBypQTswA" isUnique="false" association="_L5CJINjnEd6wXIBypQTswA">
+ <ownedComment xmi:id="_NapF0NjnEd6wXIBypQTswA" annotatedElement="_L6F5ENjnEd6wXIBypQTswA">
+ <body>Parallel EventChains refining this EventChain.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L6ru8NjnEd6wXIBypQTswA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L6vZUNjnEd6wXIBypQTswA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_pf3EENjnEd6wXIBypQTswA" name="response" type="_RaMroNjnEd6wXIBypQTswA" isUnique="false" association="_per_YNjnEd6wXIBypQTswA">
+ <ownedComment xmi:id="_s9nkYNjnEd6wXIBypQTswA" annotatedElement="_pf3EENjnEd6wXIBypQTswA">
+ <body>The Response element is the entity to describe an event that is a response to a stimulus that occurred before.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pggkUNjnEd6wXIBypQTswA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pgkOsNjnEd6wXIBypQTswA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_vczjoNjnEd6wXIBypQTswA" name="stimulus" type="_RaMroNjnEd6wXIBypQTswA" isUnique="false" association="_vbf8ENjnEd6wXIBypQTswA">
+ <ownedComment xmi:id="_yb_RkNjnEd6wXIBypQTswA" annotatedElement="_vczjoNjnEd6wXIBypQTswA">
+ <body>The Stimulus element is the entity to describe an event that stimulates the steps to be taken to respond to this event.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vdguQNjnEd6wXIBypQTswA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_vdkYoNjnEd6wXIBypQTswA" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_Fy-w4NjnEd6wXIBypQTswA" name="A_EventChain_EventChain" memberEnd="_Fz-PYNjnEd6wXIBypQTswA _F0raANjnEd6wXIBypQTswA">
+ <ownedEnd xmi:id="_F0raANjnEd6wXIBypQTswA" name="eventChain" type="_6ye34NjmEd6wXIBypQTswA" isUnique="false" association="_Fy-w4NjnEd6wXIBypQTswA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_F1X9kNjnEd6wXIBypQTswA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_F1TsINjnEd6wXIBypQTswA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_L5CJINjnEd6wXIBypQTswA" name="A_EventChain_EventChain" memberEnd="_L6F5ENjnEd6wXIBypQTswA _L6zDsNjnEd6wXIBypQTswA">
+ <ownedEnd xmi:id="_L6zDsNjnEd6wXIBypQTswA" name="eventChain" type="_6ye34NjmEd6wXIBypQTswA" isUnique="false" association="_L5CJINjnEd6wXIBypQTswA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L7j4sNjnEd6wXIBypQTswA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L7gOUNjnEd6wXIBypQTswA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_RaMroNjnEd6wXIBypQTswA" name="Event" isAbstract="true">
+ <ownedComment xmi:id="_TYOekNjnEd6wXIBypQTswA" annotatedElement="_RaMroNjnEd6wXIBypQTswA">
+ <body>An Event (E) is supposed to denote a distinct form of state change in a running system, taking place at distinct points in time called occurrences of the event. An event may also report a [current] state. In that case, the event occurs periodically. For example, the &quot;driver door has been opened&quot; is an event indicating a state change; whereas the &quot;driver door is open&quot; is an event reporting a state.
+
+A running system can be observed by identifying certain forms of state changes to watch for, and for each such observation point, noting the times when changes occur. This notion of observation also applies to a hypothetical predicted run of a system or a system model from a timing perspective, the only information that needs to be in the output of such a prediction is a sequence of times for each observation point, indicating the times that each event is predicted to occur.
+
+The occurrence of an event either stimulates an execution, or is caused by an execution [as a response to another event that occurred before]. In the first case the event is called Stimulus (S) and in the latter case it is called Response (R). Stimuli always precede responses; and responses in turn always succeed stimuli.
+
+An event occurs instantaneously, which means that an event occurs at a time instant without any duration. In addition, an event can appear any number of times and the subsequent occurrences may follow a specific pattern, like periodic, sporadic, or in sudden bursts. Each of these occurrences has a unique time instant.
+
+The distinction between an event and its occurrence is usually obvious from the considered context (causal and temporal). The event is not defined by its occurrences, but rather by a description expressing its purpose.
+
+
+Constraints:
+[1] In the case that the event reports a [current] state (isStateChange is FALSE), the event must have a periodic event model [or a pattern model]. Rationale: The [current] state shall be reported consistently and periodically.</body>
+ </ownedComment>
+ <generalization xmi:id="_iupO8NjnEd6wXIBypQTswA" general="_ixImcNjgEd6wXIBypQTswA"/>
+ <ownedAttribute xmi:id="_VKSSENjnEd6wXIBypQTswA" name="isStateChanged" isUnique="false">
+ <ownedComment xmi:id="_ZsZyYNjnEd6wXIBypQTswA" annotatedElement="_VKSSENjnEd6wXIBypQTswA">
+ <body>This attribute indicates whether the event reports a state change or a [current] state. If the boolean value is TRUE, then the event reports a state change (no over-undersampling).
+If the boolean value is FALSE, then the event reports a [current] state.
+By default, the value of this attribute is TRUE.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_YnYEANjnEd6wXIBypQTswA" value="true"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_per_YNjnEd6wXIBypQTswA" name="A_EventChain_Event" memberEnd="_pf3EENjnEd6wXIBypQTswA _pgn5ENjnEd6wXIBypQTswA">
+ <ownedEnd xmi:id="_pgn5ENjnEd6wXIBypQTswA" name="eventChain" type="_6ye34NjmEd6wXIBypQTswA" isUnique="false" association="_per_YNjnEd6wXIBypQTswA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_phYHANjnEd6wXIBypQTswA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_phQyQNjnEd6wXIBypQTswA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_vbf8ENjnEd6wXIBypQTswA" name="A_EventChain_Event" memberEnd="_vczjoNjnEd6wXIBypQTswA _vdoDANjnEd6wXIBypQTswA">
+ <ownedEnd xmi:id="_vdoDANjnEd6wXIBypQTswA" name="eventChain" type="_6ye34NjmEd6wXIBypQTswA" isUnique="false" association="_vbf8ENjnEd6wXIBypQTswA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_veVNoNjnEd6wXIBypQTswA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_veRjQNjnEd6wXIBypQTswA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_E6M-sNj7Ed6rlulM-6rbhg" name="Extension_Timing" memberEnd="_E7kQoNj7Ed6rlulM-6rbhg _E8CxwNj7Ed6rlulM-6rbhg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_E7kQoNj7Ed6rlulM-6rbhg" name="extension_Timing" type="_tVqfsNjhEd6wXIBypQTswA" aggregation="composite" association="_E6M-sNj7Ed6rlulM-6rbhg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_F-NZYNj7Ed6rlulM-6rbhg" name="Extension_TimingDescription" memberEnd="_F_xfoNj7Ed6rlulM-6rbhg _GAMWYNj7Ed6rlulM-6rbhg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_F_xfoNj7Ed6rlulM-6rbhg" name="extension_TimingDescription" type="_ixImcNjgEd6wXIBypQTswA" aggregation="composite" association="_F-NZYNj7Ed6rlulM-6rbhg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="_a_kcsNjiEd6wXIBypQTswA" name="TimingConstraints">
+ <ownedComment xmi:id="_cZLpAExnEd-SDeUiu9LLYg" annotatedElement="_a_kcsNjiEd6wXIBypQTswA">
+ <body>This section describes the timing constraints.</body>
+ </ownedComment>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_z-sFUNjlEd6wXIBypQTswA" name="DelayConstraint" isAbstract="true">
+ <ownedComment xmi:id="_14EBwNjlEd6wXIBypQTswA" annotatedElement="_z-sFUNjlEd6wXIBypQTswA">
+ <body>DelayConstraints give bounds on system timing attributes, i.e. end-to-end delays, periods, etc.
+
+A DelayConstraint can specify one or several of an upper bound, a lower bound or a nominal value and jitter. The jitter is evenly distributed around the nominal (nominal - jitter/2 .. nominal + jitter/2). The bound will be measured in a given unit.
+
+Constraints:
+[1] At least Upper or Nominal must be specified. Rationale: At least one value is needed to work with.
+
+Semantics:
+Lower (from TimingConstraint) denotes the minimum value of the given bound.
+Upper (from TimingConstraint) denotes the maximum value of the given bound.
+Variation around the nominal value can be expressed by means of an upper and lower bound, or by means of a jitter value.
+For example, [lower=10, upper=20, nominal=15] is equal to [nominal=15, jitter=10].
+
+
+Extension:
+abstract, no extension</body>
+ </ownedComment>
+ <generalization xmi:id="_Ckt6kNjmEd6wXIBypQTswA" general="_faY3oNjhEd6wXIBypQTswA"/>
+ <ownedAttribute xmi:id="_LElC0NjmEd6wXIBypQTswA" name="jitter" type="_CIFeYNjlEd6wXIBypQTswA" isUnique="false">
+ <ownedComment xmi:id="_MOq3YNjmEd6wXIBypQTswA" annotatedElement="_LElC0NjmEd6wXIBypQTswA">
+ <body>Jitter is the range within which a value varies.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_W2tNENjmEd6wXIBypQTswA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_W22-ENjmEd6wXIBypQTswA" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_a6B4kNjmEd6wXIBypQTswA" name="nominal" type="_CIFeYNjlEd6wXIBypQTswA" isUnique="false">
+ <ownedComment xmi:id="_e2XyUNjmEd6wXIBypQTswA" annotatedElement="_a6B4kNjmEd6wXIBypQTswA">
+ <body>The recurring distance between each occurrence.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_eL0ZcNjmEd6wXIBypQTswA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_eL6gENjmEd6wXIBypQTswA" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_-QMcMExmEd-SDeUiu9LLYg" name="scope" type="_6ye34NjmEd6wXIBypQTswA" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ByqdYExnEd-SDeUiu9LLYg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Byuu0ExnEd-SDeUiu9LLYg" value="1"/>
+ </ownedAttribute>
+ <icon xmi:id="_wtOdIE4sEd-TX4ZBxI698w" content="71%73%70%56%57%97%16%0%16%0%-91%44%0%20%30%100%23%33%103%26%36%106%27%37%107%30%40%110%33%43%113%36%46%116%39%49%119%42%52%122%45%55%125%48%58%-128%51%61%-125%54%64%-122%57%67%-119%60%70%-116%-36%-16%-1%-35%-16%-1%-34%-16%-1%-35%-15%-1%-34%-15%-1%-31%-14%-1%-28%-13%-1%-27%-13%-1%-28%-12%-1%-27%-12%-1%-24%-12%-1%-25%-11%-1%-24%-11%-1%-22%-10%-1%-21%-10%-1%-21%-9%-1%-18%-9%-1%-18%-8%-1%-15%-7%-1%-14%-7%-1%-12%-6%-1%-12%-5%-1%-11%-5%-1%-9%-4%-1%-8%-4%-1%-5%-2%-1%-2%-2%-1%-2%-1%-1%-1%-1%-1%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%33%-2%51%69%65%83%84%45%65%68%76%32%112%114%111%106%101%99%116%10%65%117%116%104%111%114%32%58%32%109%105%99%107%97%101%108%46%99%111%110%100%101%64%115%105%101%109%101%110%115%46%99%111%109%0%33%-7%4%1%10%0%63%0%44%0%0%0%0%16%0%16%0%0%6%-125%-64%-97%112%72%44%22%29%-56%36%-46%40%108%-84%-98%80%70%-93%8%-88%-90%84%-86%21%-106%-63%-91%46%80%-88%106%-107%-53%88%12%-59%-89%-76%9%112%50%-103%78%10%33%-32%49%7%-112%70%35%113%105%-108%-8%-51%-23%15%116%33%33%0%34%34%-125%8%126%117%98%32%32%-116%31%7%126%-127%-109%0%28%30%0%29%-103%29%6%114%-128%0%25%26%26%98%27%26%5%103%85%22%23%-86%0%21%24%21%21%4%69%2%20%20%98%85%-76%3%69%1%19%-68%-68%18%17%19%16%1%84%-74%-59%0%76%-56%66%65%0%59%">
+ <eAnnotations xmi:id="_zcwlgE4sEd-TX4ZBxI698w" source="image_papyrus">
+ <details xmi:id="_zc6WgE4sEd-TX4ZBxI698w" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_uFjSQNjmEd6wXIBypQTswA" name="AgeTimingConstraint">
+ <ownedComment xmi:id="_xNALYNjmEd6wXIBypQTswA" annotatedElement="_uFjSQNjmEd6wXIBypQTswA">
+ <body>Different tolerances on over-/undersampling can be identified when the solution has been modeled.
+
+An age constraint is of interest in control engineering when looking back through the system.
+
+In case of over- or undersampling, there is no one-to-one relation possible between the occurrences of stimuli and responses of the associated event chain. Thus, the age constraint defines the semantic of which delay must be constrained.
+
+The attribute upper is applicable in worst-case analysis.
+
+The attribute lower is applicable in best-case analysis.</body>
+ </ownedComment>
+ <generalization xmi:id="_0Om7MNjmEd6wXIBypQTswA" general="_z-sFUNjlEd6wXIBypQTswA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_Cp8t8NjoEd6wXIBypQTswA" name="EventConstraint" isAbstract="true">
+ <ownedComment xmi:id="_I9XMwNjoEd6wXIBypQTswA" annotatedElement="_Cp8t8NjoEd6wXIBypQTswA">
+ <body>An EventConstraint describes the basic characteristics of the way an event occurs over time.</body>
+ </ownedComment>
+ <generalization xmi:id="_FyWpUNjoEd6wXIBypQTswA" general="_faY3oNjhEd6wXIBypQTswA"/>
+ <ownedAttribute xmi:id="_LQo28NjoEd6wXIBypQTswA" name="event" type="_RaMroNjnEd6wXIBypQTswA" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_OJq5kNjoEd6wXIBypQTswA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_OJwZINjoEd6wXIBypQTswA" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_PDD_sNjoEd6wXIBypQTswA" name="offset" type="_CIFeYNjlEd6wXIBypQTswA" isUnique="false">
+ <ownedComment xmi:id="_VfFA4NjoEd6wXIBypQTswA" annotatedElement="_PDD_sNjoEd6wXIBypQTswA">
+ <body>In addition an event model may specify an offset, which delays the start of the first period - the occurrence of the very first event - by the given amount of time.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VEyRkNjoEd6wXIBypQTswA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VE3xINjoEd6wXIBypQTswA" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_Ukkk8N4fEdyW6f_GAa5b1w" name="InputSynchronizationConstraint">
+ <ownedComment xmi:id="_VB3JYJX0Ed2iJ9_Y3as_2A" annotatedElement="_Ukkk8N4fEdyW6f_GAa5b1w">
+ <body>InputSynchronizationConstraint is a language entity that expresses a timing constraint on the input synchronization among the set of stimulus events.
+
+Semantics:
+The parameters of InputSynchronizationConstraint, see TimingConstraint, constrain the time from the first stimulus until last stimulus (i.e., maximum skew between these stimuli). A join point is identified by the response event in the scope EventChain.
+
+Constraints:
+[1] The set of FunctionFlowPorts referenced by the events should contain only FlowPorts with direction = in. The rationale for this is that the events shall relate to data on FunctionFlowPorts which is considered (or shall be) temporally consistent.
+
+[2] The scope EventChain shall contain exactly one response Event.
+
+[3] The semantics of this constraint requires that there is more than one stimulus Event in the scope EventChain (each refering to a different FlowPort with direction = in).
+
+Extension: Class</body>
+ </ownedComment>
+ <generalization xmi:id="_pKIu4NjrEd6rlulM-6rbhg" general="_uFjSQNjmEd6wXIBypQTswA"/>
+ <ownedAttribute xmi:id="_4Kx5ANjqEd6rlulM-6rbhg" name="width" type="_CIFeYNjlEd6wXIBypQTswA" isUnique="false">
+ <ownedComment xmi:id="_8AxTINjqEd6rlulM-6rbhg" annotatedElement="_4Kx5ANjqEd6rlulM-6rbhg">
+ <body>The width of the sliding window.</body>
+ </ownedComment>
+ </ownedAttribute>
+ <icon xmi:id="_0D0sYEnTEd2n_LV02Saw8w" content="71%73%70%56%57%97%16%0%16%0%-91%43%0%20%30%100%23%33%103%26%36%106%27%37%107%30%40%110%33%43%113%36%46%116%39%49%119%42%52%122%45%55%125%48%58%-128%51%61%-125%54%64%-122%57%67%-119%60%70%-116%-36%-16%-1%-35%-16%-1%-34%-16%-1%-35%-15%-1%-34%-15%-1%-31%-14%-1%-28%-13%-1%-27%-13%-1%-28%-12%-1%-27%-12%-1%-24%-12%-1%-25%-11%-1%-24%-11%-1%-22%-10%-1%-21%-10%-1%-21%-9%-1%-18%-9%-1%-18%-8%-1%-15%-7%-1%-14%-7%-1%-12%-6%-1%-12%-5%-1%-11%-5%-1%-9%-4%-1%-8%-4%-1%-5%-2%-1%-2%-2%-1%-2%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%33%-7%4%1%10%0%63%0%44%0%0%0%0%16%0%16%0%0%6%123%-64%-97%112%72%44%22%29%-56%36%-46%40%108%-84%-98%80%70%-93%8%-88%-90%84%-86%21%-106%-63%-91%46%80%-32%48%-105%-79%24%86%1%-89%-76%-55%116%90%-97%20%66%-64%67%14%32%-115%70%-124%59%-127%-112%-8%-55%-25%15%115%33%-125%4%33%-123%8%126%116%103%32%123%-115%32%7%126%-127%-110%0%28%-107%4%28%-105%6%113%-128%0%25%-98%4%-97%4%5%102%85%22%-90%-89%-89%4%69%2%20%20%15%22%-110%-127%3%69%1%19%-74%19%-79%15%1%84%103%-67%103%76%-64%66%65%0%59%">
+ <eAnnotations xmi:id="_3v8_4EnTEd2n_LV02Saw8w" source="image_papyrus">
+ <details xmi:id="_3wDGgEnTEd2n_LV02Saw8w" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_3JCekN4fEdyW6f_GAa5b1w" name="OutputSynchronizationConstraint">
+ <ownedComment xmi:id="_kNPHYJX0Ed2iJ9_Y3as_2A" annotatedElement="_3JCekN4fEdyW6f_GAa5b1w">
+ <body>OutputSynchronizationConstraint is a language entity that expresses a timing constraint on the output synchronization among the set of response events.
+
+Semantics:
+The parameters of OutputSynchronizationConstraint, see TimingConstraints, constrain the time from the first response until last response (i.e., maximum skew between these responses). A fork point is identified by the stimulus event in the scope EventChain.
+
+Constraints:
+[1] The set of FunctionFlowPorts referenced by the events should contain only OutFlowPorts. The rationale for this is that the events shall relate to data on FunctionFlowPorts which is considered (or shall be) temporally consistent.
+
+[2] The scope EventChain shall contain exactly one stimulus Event.
+
+[3] The semantics of this constraint require that there is more than one response Events in the scope EventChain.
+
+
+Extension: Class</body>
+ </ownedComment>
+ <generalization xmi:id="_B86sANjsEd6rlulM-6rbhg" general="_xOuQYNjrEd6rlulM-6rbhg"/>
+ <ownedAttribute xmi:id="_W7sBcNjrEd6rlulM-6rbhg" name="width" type="_CIFeYNjlEd6wXIBypQTswA" isUnique="false">
+ <ownedComment xmi:id="_Z0eMcNjrEd6rlulM-6rbhg" annotatedElement="_W7sBcNjrEd6rlulM-6rbhg">
+ <body>The width of the sliding window.</body>
+ </ownedComment>
+ </ownedAttribute>
+ <icon xmi:id="_0glg4EnTEd2n_LV02Saw8w" content="71%73%70%56%57%97%16%0%16%0%-91%43%0%20%30%100%23%33%103%26%36%106%27%37%107%30%40%110%33%43%113%36%46%116%39%49%119%42%52%122%45%55%125%48%58%-128%51%61%-125%54%64%-122%57%67%-119%60%70%-116%-36%-16%-1%-35%-16%-1%-34%-16%-1%-35%-15%-1%-34%-15%-1%-31%-14%-1%-28%-13%-1%-27%-13%-1%-28%-12%-1%-27%-12%-1%-24%-12%-1%-25%-11%-1%-24%-11%-1%-22%-10%-1%-21%-10%-1%-21%-9%-1%-18%-9%-1%-18%-8%-1%-15%-7%-1%-14%-7%-1%-12%-6%-1%-12%-5%-1%-11%-5%-1%-9%-4%-1%-8%-4%-1%-5%-2%-1%-2%-2%-1%-2%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%-1%33%-7%4%1%10%0%63%0%44%0%0%0%0%16%0%16%0%0%6%122%-64%-97%112%72%44%22%29%-56%36%-46%40%108%-84%-98%80%70%-93%8%-88%-90%84%-86%21%-106%-63%-91%46%80%-32%48%-105%-79%24%86%1%-89%-76%-55%116%90%-97%20%66%-64%67%14%32%-115%-18%-8%81%-30%39%-97%63%-26%33%85%-127%33%33%8%124%116%103%32%32%0%-118%-116%7%124%127%-111%0%28%28%103%85%6%113%126%0%25%-100%-101%25%-101%5%102%85%22%-92%-93%0%-92%4%69%2%20%20%15%22%-111%127%3%69%1%19%-75%19%-80%15%1%84%-106%-68%0%76%-65%66%65%0%59%">
+ <eAnnotations xmi:id="_1UdN0EnTEd2n_LV02Saw8w" source="image_papyrus">
+ <details xmi:id="_1UjUcEnTEd2n_LV02Saw8w" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_xOuQYNjrEd6rlulM-6rbhg" name="ReactionConstraint">
+ <ownedComment xmi:id="_0NUIcNjrEd6rlulM-6rbhg" annotatedElement="_xOuQYNjrEd6rlulM-6rbhg">
+ <body>ReactionConstraint is used to impose a timing constraint on an event chain in order to specify bounds for reacting on the occurrence of a stimulus or stimuli. The intention of this constraint is to look forward in time.
+
+Compare AgeTimingConstraint.</body>
+ </ownedComment>
+ <generalization xmi:id="_8i_Z8NjrEd6rlulM-6rbhg" general="_z-sFUNjlEd6wXIBypQTswA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_Ix9XkNj0Ed6rlulM-6rbhg" name="SporadicEventConstraint">
+ <ownedComment xmi:id="_K9VqANj0Ed6rlulM-6rbhg" annotatedElement="_Ix9XkNj0Ed6rlulM-6rbhg">
+ <body>The Sporadic Event Constraint describes that an event occurs occasionally. In general it is supposed that the event eventually occurs. Indeed, it is also known that some of the events do not occur for whatsoever reasons.
+
+Note! The parameters minimum inter-arrival time and maximum inter-arrival time must reference the same point in time. Typically, this is the point in time that specifies the beginning of the period subject to consideration.</body>
+ </ownedComment>
+ <generalization xmi:id="_nVKbMNj0Ed6rlulM-6rbhg" general="_Cp8t8NjoEd6wXIBypQTswA"/>
+ <ownedAttribute xmi:id="_NM3coNj0Ed6rlulM-6rbhg" name="jitter" type="_CIFeYNjlEd6wXIBypQTswA" isUnique="false">
+ <ownedComment xmi:id="_Q6dvwNj0Ed6rlulM-6rbhg" annotatedElement="_NM3coNj0Ed6rlulM-6rbhg">
+ <body>The optional parameter jitter specifies the maximal possible time interval the occurrence of an event can vary (formerly: be delayed). By nature, a sporadic event is supposed to occur at any time, thus it is one of the characteristic that the occurrence is jittery.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_QcQw0Nj0Ed6rlulM-6rbhg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_QcWQYNj0Ed6rlulM-6rbhg" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_SdfBsNj0Ed6rlulM-6rbhg" name="period" type="_CIFeYNjlEd6wXIBypQTswA" isUnique="false">
+ <ownedComment xmi:id="_VlwaMNj0Ed6rlulM-6rbhg" annotatedElement="_SdfBsNj0Ed6rlulM-6rbhg">
+ <body>The period specifies the ideal time interval between two subsequent occurrences of the event.</body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_YKb9cNj0Ed6rlulM-6rbhg" name="maximumInterArrivalTime" type="_CIFeYNjlEd6wXIBypQTswA" isUnique="false">
+ <ownedComment xmi:id="_d1mJcNj0Ed6rlulM-6rbhg" annotatedElement="_YKb9cNj0Ed6rlulM-6rbhg">
+ <body>The optional parameter maximum inter-arrival time specifies the maximal possible time interval between two consecutive occurrences of an event.
+The maximum inter-arrival time may be used to describe different cases:
+(1) The maximum inter-arrival time is equal to the duration of the period.
+(2) The maximum inter-arrival time is used to specify a point in time within the period that immediately follows the period subject to consideration.
+(3) The maximum inter-arrival time is used to specify a point in time within one of the subsequent periods that follow the period subject to consideration.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_cyOA4Nj0Ed6rlulM-6rbhg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_cyXK0Nj0Ed6rlulM-6rbhg" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_f5mokNj0Ed6rlulM-6rbhg" name="minimumInterArrivalTime" type="_CIFeYNjlEd6wXIBypQTswA" isUnique="false">
+ <ownedComment xmi:id="_jxbOsNj0Ed6rlulM-6rbhg" annotatedElement="_f5mokNj0Ed6rlulM-6rbhg">
+ <body>The minimum inter-arrival time specifies is the minimal possible time interval between two consecutive occurrences of an event.</body>
+ </ownedComment>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_ryTU4Nj0Ed6rlulM-6rbhg" name="PeriodicEventConstraint">
+ <ownedComment xmi:id="_v5hcIExnEd-SDeUiu9LLYg" annotatedElement="_ryTU4Nj0Ed6rlulM-6rbhg">
+ <body>The PeriodicEventConstraint describes that an event occurs periodically.</body>
+ </ownedComment>
+ <generalization xmi:id="_Dd19INj1Ed6rlulM-6rbhg" general="_Cp8t8NjoEd6wXIBypQTswA"/>
+ <ownedAttribute xmi:id="_yMnF4Nj0Ed6rlulM-6rbhg" name="jitter" type="_CIFeYNjlEd6wXIBypQTswA" isUnique="false">
+ <ownedComment xmi:id="_1nlX8Nj0Ed6rlulM-6rbhg" annotatedElement="_yMnF4Nj0Ed6rlulM-6rbhg">
+ <body>The jitter specifies the maximal possible time interval the occurrence of an event can vary (formerly: be delayed).</body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_3NNR8Nj0Ed6rlulM-6rbhg" name="period" type="_CIFeYNjlEd6wXIBypQTswA" isUnique="false">
+ <ownedComment xmi:id="_6R0ScNj0Ed6rlulM-6rbhg" annotatedElement="_3NNR8Nj0Ed6rlulM-6rbhg">
+ <body>The period specifies the ideal time interval between two subsequent occurrences of the event.</body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_8PLXANj0Ed6rlulM-6rbhg" name="minimumInterArrivalTime" type="_CIFeYNjlEd6wXIBypQTswA" isUnique="false">
+ <ownedComment xmi:id="_AwXqQNj1Ed6rlulM-6rbhg" annotatedElement="_8PLXANj0Ed6rlulM-6rbhg">
+ <body>The minimum inter-arrival time specifies the minimal possible time interval between two consecutive occurrences of an event.</body>
+ </ownedComment>
+ </ownedAttribute>
+ <icon xmi:id="_mkZ2ME4wEd-VH9vWvzMlsg" content="71%73%70%56%57%97%16%0%16%0%-91%44%0%20%30%100%23%33%103%26%36%106%27%37%107%30%40%110%33%43%113%36%46%116%39%49%119%42%52%122%45%55%125%48%58%-128%51%61%-125%54%64%-122%57%67%-119%60%70%-116%-36%-16%-1%-35%-16%-1%-34%-16%-1%-35%-15%-1%-34%-15%-1%-31%-14%-1%-28%-13%-1%-27%-13%-1%-28%-12%-1%-27%-12%-1%-24%-12%-1%-25%-11%-1%-24%-11%-1%-22%-10%-1%-21%-10%-1%-21%-9%-1%-18%-9%-1%-18%-8%-1%-15%-7%-1%-14%-7%-1%-12%-6%-1%-12%-5%-1%-11%-5%-1%-9%-4%-1%-8%-4%-1%-5%-2%-1%-2%-2%-1%-2%-1%-1%-1%-1%-1%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%33%-2%51%69%65%83%84%45%65%68%76%32%112%114%111%106%101%99%116%10%65%117%116%104%111%114%32%58%32%109%105%99%107%97%101%108%46%99%111%110%100%101%64%115%105%101%109%101%110%115%46%99%111%109%0%33%-7%4%1%10%0%63%0%44%0%0%0%0%16%0%16%0%0%6%-125%-64%-97%112%72%44%22%29%-56%36%-46%40%108%-84%-98%80%70%-93%8%-88%-90%84%-86%21%-106%-63%-91%46%80%-88%106%-107%-53%88%12%-59%-89%-76%9%112%50%-103%78%10%33%-32%49%7%-112%70%35%113%105%-108%-8%-51%-23%15%116%33%33%0%34%34%-125%8%126%117%98%32%32%-116%31%7%126%-127%-109%0%28%30%0%29%-103%29%6%114%-128%0%25%26%26%98%27%26%5%103%85%22%23%-86%0%21%24%21%21%4%69%2%20%20%98%85%-76%3%69%1%19%-68%-68%18%17%19%16%1%84%-74%-59%0%76%-56%66%65%0%59%">
+ <eAnnotations xmi:id="_oA8FoE4wEd-VH9vWvzMlsg" source="image_papyrus">
+ <details xmi:id="_oBF2oE4wEd-VH9vWvzMlsg" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_HsegwNj1Ed6rlulM-6rbhg" name="PatternEventConstraint">
+ <ownedComment xmi:id="_JjBLoNj1Ed6rlulM-6rbhg" annotatedElement="_HsegwNj1Ed6rlulM-6rbhg">
+ <body>The [Concrete] Pattern Event Constraint describes that an event occurs following a known pattern. The pattern event model is characterized by the following parameters:</body>
+ </ownedComment>
+ <generalization xmi:id="_eaVYwNj1Ed6rlulM-6rbhg" general="_Cp8t8NjoEd6wXIBypQTswA"/>
+ <ownedAttribute xmi:id="_LRpQoNj1Ed6rlulM-6rbhg" name="period" type="_CIFeYNjlEd6wXIBypQTswA" isUnique="false">
+ <ownedComment xmi:id="_ODGEkNj1Ed6rlulM-6rbhg" annotatedElement="_LRpQoNj1Ed6rlulM-6rbhg">
+ <body>The period specifies the time interval within the event occurs any number of times following a pattern.</body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_PeymgNj1Ed6rlulM-6rbhg" name="minimumInterArrivalTime" type="_CIFeYNjlEd6wXIBypQTswA" isUnique="false">
+ <ownedComment xmi:id="_THWooNj1Ed6rlulM-6rbhg" annotatedElement="_PeymgNj1Ed6rlulM-6rbhg">
+ <body>The minimum inter-arrival time specifies the minimal possible time interval between two consecutive occurrences of the event within the given period.</body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Uf_2kNj1Ed6rlulM-6rbhg" name="occurence" type="_CIFeYNjlEd6wXIBypQTswA" isOrdered="true" isUnique="false">
+ <ownedComment xmi:id="_YbkUQNj1Ed6rlulM-6rbhg" annotatedElement="_Uf_2kNj1Ed6rlulM-6rbhg">
+ <body>The set occurrence (1..n) specifies the offset for each occurrence of the event in the specified period. Each occurrence is specified from the beginning of the period</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XzCUoNj1Ed6rlulM-6rbhg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XzIbQNj1Ed6rlulM-6rbhg" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Z5oNsNj1Ed6rlulM-6rbhg" name="jitter" type="_CIFeYNjlEd6wXIBypQTswA" isUnique="false">
+ <ownedComment xmi:id="_ccWCENj1Ed6rlulM-6rbhg" annotatedElement="_Z5oNsNj1Ed6rlulM-6rbhg">
+ <body>The jitter specifies maximal possible time interval the occurrence of the events within the given period can vary (formerly: can be delayed).</body>
+ </ownedComment>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_yVk_MNj1Ed6rlulM-6rbhg" name="ArbitraryEventConstraint">
+ <ownedComment xmi:id="_0ZxrkNj1Ed6rlulM-6rbhg" annotatedElement="_yVk_MNj1Ed6rlulM-6rbhg">
+ <body>The Arbitrary Event Model describes that an event occurs occasionally, singly, irregular or randomly. The primary purpose of this event model is to abstract event occurrences captured by data acquisition tools (background debugger, trace analyzer, etc.) during the operation of a system.
+
+Constraints:
+[1] The number of elements in the sets minimum inter-arrival time and maximum inter-arrival time must be the same. Rationale: Consistent specification of arrival times.</body>
+ </ownedComment>
+ <generalization xmi:id="_GFXjkNj2Ed6rlulM-6rbhg" general="_Cp8t8NjoEd6wXIBypQTswA"/>
+ <ownedAttribute xmi:id="_2-cnwNj1Ed6rlulM-6rbhg" name="minimumInterArrivalTime" type="_CIFeYNjlEd6wXIBypQTswA" isUnique="false">
+ <ownedComment xmi:id="_7UW4ENj1Ed6rlulM-6rbhg" annotatedElement="_2-cnwNj1Ed6rlulM-6rbhg">
+ <body>The set of minimum inter-arrival times specifies the minimum inter-arrival time between two and more subsequent occurrences of the event. The first element in the set specifies the minimum inter-arrival time between two subsequent occurrences of the event among the given occurrences. The second element in the set specifies the minimum inter-arrival time between three subsequent occurrences of the event among the given occurrences; and so forth.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_6-LMsNj1Ed6rlulM-6rbhg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_6-RTUNj1Ed6rlulM-6rbhg" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_95GswNj1Ed6rlulM-6rbhg" name="maximumInterArrivalTime" type="_CIFeYNjlEd6wXIBypQTswA" isUnique="false">
+ <ownedComment xmi:id="_BzEA4Nj2Ed6rlulM-6rbhg" annotatedElement="_95GswNj1Ed6rlulM-6rbhg">
+ <body>The set of maximum inter-arrival times specifies the maximum inter-arrival time between two and more subsequent occurrences of the event. The first element in the set specifies the maximum inter-arrival time between two subsequent occurrences of the event among the given occurrences. The second element in the set specifies the maximum inter-arrival time between three subsequent occurrences of the event among the given occurrences; and so forth.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_A-fwYNj2Ed6rlulM-6rbhg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_A-l3ANj2Ed6rlulM-6rbhg" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="_KfvdINj2Ed6rlulM-6rbhg" name="Events">
+ <ownedComment xmi:id="__c-AEExgEd-SDeUiu9LLYg" annotatedElement="_KfvdINj2Ed6rlulM-6rbhg">
+ <body>This section describes the concept of events for EAST-ADL2.</body>
+ </ownedComment>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_eiHw4Nj3Ed6rlulM-6rbhg" name="EventFunctionFlowPort">
+ <ownedComment xmi:id="_M--aQExmEd-SDeUiu9LLYg" annotatedElement="_eiHw4Nj3Ed6rlulM-6rbhg">
+ <body>Event that refers to the triggering of the Function at a flow port, i.e., when data is sent or received.</body>
+ </ownedComment>
+ <generalization xmi:id="_lyBtINj3Ed6rlulM-6rbhg" general="_RaMroNjnEd6wXIBypQTswA"/>
+ <ownedAttribute xmi:id="_hQ8HkNj3Ed6rlulM-6rbhg" name="port" type="_i-f6UzxIEdyqfK4bFJstMQ" isUnique="false"/>
+ <ownedAttribute xmi:id="_WZTToE37Ed-lBeOY4fJiaA" name="port_path" type="_i-f6TTxIEdyqfK4bFJstMQ" isOrdered="true">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aUbscE37Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aUkPUE37Ed-lBeOY4fJiaA" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_0LKV4Nj3Ed6rlulM-6rbhg" name="EventFunctionClientServerPort">
+ <ownedComment xmi:id="_-IBNEExlEd-SDeUiu9LLYg" annotatedElement="_0LKV4Nj3Ed6rlulM-6rbhg">
+ <body>Event that refers to the triggering of the Function at a client/server port, i.e., when the input data is sent / received, or when the output data is produced / received.
+
+Constraints:
+[1] eventKind is sentRequest or receivedResponse for a FunctionClientServerPort of type client. Rationale: Only these values make sense for client ports.
+
+[2] eventKind is receivedRequest or sentResponse for a FunctionClientServerPort of type server. Rationale: Only these values make sense for server ports.</body>
+ </ownedComment>
+ <generalization xmi:id="_RloP0Nj4Ed6rlulM-6rbhg" general="_RaMroNjnEd6wXIBypQTswA"/>
+ <ownedAttribute xmi:id="_2842oNj3Ed6rlulM-6rbhg" name="eventKind" type="_85ibQNj3Ed6rlulM-6rbhg" isUnique="false"/>
+ <ownedAttribute xmi:id="_M8ndUNj4Ed6rlulM-6rbhg" name="port" type="_i-f6ZjxIEdyqfK4bFJstMQ" isUnique="false"/>
+ <ownedAttribute xmi:id="_NQ5ksE37Ed-lBeOY4fJiaA" name="port_path" type="_i-f6TTxIEdyqfK4bFJstMQ" isOrdered="true">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_SDYcQE37Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_SDfxAE37Ed-lBeOY4fJiaA" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_85ibQNj3Ed6rlulM-6rbhg" name="EventFunctionClientServerPortKind">
+ <ownedComment xmi:id="_j2faAExlEd-SDeUiu9LLYg" annotatedElement="_85ibQNj3Ed6rlulM-6rbhg">
+ <body>Possible values of eventKind.
+
+Extension:
+Enumeration, no extension.</body>
+ </ownedComment>
+ <ownedLiteral xmi:id="__S5fUNj3Ed6rlulM-6rbhg" name="receivedRequest"/>
+ <ownedLiteral xmi:id="_A91-MNj4Ed6rlulM-6rbhg" name="sentResponse"/>
+ <ownedLiteral xmi:id="_Y38BwExlEd-SDeUiu9LLYg" name="sentRequest"/>
+ <ownedLiteral xmi:id="_budi8ExlEd-SDeUiu9LLYg" name="receivedResponse"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_WQ9WgNj4Ed6rlulM-6rbhg" name="EventFunction">
+ <ownedComment xmi:id="_X6Jh4Nj4Ed6rlulM-6rbhg" annotatedElement="_WQ9WgNj4Ed6rlulM-6rbhg">
+ <body>An event of a Function refers to the triggering of the Function, i.e., when the input data is consumed, data transformation is performed on that input data by the function, and output data is produced. It is used in conjunction with FunctionTrigger (see that concept) to define a time-driven triggering for a function. In this case the FunctionTrigger points to the EventFunction of the function and defines a triggerPolicy set to TIME. The timing constraint associated to the EventFunction provides information about the period.
+
+Compare categories of AUTOSAR runnables:
+
+1a triggering only on start and finish (this type of event)
+
+1b triggering allowed anytime during the execution (events on ports, see EventInFlowPort)
+
+
+Constraints:
+[1] An EventFunction either identifies a FunctionType or a FunctionPrototype as its target function.</body>
+ </ownedComment>
+ <generalization xmi:id="_brM00Nj8Ed6rlulM-6rbhg" general="_RaMroNjnEd6wXIBypQTswA"/>
+ <ownedAttribute xmi:id="_ZLUO0Nj4Ed6rlulM-6rbhg" name="function" type="_i-f6TTxIEdyqfK4bFJstMQ" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ueKjUExlEd-SDeUiu9LLYg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ueQC4ExlEd-SDeUiu9LLYg" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_otb60ExlEd-SDeUiu9LLYg" name="functionType" type="_i-f6JDxIEdyqfK4bFJstMQ" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_trP4oExlEd-SDeUiu9LLYg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_trUKEExlEd-SDeUiu9LLYg" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_EUtFwE37Ed-lBeOY4fJiaA" name="function_path" type="_i-f6TTxIEdyqfK4bFJstMQ" isOrdered="true">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JVyaAE37Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JV5HsE37Ed-lBeOY4fJiaA" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_CIFeYNjlEd6wXIBypQTswA" name="TimeDuration">
+ <ownedComment xmi:id="_nqVXwNjlEd6wXIBypQTswA" annotatedElement="_CIFeYNjlEd6wXIBypQTswA">
+ <body>CseCodeType
+0: 1 &#xb5;sec Time
+1: 10 &#xb5;sec Time
+2: 100 &#xb5;sec Time
+3: 1 msec Time
+4: 10 msec Time
+5: 100 msec Time
+6: 1 sec Time
+7: 10 sec Time
+8: 1 min Time
+9: 1 h Time
+10: 1 d Time
+
+100: Angular degrees Angle
+101: Revolutions 360 degrees Angle
+102: Cycle 720 degrees Angle e.g. in case of IC engines
+103: Cylinder segment Combustion e.g. in case of IC engines
+998: When frame available Time Source defined in the ASAP 2 keyword, FRAME
+999: Always if there is new value Calculation of a new upper range limit after receiving a new partial value, e.g. when calculating a complex trigger condition
+1000: Non deterministic Without fixed scaling
+
+If, for example, the value in swCseCodeFactor is 360 and the value in swCseCode is 100, this is equivalent to the value 1 in swCseCodeFactor and the value 101 in swCseCode.
+
+CseCodeType is from AUTOSAR and MSR/ASAM.
+
+Note that we have set the cseCodeType for 1 &#xb5;sec to 0 (error in AUTOSAR R3). And have changed cseCodeType 2 to 100 &#xb5;sec (error in MSR).</body>
+ </ownedComment>
+ <generalization xmi:id="_U91lkE3XEd-eluvub9wzww" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_IYWikNjlEd6wXIBypQTswA" name="base_DataType" isUnique="false" association="_IRwyYNjlEd6wXIBypQTswA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DataType"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_JkV0kNjlEd6wXIBypQTswA" name="cseCode" isUnique="false">
+ <ownedComment xmi:id="_PckMMNjlEd6wXIBypQTswA" annotatedElement="_JkV0kNjlEd6wXIBypQTswA">
+ <body>Within TIMMO this is normally time, note that when it is expressed as angle it can be converted to time.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_RP2HsNjlEd6wXIBypQTswA" name="cseCodeFactor" isUnique="false">
+ <ownedComment xmi:id="_RthiMNjlEd6wXIBypQTswA" annotatedElement="_RP2HsNjlEd6wXIBypQTswA">
+ <body>Is normally equal to 1.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_eRgAINjlEd6wXIBypQTswA" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_gU73gNjlEd6wXIBypQTswA" name="value" type="_IIFyoEucEd-ZO7qwJW2vyQ" isUnique="false">
+ <ownedComment xmi:id="_lCeksNjlEd6wXIBypQTswA" annotatedElement="_gU73gNjlEd6wXIBypQTswA">
+ <body>The actual value complemented with the cseCode.</body>
+ </ownedComment>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_IRwyYNjlEd6wXIBypQTswA" name="Extension_Time" memberEnd="_IYAkUNjlEd6wXIBypQTswA _IYWikNjlEd6wXIBypQTswA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_IYAkUNjlEd6wXIBypQTswA" name="extension_Time" type="_CIFeYNjlEd6wXIBypQTswA" aggregation="composite" association="_IRwyYNjlEd6wXIBypQTswA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_ELRQUExjEd-SDeUiu9LLYg" name="ExecutionTimeConstraint">
+ <ownedComment xmi:id="_9107wExjEd-SDeUiu9LLYg" annotatedElement="_ELRQUExjEd-SDeUiu9LLYg">
+ <body>ExecutionTimeConstraint expresses the execution time of a function under the assumption of a nominal CPU that executes 1 &quot;function second&quot; per second. Function allocation will decide the actual execution time by multiplication with the relative speed of the host CPU.
+
+Example:
+The ECU is 20% faster than a standard ECU (e.g. in a certain context, execution times are given assuming a nominal speed of 100 MHz; Our CPU is then 120 MHz)
+
+The function is activated by a time trigger or a port trigger. The function starts execution some time after activation, depending on e.g. interference and blocking from other functions on the same resource
+Immediately on start, the function reads input data on all ports. Functions write data at the latest when the execution time has elapsed (which is after the execution time plus any blocking and interference time).
+
+Constraints:
+[1] An ExecutionTimeConstraint either identifies a FunctionType or a FunctionPrototype as its target function.
+[2] variation shall be a value between 0 and upper-lower.
+
+Semantics:
+lower (from TimingConstraint) denotes the minimal best case execution time.
+upper (from TimingConstraint) denotes the maximal worst case execution time.
+variation denotes the allowed variation in execution time, i.e. maximal minimal execution time.
+
+Example:
+lower=5
+upper=10
+variation=2
+best case execution time of 6 and worst case of 7 is within this constraint
+best case execution time of 6 and worst case of 9 violates this constraint
+
+If a measured value is characterized, variation is not used, as it is always upper-lower, e.g. lower=6 and upper=9 above. In this example, the ExecutionTimeConstraint would be a Realization of a VVActualOutcome.</body>
+ </ownedComment>
+ <generalization xmi:id="_GuieUExjEd-SDeUiu9LLYg" general="_faY3oNjhEd6wXIBypQTswA"/>
+ <ownedAttribute xmi:id="_-3DvQExjEd-SDeUiu9LLYg" name="variation" type="_CIFeYNjlEd6wXIBypQTswA" isUnique="false"/>
+ <ownedAttribute xmi:id="_8VOsoE0cEd-bZ5L3ZgEOlA" name="targetDesignFunctionType" type="_Y-pWYE0YEd-bZ5L3ZgEOlA" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-hqH8E0cEd-bZ5L3ZgEOlA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-huZYE0cEd-bZ5L3ZgEOlA" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_NEr0EGuWEeKvkeyTk2kwBQ" name="targetDesignFunction" type="_Y-pWYE0YEd-bZ5L3ZgEOlA" association="_NEr0E2uWEeKvkeyTk2kwBQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_NEr0EWuWEeKvkeyTk2kwBQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_NEr0EmuWEeKvkeyTk2kwBQ" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_PGessGuWEeKvkeyTk2kwBQ" name="targetDesignFunctionPrototype" type="_TGIuEE0cEd-bZ5L3ZgEOlA" association="_PGess2uWEeKvkeyTk2kwBQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PGessWuWEeKvkeyTk2kwBQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_PGessmuWEeKvkeyTk2kwBQ" value="1"/>
+ </ownedAttribute>
+ <icon xmi:id="_cX4X0E4wEd-VH9vWvzMlsg" content="71%73%70%56%57%97%16%0%16%0%-91%15%0%20%30%100%23%33%103%27%37%107%29%39%109%30%40%110%33%43%113%36%46%116%39%49%119%42%52%122%45%55%125%48%58%-128%51%61%-125%54%64%-122%57%67%-119%60%70%-116%-106%-96%-46%-76%-76%-76%-36%-16%-1%-35%-16%-1%-34%-16%-1%-35%-15%-1%-34%-15%-1%-31%-14%-1%-28%-13%-1%-27%-13%-1%-27%-12%-1%-24%-12%-1%-25%-11%-1%-22%-10%-1%-21%-10%-1%-18%-9%-1%-18%-8%-1%-15%-7%-1%-14%-7%-1%-12%-6%-1%-9%-4%-1%-8%-4%-1%-5%-2%-1%-2%-2%-1%-2%-1%-1%-1%-1%-1%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%33%-2%51%69%65%83%84%45%65%68%76%32%112%114%111%106%101%99%116%10%65%117%116%104%111%114%32%58%32%109%105%99%107%97%101%108%46%99%111%110%100%101%64%115%105%101%109%101%110%115%46%99%111%109%0%33%-7%4%1%10%0%63%0%44%0%0%0%0%16%0%16%0%0%6%-126%-64%-97%112%72%44%22%29%-56%36%-46%40%108%-96%-98%80%70%-125%-55%48%-99%78%-88%43%99%91%4%120%75%-112%48%100%-53%88%12%1%17%52%-128%52%90%-113%70%36%-123%16%-99%-114%-92%69%0%-79%40%49%87%123%1%32%0%33%33%32%32%8%115%118%-119%0%31%121%97%30%7%103%117%0%28%15%0%29%-105%29%6%103%127%26%27%0%15%98%27%5%115%66%3%24%-107%14%23%23%25%-86%4%63%127%-80%-96%98%16%22%2%-92%63%1%21%-70%-70%20%19%21%18%1%103%-81%-80%-60%0%76%-57%66%65%0%59%">
+ <eAnnotations xmi:id="_edjD0E4wEd-VH9vWvzMlsg" source="image_papyrus">
+ <details xmi:id="_edjD0U4wEd-VH9vWvzMlsg" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WLgTxIEdyqfK4bFJstMQ" name="PrecedenceConstraint">
+ <ownedComment xmi:id="_14GmoJX0Ed2iJ9_Y3as_2A" annotatedElement="_i-WLgTxIEdyqfK4bFJstMQ">
+ <body>The PrecedenceConstraint represents a particular constraint applied on the execution sequence of functions.
+
+Semantics:
+The semantics for the PrecedenceConstraint metaclass is to define an association relationship between Functions, indicating the association relationship such that all predecessors have completed before the successors are started.
+
+Note: Without a precedence relation, Functions are executed according to their data dependencies, if these are uni-directional. For bi-directional data dependencies, execution order is not defined unless the PrecedenceDependency relationship is used.
+
+Notation:
+PrecedenceConstraint is shown as a dashed arrow with &quot;Precedes&quot; next to it. It points from preceeding to the successive entity.
+
+Changes:
+Renamed from Precedes
+
+Extension:
+The PrecedenceConstraint extends UML2 metaclass Class and Dependency.</body>
+ </ownedComment>
+ <generalization xmi:id="_uaHbsExjEd-SDeUiu9LLYg" general="_faY3oNjhEd6wXIBypQTswA"/>
+ <ownedAttribute xmi:id="_i-WLgzxIEdyqfK4bFJstMQ" name="successive" visibility="public" type="_i-f6TTxIEdyqfK4bFJstMQ" isOrdered="true" isReadOnly="true" isDerived="true" association="_i-f6cTxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_7KUHIJX0Ed2iJ9_Y3as_2A" annotatedElement="_i-WLgzxIEdyqfK4bFJstMQ">
+ <body>The function prototypes that must be executed after preceding was executed.&#xD;
+{derived from UML::DirectedRelationship::target}</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L7umoGEqEdyta4cfhP9jxw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L7umoWEqEdyta4cfhP9jxw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_i-WLhjxIEdyqfK4bFJstMQ" name="preceding" visibility="public" type="_i-f6TTxIEdyqfK4bFJstMQ" isReadOnly="true" isDerived="true" association="_i-f6dTxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_-amMIJX0Ed2iJ9_Y3as_2A" annotatedElement="_i-WLhjxIEdyqfK4bFJstMQ">
+ <body>The function prototype that must be executed first.&#xD;
+{derived from UML::DirectedRelationship::source}</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_O3yIEGEqEdyta4cfhP9jxw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_O3yIEWEqEdyta4cfhP9jxw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_sbRvkEAXEdympvaafZjFBw" name="base_Dependency" isUnique="false" association="_sa1DoEAXEdympvaafZjFBw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KEOZgG1ZEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KET5EG1ZEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_u9f3oE36Ed-lBeOY4fJiaA" name="successive_path" type="_i-f6TTxIEdyqfK4bFJstMQ" isOrdered="true">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_1le4QE36Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_1lmNAE36Ed-lBeOY4fJiaA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_3Ll6cE36Ed-lBeOY4fJiaA" name="preceding_path" type="_i-f6TTxIEdyqfK4bFJstMQ" isOrdered="true">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_7eprEE36Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_7evxsE36Ed-lBeOY4fJiaA" value="*"/>
+ </ownedAttribute>
+ <icon xmi:id="_aPIOAEnNEd2n_LV02Saw8w" content="71%73%70%56%57%97%16%0%16%0%-29%0%0%20%30%100%29%39%109%30%40%110%39%49%119%40%50%120%49%59%-127%50%60%-126%60%70%-116%80%90%-101%80%90%-100%120%-126%-70%120%-126%-69%-106%-96%-46%-76%-76%-76%20%30%100%20%30%100%33%-2%51%69%65%83%84%45%65%68%76%32%112%114%111%106%101%99%116%10%65%117%116%104%111%114%32%58%32%109%105%99%107%97%101%108%46%99%111%110%100%101%64%115%105%101%109%101%110%115%46%99%111%109%0%33%-7%4%1%10%0%15%0%44%0%0%0%0%16%0%16%0%0%4%55%-16%-55%73%-21%108%-106%54%44%121%-18%-41%7%-122%-30%38%126%71%-102%90%106%106%48%112%-95%61%111%76%44%-117%50%108%124%115%-25%3%1%34%-127%8%-52%-124%-60%0%96%-71%-76%48%-101%-89%-88%116%74%-83%82%34%0%59%">
+ <eAnnotations xmi:id="_a2z5EEnNEd2n_LV02Saw8w" source="image_papyrus">
+ <details xmi:id="_a25_sEnNEd2n_LV02Saw8w" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_sa1DoEAXEdympvaafZjFBw" name="Extension_PrecedenceConstraint" memberEnd="_sa-0oEAXEdympvaafZjFBw _sbRvkEAXEdympvaafZjFBw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_sa-0oEAXEdympvaafZjFBw" name="extension_PrecedenceConstraint" type="_i-WLgTxIEdyqfK4bFJstMQ" aggregation="composite" association="_sa1DoEAXEdympvaafZjFBw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_89TIkEx0Ed-mYJlpYtFhoA" name="Extension_TimingConstraint" memberEnd="_8_jLUEx0Ed-mYJlpYtFhoA _8_xNwEx0Ed-mYJlpYtFhoA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_8_jLUEx0Ed-mYJlpYtFhoA" name="extension_TimingConstraint" type="_faY3oNjhEd6wXIBypQTswA" aggregation="composite" association="_89TIkEx0Ed-mYJlpYtFhoA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_9iVvUEx0Ed-mYJlpYtFhoA" name="Extension_TimingConstraint" memberEnd="_9kuU8Ex0Ed-mYJlpYtFhoA _9k7wUEx0Ed-mYJlpYtFhoA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_9kuU8Ex0Ed-mYJlpYtFhoA" name="extension_TimingConstraint" type="_faY3oNjhEd6wXIBypQTswA" aggregation="composite" association="_9iVvUEx0Ed-mYJlpYtFhoA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_NEr0E2uWEeKvkeyTk2kwBQ" name="executionTimeConstraint_designFunctionType_1" memberEnd="_NEr0FGuWEeKvkeyTk2kwBQ _NEr0EGuWEeKvkeyTk2kwBQ">
+ <ownedEnd xmi:id="_NEr0FGuWEeKvkeyTk2kwBQ" name="executionTimeConstraint" type="_ELRQUExjEd-SDeUiu9LLYg" association="_NEr0E2uWEeKvkeyTk2kwBQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_NEr0FWuWEeKvkeyTk2kwBQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_NEr0FmuWEeKvkeyTk2kwBQ" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_PGess2uWEeKvkeyTk2kwBQ" name="executionTimeConstraint_designFunctionPrototype_1" memberEnd="_PGestGuWEeKvkeyTk2kwBQ _PGessGuWEeKvkeyTk2kwBQ">
+ <ownedEnd xmi:id="_PGestGuWEeKvkeyTk2kwBQ" name="executionTimeConstraint" type="_ELRQUExjEd-SDeUiu9LLYg" association="_PGess2uWEeKvkeyTk2kwBQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PGestWuWEeKvkeyTk2kwBQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_PGestmuWEeKvkeyTk2kwBQ" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="_f0woANj4Ed6rlulM-6rbhg" name="Interchange" metaclassReference="_6u76ANj5Ed6rlulM-6rbhg">
+ <ownedComment xmi:id="_k5Vm0ExUEd-d_pItEVVsag" annotatedElement="_f0woANj4Ed6rlulM-6rbhg">
+ <body>The interchange part of an EAST-ADL2 system model is for exchanging model data with external stakeholders. E.g. it provides elements (see RIFArea) for importing resp. exporting requirements specifications into resp. out of an EAST-ADL2 system model.</body>
+ </ownedComment>
+ <elementImport xmi:id="_6u76ANj5Ed6rlulM-6rbhg" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_s1UUQNj4Ed6rlulM-6rbhg" name="RIFArea" isAbstract="true">
+ <ownedComment xmi:id="_wf0QENj4Ed6rlulM-6rbhg" annotatedElement="_s1UUQNj4Ed6rlulM-6rbhg">
+ <body>An extra allocated part of the EAST-ADL2 System Model that contains Requirement Specific Data (Container, Reqs etc...) from RIF Import resp. RIF Export.
+
+Especially for the context of requirement engineering and considering the possibility to import/export requirement related data via RIF, the feature uuid will be used to check that two elements are semantically the same and thus should stay together in reference via a Multi-Level reference link.
+
+Since requirement data to be imported/exported will be put into RIFArea, requirement data elements which are not inside RIFArea and have semantically equal element in the RIFAreas (such elements have the same uuid value) will be connected with the appropriate elements in the RIFArea using Multi-Level reference links.</body>
+ </ownedComment>
+ <generalization xmi:id="_Bf50EExUEd-d_pItEVVsag" general="_i-WNsjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_zlUBYNj4Ed6rlulM-6rbhg" name="rootRequirementContainer" type="_i-WLxDxIEdyqfK4bFJstMQ" isOrdered="true" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3frlMNj4Ed6rlulM-6rbhg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3fxr0Nj4Ed6rlulM-6rbhg" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_-aygsNj5Ed6rlulM-6rbhg" name="base_Class" isUnique="false" association="_-WeBYNj5Ed6rlulM-6rbhg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_SdIxQExUEd-d_pItEVVsag" name="interchangeReqSpecObject" type="_kjXpINdsEd6hwb99h1VVPA" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Zw2PcExUEd-d_pItEVVsag"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ZxB1oExUEd-d_pItEVVsag" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_AjGGcNj5Ed6rlulM-6rbhg" name="RIFExportArea">
+ <ownedComment xmi:id="_B7BisNj5Ed6rlulM-6rbhg" annotatedElement="_AjGGcNj5Ed6rlulM-6rbhg">
+ <body>Contains (clones of) requirement specific data to be exported in RIF format.</body>
+ </ownedComment>
+ <generalization xmi:id="_D57fYNj5Ed6rlulM-6rbhg" general="_s1UUQNj4Ed6rlulM-6rbhg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_FnRyANj5Ed6rlulM-6rbhg" name="RIFImportArea">
+ <ownedComment xmi:id="_HVfnUNj5Ed6rlulM-6rbhg" annotatedElement="_FnRyANj5Ed6rlulM-6rbhg">
+ <body>Contains requirement specific data to be imported from an external RIF file.
+
+If an element will be imported from external the uuid will be taken from the given external exchange data file, because the identifier is global unique and shall not be changed somewhere.</body>
+ </ownedComment>
+ <generalization xmi:id="_IiBE0Nj5Ed6rlulM-6rbhg" general="_s1UUQNj4Ed6rlulM-6rbhg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_-WeBYNj5Ed6rlulM-6rbhg" name="Extension_RIFArea" memberEnd="_-aY4ENj5Ed6rlulM-6rbhg _-aygsNj5Ed6rlulM-6rbhg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-aY4ENj5Ed6rlulM-6rbhg" name="extension_RIFArea" type="_s1UUQNj4Ed6rlulM-6rbhg" aggregation="composite" association="_-WeBYNj5Ed6rlulM-6rbhg"/>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="_i-f77zxIEdyqfK4bFJstMQ" name="Environment" metaclassReference="_2Bat8EAYEdympvaafZjFBw _gdZfoExXEd-d_pItEVVsag _MFANsExYEd-d_pItEVVsag">
+ <ownedComment xmi:id="_UFGp8KArEd20Qu_niqpmJw" annotatedElement="_i-f77zxIEdyqfK4bFJstMQ">
+ <body>The Environment model is used to describe the environment of the vehicle electric and electronic architecture. It is modeled by continuous functions representing the system environment.</body>
+ </ownedComment>
+ <elementImport xmi:id="_2Bat8EAYEdympvaafZjFBw" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <elementImport xmi:id="_gdZfoExXEd-d_pItEVVsag" alias="Connector">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Connector"/>
+ </elementImport>
+ <elementImport xmi:id="_MFANsExYEd-d_pItEVVsag" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-f78DxIEdyqfK4bFJstMQ" name="Environment">
+ <ownedComment xmi:id="_FZCqIJXjEd2iJ9_Y3as_2A" annotatedElement="_i-f78DxIEdyqfK4bFJstMQ">
+ <body>The collection of the environment functional description. This collection can be done across the EAST-ADL2 abstraction levels.
+
+An environment model can contain functionPrototypes given by either AnalysisFunction or DesignFunction. The environment model does not have abstraction levels as in the system model (e.g., analysisLevel, designLevel).
+
+A functionPrototype of the environment model can have interactions with FAA FunctionalDevice and an FDA HardwareFunction through the ClampConnector.</body>
+ </ownedComment>
+ <generalization xmi:id="_5DSFsExWEd-d_pItEVVsag" general="_i-WNsjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_-6tzIExWEd-d_pItEVVsag" name="environmentModel" type="_i-f6TTxIEdyqfK4bFJstMQ" association="_-6RHMExWEd-d_pItEVVsag">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-7t4sExWEd-d_pItEVVsag"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-7z_UExWEd-d_pItEVVsag" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_U3S_MExXEd-d_pItEVVsag" name="clampConnector" type="_IwygYExXEd-d_pItEVVsag" association="_U2l0kExXEd-d_pItEVVsag">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_U4ZLYExXEd-d_pItEVVsag"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_U4ggIExXEd-d_pItEVVsag" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_NB3ekExYEd-d_pItEVVsag" name="base_Class" isUnique="false" association="_M_DbIExYEd-d_pItEVVsag">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VL06IG9IEd-Nl92aXXxcsg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VL-rIG9IEd-Nl92aXXxcsg" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_SiXkkG9IEd-Nl92aXXxcsg" name="base_Package" isUnique="false" association="_SXvB4G9IEd-Nl92aXXxcsg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vq74AG9IEd-Nl92aXXxcsg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VrBXkG9IEd-Nl92aXXxcsg" value="1"/>
+ </ownedAttribute>
+ <icon xmi:id="_kA6N8EnJEd2n_LV02Saw8w" content="71%73%70%56%57%97%16%0%16%0%-91%62%0%20%30%100%22%32%102%24%34%104%25%35%105%27%37%107%28%38%108%30%40%110%32%42%112%33%43%113%35%45%115%37%47%117%38%48%118%40%50%120%41%51%121%43%53%123%44%54%124%46%56%126%47%57%127%49%59%-127%50%60%-126%52%62%-124%53%63%-123%55%65%-121%56%66%-120%58%68%-118%59%69%-117%60%70%-116%-35%-16%-1%-34%-16%-1%-35%-15%-1%-34%-15%-1%-32%-14%-1%-31%-14%-1%-29%-13%-1%-28%-13%-1%-27%-13%-1%-25%-12%-1%-26%-11%-1%-25%-11%-1%-22%-11%-1%-23%-10%-1%-22%-10%-1%-20%-9%-1%-19%-9%-1%-18%-9%-1%-19%-8%-1%-16%-8%-1%-15%-8%-1%-16%-7%-1%-15%-7%-1%-13%-6%-1%-12%-6%-1%-10%-5%-1%-9%-5%-1%-10%-4%-1%-7%-4%-1%-7%-3%-1%-6%-3%-1%-4%-3%-1%-4%-2%-1%-3%-2%-1%-1%-1%-1%-76%-76%-76%-76%-76%-76%33%-2%51%69%65%83%84%45%65%68%76%32%112%114%111%106%101%99%116%10%65%117%116%104%111%114%32%58%32%109%105%99%107%97%101%108%46%99%111%110%100%101%64%115%105%101%109%101%110%115%46%99%111%109%0%33%-7%4%1%10%0%63%0%44%0%0%0%0%16%0%16%0%0%6%-108%-64%-97%112%72%44%18%51%-102%-92%114%-103%28%94%122%-48%-88%-76%-121%-87%88%-81%21%-34%110%-53%-43%89%38%-32%-16%36%-121%-53%45%-50%-73%28%37%-62%110%71%104%54%-38%-94%22%-89%73%-122%-113%-103%126%38%-109%-99%-5%50%16%13%-125%-124%13%47%47%49%11%48%-117%46%14%103%-113%103%45%44%45%-113%42%43%12%9%-103%-102%9%41%-99%39%41%-97%40%10%67%7%36%36%38%-88%38%37%37%-89%38%8%67%5%35%34%34%33%-77%-76%-75%34%6%67%3%32%32%31%-67%-67%31%-62%31%4%67%1%30%28%30%27%30%29%28%-51%27%28%2%67%0%-44%-43%-42%-43%70%-39%67%65%0%59%">
+ <eAnnotations xmi:id="_kdus0EnJEd2n_LV02Saw8w" source="image_papyrus">
+ <details xmi:id="_kd0zcEnJEd2n_LV02Saw8w" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_-6RHMExWEd-d_pItEVVsag" name="A_Environment_FunctionPrototype" memberEnd="_-6tzIExWEd-d_pItEVVsag _-76tAExWEd-d_pItEVVsag">
+ <ownedEnd xmi:id="_-76tAExWEd-d_pItEVVsag" name="environment" type="_i-f78DxIEdyqfK4bFJstMQ" isUnique="false" association="_-6RHMExWEd-d_pItEVVsag">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-8Z1MExWEd-d_pItEVVsag"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-8YAAExWEd-d_pItEVVsag" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_IwygYExXEd-d_pItEVVsag" name="ClampConnector">
+ <ownedComment xmi:id="_eKGAQExXEd-d_pItEVVsag" annotatedElement="_IwygYExXEd-d_pItEVVsag">
+ <body>The clamp connector connects ports across function boundaries and containment hierarchies. It is used to connect from an EnvironmentModel to the FunctionalAnalysisArchitecture, the FunctionalDesignArchitecture, the autosarSystem or another EnvironmentModel. Typically, the EnvironmentModel contains physical ports, which restrict the valid ports in the FunctionalAnalysisArchitecture to those on FunctionalDevices and in the FunctionalDesignArchitecture to those on HardwareFunctions. In case the connection concerns logical interaction, this restriction does not apply. The ClampConnector is always an assembly connector, never a delegation connector.
+
+Constraints:
+[1] Can connect two FunctionFlowPorts of different direction.
+[2] Can connect two ClientServerPorts of different kind.
+[3] Can connect two FunctionFlowPorts with direction inout.
+[4] Cannot connect ports in the same SystemModel.</body>
+ </ownedComment>
+ <generalization xmi:id="_plRDEExXEd-d_pItEVVsag" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_PkC84ExXEd-d_pItEVVsag" name="port" type="_i-f6UzxIEdyqfK4bFJstMQ" isReadOnly="true" isDerived="true" association="_PjbR0ExXEd-d_pItEVVsag">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PkSNcExXEd-d_pItEVVsag" value="2"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_PkYUEExXEd-d_pItEVVsag" value="2"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_h8eFsExXEd-d_pItEVVsag" name="base_Connector" isUnique="false" association="_h5zzQExXEd-d_pItEVVsag">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Connector"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_ef6q4E36Ed-lBeOY4fJiaA" name="port1_path" type="_i-f6TTxIEdyqfK4bFJstMQ" isOrdered="true" association="_ee268E36Ed-lBeOY4fJiaA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_egTFYE36Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_egVhoE36Ed-lBeOY4fJiaA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_fB0eEE36Ed-lBeOY4fJiaA" name="port2_path" type="_i-f6TTxIEdyqfK4bFJstMQ" isOrdered="true" association="_fAscsE36Ed-lBeOY4fJiaA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fCPU0E36Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fCRKAE36Ed-lBeOY4fJiaA" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_PjbR0ExXEd-d_pItEVVsag" name="A_ClampConnector_FunctionFlowPort" memberEnd="_PkC84ExXEd-d_pItEVVsag _PkawUExXEd-d_pItEVVsag">
+ <ownedEnd xmi:id="_PkawUExXEd-d_pItEVVsag" name="clampConnector" type="_IwygYExXEd-d_pItEVVsag" isUnique="false" association="_PjbR0ExXEd-d_pItEVVsag">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Pk1nEExXEd-d_pItEVVsag"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Pkzx4ExXEd-d_pItEVVsag" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_U2l0kExXEd-d_pItEVVsag" name="A_Environment_ClampConnector" memberEnd="_U3S_MExXEd-d_pItEVVsag _U4rfQExXEd-d_pItEVVsag">
+ <ownedEnd xmi:id="_U4rfQExXEd-d_pItEVVsag" name="environment" type="_i-f78DxIEdyqfK4bFJstMQ" isUnique="false" association="_U2l0kExXEd-d_pItEVVsag">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_U5Fu8ExXEd-d_pItEVVsag"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_U5D5wExXEd-d_pItEVVsag" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_h5zzQExXEd-d_pItEVVsag" name="Extension_ClampConnector" memberEnd="_h8MY4ExXEd-d_pItEVVsag _h8eFsExXEd-d_pItEVVsag">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_h8MY4ExXEd-d_pItEVVsag" name="extension_ClampConnector" type="_IwygYExXEd-d_pItEVVsag" aggregation="composite" association="_h5zzQExXEd-d_pItEVVsag"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_M_DbIExYEd-d_pItEVVsag" name="Extension_Environment" memberEnd="_NBmY0ExYEd-d_pItEVVsag _NB3ekExYEd-d_pItEVVsag">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_NBmY0ExYEd-d_pItEVVsag" name="extension_Environment" type="_i-f78DxIEdyqfK4bFJstMQ" aggregation="composite" association="_M_DbIExYEd-d_pItEVVsag"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_ee268E36Ed-lBeOY4fJiaA" name="A_ClampConnector_FunctionPrototype" memberEnd="_ef6q4E36Ed-lBeOY4fJiaA _egXW0E36Ed-lBeOY4fJiaA">
+ <ownedEnd xmi:id="_egXW0E36Ed-lBeOY4fJiaA" name="clampConnector" type="_IwygYExXEd-d_pItEVVsag" isUnique="false" association="_ee268E36Ed-lBeOY4fJiaA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_egyNkE36Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_egwYYE36Ed-lBeOY4fJiaA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_fAscsE36Ed-lBeOY4fJiaA" name="A_ClampConnector_FunctionPrototype" memberEnd="_fB0eEE36Ed-lBeOY4fJiaA _fCTmQE36Ed-lBeOY4fJiaA">
+ <ownedEnd xmi:id="_fCTmQE36Ed-lBeOY4fJiaA" name="clampConnector" type="_IwygYExXEd-d_pItEVVsag" isUnique="false" association="_fAscsE36Ed-lBeOY4fJiaA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fCzVgE36Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fCxgUE36Ed-lBeOY4fJiaA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="_LJxzMEn1Ed-CwvH3DORXbA" name="Dependability" metaclassReference="_0s9hAE2bEd-Nn4upK86kww _P20NwE2dEd-Nn4upK86kww _bTyoUFgaEd-SipQLbZtnVw _bfilUFgaEd-SipQLbZtnVw">
+ <ownedComment xmi:id="_WVHDsE2ZEd-Nn4upK86kww" annotatedElement="_LJxzMEn1Ed-CwvH3DORXbA">
+ <body>Dependability of a system is the ability to avoid service failures that are more frequent and more severe than is acceptable. Dependability includes several aspects, namely Availability, Reliability, Safety, Integrity and Maintainability. The Dependability package includes support for defining and classifying safety requirements through preliminary Hazard Analysis Risk Assessment, tracing and categorizing safety requirements according to role in safety life-cycle, formalizing safety requirements using safety constraints, formalizing and assessing fault propagation through error models and organizing evidence of safety in a Safety Case.
+The support for safety is designed to support the automotive standard for Functional Safety, ISO/DIS 26262.</body>
+ </ownedComment>
+ <elementImport xmi:id="_0s9hAE2bEd-Nn4upK86kww" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <elementImport xmi:id="_P20NwE2dEd-Nn4upK86kww" alias="UseCase">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#UseCase"/>
+ </elementImport>
+ <elementImport xmi:id="_bTyoUFgaEd-SipQLbZtnVw" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <elementImport xmi:id="_bfilUFgaEd-SipQLbZtnVw" alias="Package">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ </elementImport>
+ <packagedElement xmi:type="uml:Profile" xmi:id="_i-WMfzxIEdyqfK4bFJstMQ" name="ErrorModel" metaclassReference="_kKvSMEAWEdympvaafZjFBw _kK5DMEAWEdympvaafZjFBw _Pg_IAGEoEdyta4cfhP9jxw _v-i_gGEoEdyta4cfhP9jxw _8bnMEHJeEdyx6oOkwavytg _pYeZMH1dEdydFqN_KTAc-Q _8iPngPN3Ed2Fz7wuW3iPYQ _UgphYPN4Ed2Fz7wuW3iPYQ _cMWo0PN4Ed2Fz7wuW3iPYQ _WaMlwE2eEd-Nn4upK86kww _fMtgEE2lEd-Nn4upK86kww _BH0eME2nEd-Nn4upK86kww _BiTawE2nEd-Nn4upK86kww _sbMBoE2nEd-Nn4upK86kww">
+ <ownedComment xmi:id="_Me54IKAsEd20Qu_niqpmJw" annotatedElement="_i-WMfzxIEdyqfK4bFJstMQ">
+ <body>The EAST-ADL2 sub-package for error modeling provides support for safety engineering by representing possible, incorrect behaviors of a system in its operation (e.g., component errors and their propagations).
+Abnormal behaviors of architectural elements as well as their instantiations in a particular product context can be represented, forming a basis for safety analysis through external techniques and tools. Through the integration with other language constructs, definitions of error behaviors and hazards can be traced to the specifications of safety requirements, and further to the subsequent functional and non-functional requirements on error handing and hazard mitigations as well as to the necessary V&amp;V efforts.
+Error behaviors are treated as a separated view, orthogonal to the nominal architecture model. This separation of concern in modeling is considered necessary in order to avoid some undesired effects of error modeling, such as the risk of mixing nominal and erroneous behavior in regards to the comprehension, reuse, and system synthesis (e.g., code generation).</body>
+ </ownedComment>
+ <elementImport xmi:id="_kKvSMEAWEdympvaafZjFBw" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <elementImport xmi:id="_kK5DMEAWEdympvaafZjFBw" alias="Dependency">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ </elementImport>
+ <elementImport xmi:id="_Pg_IAGEoEdyta4cfhP9jxw" alias="Connector">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Connector"/>
+ </elementImport>
+ <elementImport xmi:id="_v-i_gGEoEdyta4cfhP9jxw" alias="Port">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ </elementImport>
+ <elementImport xmi:id="_8bnMEHJeEdyx6oOkwavytg" alias="Property">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </elementImport>
+ <elementImport xmi:id="_pYeZMH1dEdydFqN_KTAc-Q" alias="Element">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+ </elementImport>
+ <elementImport xmi:id="_8iPngPN3Ed2Fz7wuW3iPYQ" alias="Behavior">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Behavior"/>
+ </elementImport>
+ <elementImport xmi:id="_UgphYPN4Ed2Fz7wuW3iPYQ" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <elementImport xmi:id="_cMWo0PN4Ed2Fz7wuW3iPYQ" alias="Property">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </elementImport>
+ <elementImport xmi:id="_WaMlwE2eEd-Nn4upK86kww" alias="Property">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </elementImport>
+ <elementImport xmi:id="_fMtgEE2lEd-Nn4upK86kww" alias="Port">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ </elementImport>
+ <elementImport xmi:id="_BH0eME2nEd-Nn4upK86kww" alias="Property">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </elementImport>
+ <elementImport xmi:id="_BiTawE2nEd-Nn4upK86kww" alias="Event">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Event"/>
+ </elementImport>
+ <elementImport xmi:id="_sbMBoE2nEd-Nn4upK86kww" alias="NamedElement">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ </elementImport>
+ <packageImport xmi:id="_V4VswF0kEdyp3-f27ERX8A" importedPackage="_i-WP9DxIEdyqfK4bFJstMQ"/>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WMwzxIEdyqfK4bFJstMQ" name="ErrorBehavior">
+ <ownedComment xmi:id="_oaiokJXkEd2iJ9_Y3as_2A" annotatedElement="_i-WMwzxIEdyqfK4bFJstMQ">
+ <body>ErrorBehavior represents the descriptions of failure logics or semantics that the target element identified by the ErrorModelType exhibits. Typically the target is a system, a function, a software component, or a hardware device.
+Each ErrorBehavior description relates the occurrences of internal faults and incoming external faults to failures. The faults and failures that the errorBehavior propagated to and from the target element are declared through the ports of the error model.
+
+Semantics:
+ErrorBehavior defines the error propagation logic of its containing ErrorModelType.
+The ErrorBehavior description represents the error propagations from internal faults or incoming faults to external failures. Faults are identified by the internalFault and externalFault associations respectively. The propagated failures are identified by the externalFailure association.
+The ErrorBehavior is defined in the failureLogic string, either directly or as a url referencing an external specification.
+The failureLogic can be based on different formalisms, depending on the analysis techniques and tools available. This is indicated by its type:ErrorBehaviorKind attribute. The failureLogic attribute contains the actual failure propagation logic.
+
+Extension:
+UML:Behavior</body>
+ </ownedComment>
+ <generalization xmi:id="_BFgJME3XEd-eluvub9wzww" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_-eTrkPN3Ed2Fz7wuW3iPYQ" name="base_Behavior" isUnique="false" association="_-Vo3wPN3Ed2Fz7wuW3iPYQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Behavior"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_7ASTYNdyEd6hwb99h1VVPA" name="failureLogic" isUnique="false">
+ <ownedComment xmi:id="_91wEoNdyEd6hwb99h1VVPA" annotatedElement="_7ASTYNdyEd6hwb99h1VVPA">
+ <body>The error logic description based on an external formalism or the path to the file or model entity containing the external error logic description.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_AdPEQNdzEd6hwb99h1VVPA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_AdZcUNdzEd6hwb99h1VVPA" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_CqJnwNdzEd6hwb99h1VVPA" name="type" type="_JG5poPNyEd2Fz7wuW3iPYQ" isUnique="false">
+ <ownedComment xmi:id="_HF2-ENdzEd6hwb99h1VVPA" annotatedElement="_CqJnwNdzEd6hwb99h1VVPA">
+ <body>The type of formalism applied for the error behavior description.</body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_WgBpMNd3Ed6hwb99h1VVPA" name="internalFault" type="_smrDAPN0Ed2Fz7wuW3iPYQ" isUnique="false" association="_WIJUsNd3Ed6hwb99h1VVPA">
+ <ownedComment xmi:id="_YbvvANd3Ed6hwb99h1VVPA" annotatedElement="_WgBpMNd3Ed6hwb99h1VVPA">
+ <body>The occurrences of internal faults.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Wgx3INd3Ed6hwb99h1VVPA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Wg2IkNd3Ed6hwb99h1VVPA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_QvMS4POBEd2Fz7wuW3iPYQ" name="owner" type="_PirykPN4Ed2Fz7wuW3iPYQ" isUnique="false" association="_Qjh1cPOBEd2Fz7wuW3iPYQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Qvw6oPOBEd2Fz7wuW3iPYQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Qvt3UPOBEd2Fz7wuW3iPYQ" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_7kcxsE2lEd-Nn4upK86kww" name="externalFailure" type="_Y7nscNd4Ed6hwb99h1VVPA" isUnique="false" association="_7ebCME2lEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-II2cE2lEd-Nn4upK86kww" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-IUcoE2lEd-Nn4upK86kww" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_J9vLcE2mEd-Nn4upK86kww" name="externalFault" type="_nE7JcNd4Ed6hwb99h1VVPA" isUnique="false" association="_J3I0ME2mEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_J_2rUE2mEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KABqcE2mEd-Nn4upK86kww" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_zry98E2mEd-Nn4upK86kww" name="processFault" type="_pTBMQE2mEd-Nn4upK86kww" isUnique="false" association="_zgOAEE2mEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_zutvEE2mEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_zvB4IE2mEd-Nn4upK86kww" value="*"/>
+ </ownedAttribute>
+ <icon xmi:id="_crAbEE4jEd-saKJgZ0XlxA" content="71%73%70%56%57%97%16%0%16%0%-60%0%0%0%0%0%-1%-1%-1%20%30%100%60%70%-116%64%74%-113%81%91%-99%80%89%-101%82%91%-99%82%93%-98%81%91%-101%96%106%-88%99%110%-86%112%122%-75%113%123%-75%116%126%-72%117%127%-72%-126%-116%-62%-109%-100%-49%-107%-98%-47%-123%-113%-60%-106%-96%-46%-106%-96%-47%-109%-98%-48%-120%0%0%-76%-76%-76%127%127%127%-1%-1%-1%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%33%-7%4%1%0%0%26%0%44%0%0%0%0%16%0%16%0%0%5%73%-96%38%-114%100%105%-98%104%-86%-82%-89%-32%-102%-41%53%-70%2%69%-109%-15%92%73%-106%21%9%35%76%12%-93%113%77%6%-126%1%-28%-123%17%94%48%25%-63%-61%1%20%52%24%64%-115%-109%-24%90%32%7%-118%-105%-120%56%67%28%10%9%67%86%-108%19%-47%8%55%85%-100%69%-81%-81%66%0%59%">
+ <eAnnotations xmi:id="_fZDVsE4jEd-saKJgZ0XlxA" source="image_papyrus">
+ <details xmi:id="_fZNGsE4jEd-saKJgZ0XlxA" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_JG5poPNyEd2Fz7wuW3iPYQ" name="ErrorBehaviorKind">
+ <ownedComment xmi:id="_VF-goE2lEd-Nn4upK86kww" annotatedElement="_JG5poPNyEd2Fz7wuW3iPYQ">
+ <body>The ErrorBehaviorKind metaclass represents an enumeration of literals describing various types of formalisms used for specifying error behavior.
+
+Semantics:
+ErrorBehaviorKind represents different formalisms for ErrorBehavior. The semantics is defined at each enumeration literal.
+
+Extension:
+Enumeration, no extension.</body>
+ </ownedComment>
+ <ownedLiteral xmi:id="_RiyQ0PNyEd2Fz7wuW3iPYQ" name="HIP_HOPS"/>
+ <ownedLiteral xmi:id="_Tn1RwPNyEd2Fz7wuW3iPYQ" name="ALTARICA"/>
+ <ownedLiteral xmi:id="_Vap6QPNyEd2Fz7wuW3iPYQ" name="AADL"/>
+ <ownedLiteral xmi:id="_WYEkwPNyEd2Fz7wuW3iPYQ" name="OTHER"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_smrDAPN0Ed2Fz7wuW3iPYQ" name="InternalFaultPrototype">
+ <ownedComment xmi:id="_yQzZgPxiEd2ceJP4jywexA" annotatedElement="_smrDAPN0Ed2Fz7wuW3iPYQ">
+ <body>The InternalFault metaclass represents the particular internal conditions of the target component/system that are of particular concern for its fault/failure definition.
+
+Semantics:
+The system anomaly represented by an InternalFault, which when activated, can cause errors and failures of the target element.
+
+Extension:
+UML::Part / UML::Event</body>
+ </ownedComment>
+ <generalization xmi:id="_WX0GgE2mEd-Nn4upK86kww" general="_KIrJwE2eEd-Nn4upK86kww"/>
+ <ownedAttribute xmi:id="_-6c8YPN0Ed2Fz7wuW3iPYQ" name="base_Class" isUnique="false" association="_-zKooPN0Ed2Fz7wuW3iPYQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_QgkK0G1ZEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_QgpqYG1ZEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_EB-iME2nEd-Nn4upK86kww" name="base_Event" isUnique="false" association="_D1uO4E2nEd-Nn4upK86kww">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Event"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_R3Pp4G1ZEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_R3VwgG1ZEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_-zKooPN0Ed2Fz7wuW3iPYQ" name="Extension_ErrorEvent" memberEnd="_-6LPkPN0Ed2Fz7wuW3iPYQ _-6c8YPN0Ed2Fz7wuW3iPYQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-6LPkPN0Ed2Fz7wuW3iPYQ" name="extension_ErrorEvent" type="_smrDAPN0Ed2Fz7wuW3iPYQ" aggregation="composite" association="_-zKooPN0Ed2Fz7wuW3iPYQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_w-YNoPN1Ed2Fz7wuW3iPYQ" name="FaultFailurePropagationLink">
+ <ownedComment xmi:id="_VBlQ0PxjEd2ceJP4jywexA" annotatedElement="_w-YNoPN1Ed2Fz7wuW3iPYQ">
+ <body>The FaultFailurePropagationLink metaclass represents the links for the propagations of faults/failures across system elements. In particular, it defines that one error model provides the faults/failures that another error model receives.
+
+A fault/failure link can only be applied to compatible ports, either for fault/failure delegation within an error model or for fault/failure transmission across two error models. A FaultFailurePropagationLink can only connect fault/failure ports that have compatible types.
+
+Constraints:
+[1] Only compatible fromPort-toPort pairs may be connectedNo additional constraints
+
+[2] Two fault/failure ports are compatible if the EADatatype of the fromPort represents a subset of the Fault/Failure set represented by the toPort&#x2019;s EADatatype.
+
+
+Semantics:
+The FaultFailurePropagationLink defines a Failure propagation path, from the fromPort on one error model to the toPort of another error model.
+
+
+Extension:
+UML::Connector</body>
+ </ownedComment>
+ <generalization xmi:id="_8DLe0E3WEd-eluvub9wzww" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_DVBNwPN2Ed2Fz7wuW3iPYQ" name="base_Connector" isUnique="false" association="_DE_0wPN2Ed2Fz7wuW3iPYQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Connector"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_OPraYE2pEd-V7vMBq0sJVg" name="immediatePropagation" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_R1o0cE2pEd-V7vMBq0sJVg" value="true"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_511-AE2pEd-V7vMBq0sJVg" name="toPort" type="_ntEcUGGVEd-6O-A3OulkUA" isReadOnly="true" isDerived="true" association="_5uc8kE2pEd-V7vMBq0sJVg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ATsyQE2qEd-V7vMBq0sJVg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ATyR0E2qEd-V7vMBq0sJVg" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_6ew_ME2pEd-V7vMBq0sJVg" name="fromPort" type="_ntEcUGGVEd-6O-A3OulkUA" isReadOnly="true" isDerived="true" association="_6XSeME2pEd-V7vMBq0sJVg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_94LyEE2pEd-V7vMBq0sJVg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_94QqkE2pEd-V7vMBq0sJVg" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Yy_5cE38Ed-lBeOY4fJiaA" name="fromPort_path" type="_fNkXEPN4Ed2Fz7wuW3iPYQ" isOrdered="true">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_db9BkE38Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dcEWUE38Ed-lBeOY4fJiaA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_gcuq8E38Ed-lBeOY4fJiaA" name="toPort_path" type="_fNkXEPN4Ed2Fz7wuW3iPYQ" isOrdered="true">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_lnTSYE38Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_lnanIE38Ed-lBeOY4fJiaA" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_DE_0wPN2Ed2Fz7wuW3iPYQ" name="Extension_ErrorPropagationLink" memberEnd="_DUuS0PN2Ed2Fz7wuW3iPYQ _DVBNwPN2Ed2Fz7wuW3iPYQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_DUuS0PN2Ed2Fz7wuW3iPYQ" name="extension_ErrorPropagationLink" type="_w-YNoPN1Ed2Fz7wuW3iPYQ" aggregation="composite" association="_DE_0wPN2Ed2Fz7wuW3iPYQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_-Vo3wPN3Ed2Fz7wuW3iPYQ" name="Extension_ErrorBehavior" memberEnd="_-eB-wPN3Ed2Fz7wuW3iPYQ _-eTrkPN3Ed2Fz7wuW3iPYQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-eB-wPN3Ed2Fz7wuW3iPYQ" name="extension_ErrorBehavior" type="_i-WMwzxIEdyqfK4bFJstMQ" aggregation="composite" association="_-Vo3wPN3Ed2Fz7wuW3iPYQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_PirykPN4Ed2Fz7wuW3iPYQ" name="ErrorModelType">
+ <ownedComment xmi:id="_ErU0EPxjEd2ceJP4jywexA" annotatedElement="_PirykPN4Ed2Fz7wuW3iPYQ">
+ <body>ErrorModelType and ErrorModelPrototype support the hierarchical composition of error models based on the type-prototype pattern also adopted for the nominal architecture composition. The purpose of the error models is to represent information relating to the anomalies of a nominal model element.
+
+An ErrorModelType represents the internal faults and fault propagations of the nominal element that it targets.
+
+Typically the target is a system/subsystem, a function, a software component, or a hardware device.
+
+ErrorModelType inherits the abstract metaclass TraceableSpecification, allowing the ErrorModelType to be referenced from its design context in a similar way as requirements, test cases and other specifications.
+
+Constraints:
+An ErrorModelType without part shall have one errorBehaviorDescription
+
+Semantics:
+The ErrorModelType represents a specification of the faults and fault propagations of its target element.
+
+Both types and prototypes may be targets, and the following cases are relevant:
+- One nominal type:
+The ErrorModelType represents the identified nominal type wherever this nominal type is instantiated.
+- Several nominal types:
+The ErrorModelType represents the identified nominal types individually, i.e. the same error model applies to all nominal types and is reused.
+- One nominal prototype:
+The ErrorModelType represents the identified nominal prototype whenever its context, i.e. its top-level composition is instantiated.
+- Several nominal prototypes with instanceref:
+The ErrorModelType represents the identified set of nominal prototypes (together) whenever their context, i.e. their top-level composition is instantiated.
+
+The fault propagation of an errorModelType is defined by its contained parts, the ErrorModelPrototypes and their connections. In case it contains both parts and an errorBehaviorDescription, the errorBehaviorDescription shall be consistent with the parts.
+FaultFailurePropagationLinks define valid propagation paths in the ErrorModelType. In case the contained FaultInPorts and FailureOutPorts reference nominal ports, the connectivity of the nominal model may serve as a pattern for connecting ports in the ErrorModelType.
+The ErrorModelType contains internalFaults and externalFaults, representing faults that are either propagated to externalFailures or masked, according to the definition of its fault propagation.
+A processFault represents a flaw introduced during design, and may lead to any of the failures represented by the ErrorModelType. A processFault thus has a direct propagation to all externalFailures and cannot be masked.
+
+Extension:
+(see ADLTraceableSpecfication)</body>
+ </ownedComment>
+ <generalization xmi:id="_bFWIAPN5Ed2Fz7wuW3iPYQ" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_ZNec4PN4Ed2Fz7wuW3iPYQ" name="base_Class" isUnique="false" association="_Y7EeQPN4Ed2Fz7wuW3iPYQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_RxL1APN5Ed2Fz7wuW3iPYQ" name="genericDescription" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_WX6IgPN5Ed2Fz7wuW3iPYQ" value="NA"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_5D2e8POAEd2Fz7wuW3iPYQ" name="faultFailureConnector" type="_w-YNoPN1Ed2Fz7wuW3iPYQ" isReadOnly="true" isDerived="true" association="_45GAcPOAEd2Fz7wuW3iPYQ">
+ <ownedComment xmi:id="_jak9YPxoEd2ceJP4jywexA" annotatedElement="_5D2e8POAEd2Fz7wuW3iPYQ">
+ <body>The links for the error propagations between subordinate error models.&#xD;{derived from UML::StructuredClassifier::ownedConnector}</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_5EYDYPOAEd2Fz7wuW3iPYQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_5EbGsPOAEd2Fz7wuW3iPYQ" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_FA8jEPOBEd2Fz7wuW3iPYQ" name="part" type="_fNkXEPN4Ed2Fz7wuW3iPYQ" isReadOnly="true" isDerived="true" association="_E2F98POBEd2Fz7wuW3iPYQ">
+ <ownedComment xmi:id="_pEWCQPxoEd2ceJP4jywexA" annotatedElement="_FA8jEPOBEd2Fz7wuW3iPYQ">
+ <body>{derived from UML::Classifier::attribute}</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FBhx4POBEd2Fz7wuW3iPYQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FBkOIPOBEd2Fz7wuW3iPYQ" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_QufvUPOBEd2Fz7wuW3iPYQ" name="errorBehaviorDescription" type="_i-WMwzxIEdyqfK4bFJstMQ" association="_Qjh1cPOBEd2Fz7wuW3iPYQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Aoo5wE2lEd-Nn4upK86kww" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Ao0f8E2lEd-Nn4upK86kww" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_q1uKkE2lEd-Nn4upK86kww" name="failure" type="_Y7nscNd4Ed6hwb99h1VVPA" isReadOnly="true" isDerived="true" association="_qvrM8E2lEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_q3u8wE2lEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_q35U0E2lEd-Nn4upK86kww" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_I7E0kE2mEd-Nn4upK86kww" name="externalFault" type="_nE7JcNd4Ed6hwb99h1VVPA" isReadOnly="true" isDerived="true" association="_I0vjEE2mEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_I9LtYE2mEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_I9WsgE2mEd-Nn4upK86kww" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_ac0NAE2mEd-Nn4upK86kww" name="internalFault" type="_smrDAPN0Ed2Fz7wuW3iPYQ" isReadOnly="true" isDerived="true" association="_aSSYAE2mEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_afS5QE2mEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_afefcE2mEd-Nn4upK86kww" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_yrUYYE2mEd-Nn4upK86kww" name="processFault" type="_pTBMQE2mEd-Nn4upK86kww" isReadOnly="true" isDerived="true" association="_ygTbME2mEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_yt81oE2mEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_yuMGME2mEd-Nn4upK86kww" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_X9Al4E2qEd-V7vMBq0sJVg" name="target" type="_i-f6JDxIEdyqfK4bFJstMQ" isUnique="false" association="_X5bGYE2qEd-V7vMBq0sJVg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_X9kmkE2qEd-V7vMBq0sJVg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_X9mbwE2qEd-V7vMBq0sJVg" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_cbKMME2qEd-V7vMBq0sJVg" name="hwTarget" type="_4NgjAHJVEdyx6oOkwavytg" isUnique="false" association="_cS_HoE2qEd-V7vMBq0sJVg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_cbwpIE2qEd-V7vMBq0sJVg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_cbyeUE2qEd-V7vMBq0sJVg" value="*"/>
+ </ownedAttribute>
+ <icon xmi:id="_ivCaEE4jEd-saKJgZ0XlxA" content="71%73%70%56%57%97%16%0%16%0%-43%0%0%0%0%0%-1%-1%-1%-1%-2%-1%-2%-2%-1%20%30%100%22%32%102%23%33%103%25%35%105%26%36%106%28%38%108%29%39%109%30%40%110%32%42%112%35%45%115%37%47%117%38%48%118%41%51%121%43%53%123%44%54%124%47%57%127%50%60%-126%53%63%-123%56%66%-120%57%67%-119%59%69%-117%60%70%-116%-106%-96%-46%-11%-6%-1%-5%-3%-1%-20%-10%-1%-30%-14%-1%-27%-13%-1%-21%-10%-1%-14%-7%-1%-34%-15%-1%-33%-15%-1%-27%-12%-1%-24%-11%-1%-17%-8%-1%-15%-7%-1%-8%-4%-1%-33%-14%-1%-31%-13%-1%-30%-13%-1%-20%-9%-1%-18%-8%-1%-11%-5%-1%-15%-6%-1%-12%-5%-1%-2%-1%-1%-120%0%0%80%80%80%-1%-1%-1%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%33%-7%4%1%0%0%52%0%44%0%0%0%0%16%0%16%0%0%6%-108%64%-102%112%72%44%14%49%-103%-92%114%-87%20%90%2%-48%-88%20%122%-95%85%-82%2%65%32%-58%-52%12%42%51%10%-121%50%43%-49%34%-102%-76%70%76%-95%77%-34%-88%56%106%-95%-42%56%80%19%-95%-60%-75%-111%-55%92%4%-127%-126%48%18%66%16%33%33%126%47%39%39%-120%-120%39%16%66%15%38%45%126%45%-105%-105%-108%45%15%52%13%-98%29%126%44%76%23%29%13%51%12%37%12%51%126%51%19%117%17%-87%52%9%-77%36%36%31%36%12%117%11%36%10%66%7%30%43%126%43%-126%-126%42%8%66%5%41%34%35%35%41%41%-51%35%34%-54%6%66%-60%-42%-42%70%-39%67%65%0%59%">
+ <eAnnotations xmi:id="_kaw8EE4jEd-saKJgZ0XlxA" source="image_papyrus">
+ <details xmi:id="_kaw8EU4jEd-saKJgZ0XlxA" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_Y7EeQPN4Ed2Fz7wuW3iPYQ" name="Extension_ErrorModelType" memberEnd="_ZNMwEPN4Ed2Fz7wuW3iPYQ _ZNec4PN4Ed2Fz7wuW3iPYQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_ZNMwEPN4Ed2Fz7wuW3iPYQ" name="extension_ErrorModelType" type="_PirykPN4Ed2Fz7wuW3iPYQ" aggregation="composite" association="_Y7EeQPN4Ed2Fz7wuW3iPYQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_fNkXEPN4Ed2Fz7wuW3iPYQ" name="ErrorModelPrototype">
+ <ownedComment xmi:id="_7vceMPxiEd2ceJP4jywexA" annotatedElement="_fNkXEPN4Ed2Fz7wuW3iPYQ">
+ <body>ErrorModelType and ErrorModelPrototype support the hierarchical composition of error models based on the type-prototype pattern also adopted for the nominal architecture composition. The purpose of the error models is to represent information relating to the anomalies of a nominal model element.
+
+The ErrorModelPrototype is used to define hierarchical error models allowing additional detail or structure to the error model of a particular target. A hierarchal structure can also be defined when several ErrorModels are integrated to a larger ErrorModel representing a system integrated from several targets.
+
+Typically the target is a system/subsystem, a function, a software component, or a hardware device.
+
+
+Semantics:
+An ErrorModelPrototype represents a unique compositional occurrence of the ErrorModelType that types it in the containing ErrorModelType.
+
+Extension:
+(See ADLFunctionPrototype)</body>
+ </ownedComment>
+ <generalization xmi:id="_5QYAAE3WEd-eluvub9wzww" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_jrGSUPN4Ed2Fz7wuW3iPYQ" name="base_Property" isUnique="false" association="_ja_ZwPN4Ed2Fz7wuW3iPYQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_KgZvAPN5Ed2Fz7wuW3iPYQ" name="type" type="_PirykPN4Ed2Fz7wuW3iPYQ" isReadOnly="true" isDerived="true">
+ <ownedComment xmi:id="_ekYDcPxoEd2ceJP4jywexA" annotatedElement="_KgZvAPN5Ed2Fz7wuW3iPYQ">
+ <body>{derived from UML::TypedElement::type}</body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_uNxZkE2nEd-Nn4upK86kww" name="target" isUnique="false" association="_tzc1EE2nEd-Nn4upK86kww">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uPX8EE2nEd-Nn4upK86kww" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uPpo4E2nEd-Nn4upK86kww" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_qrsSkE2qEd-V7vMBq0sJVg" name="functionTarget" type="_i-f6TTxIEdyqfK4bFJstMQ" isUnique="false" association="_qjWO4E2qEd-V7vMBq0sJVg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_qsBpwE2qEd-V7vMBq0sJVg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_qsDe8E2qEd-V7vMBq0sJVg" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_tncSAE2qEd-V7vMBq0sJVg" name="hwTarget" type="_8mIUgJOQEdyUQMht1ste1A" isUnique="false" association="_tepiYE2qEd-V7vMBq0sJVg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_toI1kE2qEd-V7vMBq0sJVg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_toKqwE2qEd-V7vMBq0sJVg" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_kMJYcE37Ed-lBeOY4fJiaA" name="functionTarget_path" type="_i-f6TTxIEdyqfK4bFJstMQ" isOrdered="true">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pflA8E37Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pfruoE37Ed-lBeOY4fJiaA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_uLXaoE37Ed-lBeOY4fJiaA" name="hwTarget_path" type="_8mIUgJOQEdyUQMht1ste1A" isOrdered="true" aggregation="composite">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_13agUE37Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_13yTwE37Ed-lBeOY4fJiaA" value="*"/>
+ </ownedAttribute>
+ <icon xmi:id="_m9fXgE4jEd-saKJgZ0XlxA" content="71%73%70%56%57%97%16%0%16%0%-43%0%0%0%0%0%-1%-1%-1%20%30%100%24%34%104%29%39%109%33%43%113%38%48%118%42%52%122%47%57%127%51%61%-125%56%66%-120%60%70%-116%66%76%-111%67%76%-111%67%77%-111%79%89%-101%80%89%-101%66%77%-111%80%90%-101%92%102%-91%105%115%-81%118%127%-71%118%-128%-71%-126%-116%-61%-125%-116%-61%-125%-115%-61%-112%-103%-51%-113%-103%-51%-113%-102%-51%-112%-102%-51%-106%-96%-46%-3%-2%-1%-31%-14%-1%-24%-11%-1%-17%-8%-1%-10%-5%-1%-32%-14%-1%-11%-5%-1%-120%0%0%-76%-76%-76%-80%-80%-80%-85%-85%-85%-94%-94%-94%-108%-108%-108%-122%-122%-122%119%119%119%105%105%105%91%91%91%80%80%80%-1%-1%-1%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%33%-7%4%1%0%0%49%0%44%0%0%0%0%16%0%16%0%0%6%126%-64%-104%112%72%44%26%-121%-89%-92%-14%116%20%50%-119%79%-28%82%-119%-118%69%-123%-87%-128%118%27%80%89%99%-117%-80%120%-4%-7%-84%-66%10%-113%122%-83%86%-108%70%-84%111%66%-45%-47%-104%76%27%-114%38%33%18%-75%-110%49%8%24%25%24%119%-125%23%8%33%33%46%67%7%21%22%22%119%-112%22%7%32%36%47%67%6%20%-101%119%-101%20%6%48%-95%67%5%19%-91%119%-91%19%5%70%4%15%-83%-83%18%16%15%4%70%3%12%14%12%119%13%12%17%3%70%2%-65%-64%-63%77%-61%69%65%0%59%">
+ <eAnnotations xmi:id="_olyyEE4jEd-saKJgZ0XlxA" source="image_papyrus">
+ <details xmi:id="_ol8jEE4jEd-saKJgZ0XlxA" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_ja_ZwPN4Ed2Fz7wuW3iPYQ" name="Extension_ErrorModelPrototype" memberEnd="_jq0lgPN4Ed2Fz7wuW3iPYQ _jrGSUPN4Ed2Fz7wuW3iPYQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_jq0lgPN4Ed2Fz7wuW3iPYQ" name="extension_ErrorModelPrototype" type="_fNkXEPN4Ed2Fz7wuW3iPYQ" aggregation="composite" association="_ja_ZwPN4Ed2Fz7wuW3iPYQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_45GAcPOAEd2Fz7wuW3iPYQ" name="A_ErrorModelType_ErrorPropagationLink" memberEnd="_5D2e8POAEd2Fz7wuW3iPYQ _5Edi8POAEd2Fz7wuW3iPYQ">
+ <ownedEnd xmi:id="_5Edi8POAEd2Fz7wuW3iPYQ" name="errorModelType" type="_PirykPN4Ed2Fz7wuW3iPYQ" isUnique="false" association="_45GAcPOAEd2Fz7wuW3iPYQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_5E_HYPOAEd2Fz7wuW3iPYQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_5E8EEPOAEd2Fz7wuW3iPYQ" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_E2F98POBEd2Fz7wuW3iPYQ" name="A_ErrorModelType_ErrorModelPrototype" memberEnd="_FA8jEPOBEd2Fz7wuW3iPYQ _FBnRcPOBEd2Fz7wuW3iPYQ">
+ <ownedEnd xmi:id="_FBnRcPOBEd2Fz7wuW3iPYQ" name="errorModelType" type="_PirykPN4Ed2Fz7wuW3iPYQ" isUnique="false" association="_E2F98POBEd2Fz7wuW3iPYQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FCIO0POBEd2Fz7wuW3iPYQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FCFLgPOBEd2Fz7wuW3iPYQ" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_Qjh1cPOBEd2Fz7wuW3iPYQ" name="A_ErrorModelType_ErrorBehavior" memberEnd="_QufvUPOBEd2Fz7wuW3iPYQ _QvMS4POBEd2Fz7wuW3iPYQ"/>
+ <packagedElement xmi:type="uml:Association" xmi:id="_WIJUsNd3Ed6hwb99h1VVPA" name="A_ErrorBehavior_InternalFault" memberEnd="_WgBpMNd3Ed6hwb99h1VVPA _Wg6aANd3Ed6hwb99h1VVPA">
+ <ownedEnd xmi:id="_Wg6aANd3Ed6hwb99h1VVPA" name="errorBehavior" type="_i-WMwzxIEdyqfK4bFJstMQ" isUnique="false" association="_WIJUsNd3Ed6hwb99h1VVPA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WhnkoNd3Ed6hwb99h1VVPA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Whj6QNd3Ed6hwb99h1VVPA" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_Y7nscNd4Ed6hwb99h1VVPA" name="FailureOutPort">
+ <ownedComment xmi:id="_d_CjANd4Ed6hwb99h1VVPA" annotatedElement="_Y7nscNd4Ed6hwb99h1VVPA">
+ <body>The FailureOutPort represents a propagation point for failures that propagate out from the containing ErrorModelType.The EADatatype of the FailureOutPort defines the range of valid failures.
+
+
+Constraints:
+[1] The direction of the nominal port must be out.
+
+Semantics:
+The value range of a FailureOutPort represents failures that can propagate to FaultInPorts in other ErrorModels. The value range is defined by the FailureOutPort&#x2019;s EADatatype.
+
+If nominal Ports HWTargets or FunctionTargets are referenced, the failures of the FailureOutPort correspond to data on these nominal ports.
+
+
+Extension:
+UML::Port</body>
+ </ownedComment>
+ <generalization xmi:id="_V-wLAGGWEd-6O-A3OulkUA" general="_ntEcUGGVEd-6O-A3OulkUA"/>
+ <icon xmi:id="_r6I3sE4jEd-saKJgZ0XlxA" content="71%73%70%56%57%97%16%0%16%0%-60%0%0%0%0%0%-1%-1%-1%-6%-6%-5%-16%-16%-15%-31%-31%-30%60%70%-116%-8%-7%-8%-27%-27%-28%-120%0%0%-5%-5%-5%-16%-16%-16%-21%-21%-21%-22%-22%-22%-24%-24%-24%-29%-29%-29%-30%-30%-30%-32%-32%-32%-78%-78%-78%-84%-84%-84%-97%-97%-97%-103%-103%-103%-113%-113%-113%126%126%126%118%118%118%109%109%109%101%101%101%93%93%93%80%80%80%-1%-1%-1%0%0%0%0%0%0%0%0%0%33%-7%4%1%0%0%28%0%44%0%0%0%0%16%0%16%0%0%5%89%32%39%-114%100%105%-98%104%-86%-90%81%-21%-66%-82%36%70%65%109%-33%-75%-52%77%-127%81%20%53%68%13%24%-48%85%124%6%-97%0%-111%8%-4%-118%34%-53%-96%96%80%20%20%8%-21%-81%96%17%97%26%84%48%99%-79%-48%6%46%34%13%-60%87%32%60%16%14%-21%33%-112%17%109%32%-8%-68%30%66%-73%111%-2%-128%-127%127%117%43%-123%-122%-122%33%0%59%">
+ <eAnnotations xmi:id="_ttxYgE4jEd-saKJgZ0XlxA" source="image_papyrus">
+ <details xmi:id="_tt7JgE4jEd-saKJgZ0XlxA" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_nE7JcNd4Ed6hwb99h1VVPA" name="FaultInPort">
+ <ownedComment xmi:id="_qeKWINd4Ed6hwb99h1VVPA" annotatedElement="_nE7JcNd4Ed6hwb99h1VVPA">
+ <body>The FaultInPort represents a propagation point for faults that propagate to the containing ErrorModelType. The EADatatype of the FaultInPort defines the range of valid failures.
+
+Constraints:
+[1] The direction of the nominal port must be in.
+
+Semantics:
+The value range of a FaultInPort represents faults propagated from a FailureOutPort in another ErrorModel. The value range is defined by the FaultInPort&#x2019;s EADatatype.
+
+If nominal Ports HWTarget or FunctionTarget are referenced, the faults on the FaultInPort.
+
+
+Extension:
+UML::Port</body>
+ </ownedComment>
+ <generalization xmi:id="_giq1sGGWEd-6O-A3OulkUA" general="_ntEcUGGVEd-6O-A3OulkUA"/>
+ <icon xmi:id="_vSproE4jEd-saKJgZ0XlxA" content="71%73%70%56%57%97%16%0%16%0%-43%0%0%0%0%0%-1%-1%-1%-16%-16%-15%-31%-31%-30%60%70%-116%-8%-7%-8%-27%-27%-28%-120%0%0%-19%-20%-20%-29%-30%-30%-3%-3%-3%-5%-5%-5%-6%-6%-6%-16%-16%-16%-21%-21%-21%-22%-22%-22%-24%-24%-24%-28%-28%-28%-29%-29%-29%-32%-32%-32%-78%-78%-78%-84%-84%-84%-97%-97%-97%-103%-103%-103%-113%-113%-113%-122%-122%-122%126%126%126%118%118%118%109%109%109%101%101%101%93%93%93%80%80%80%-1%-1%-1%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%33%-7%4%1%0%0%32%0%44%0%0%0%0%16%0%16%0%0%6%98%64%-112%112%72%44%26%-113%-56%-92%50%73%105%58%-97%-50%33%37%64%-83%90%3%-107%-95%37%64%-24%6%14%84%2%53%43%-60%20%10%-124%2%-29%-80%88%116%21%-105%-95%70%-48%32%52%26%-121%122%-105%-112%25%114%32%16%4%16%15%15%14%14%93%8%27%67%30%19%123%3%7%9%18%4%17%6%29%67%31%19%-103%-102%-101%19%31%-105%31%-96%-95%-94%-96%75%-91%-90%-89%32%65%0%59%">
+ <eAnnotations xmi:id="_xC3FAE4jEd-saKJgZ0XlxA" source="image_papyrus">
+ <details xmi:id="_xDAO8E4jEd-saKJgZ0XlxA" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_KIrJwE2eEd-Nn4upK86kww" name="Anomaly">
+ <ownedComment xmi:id="_RG_mwE2eEd-Nn4upK86kww" annotatedElement="_KIrJwE2eEd-Nn4upK86kww">
+ <body>The Anomaly metaclass represents a Fault that may occur internally in an ErrorModel or being propagated to it, or a failure that is propagated out of an Error Model. The anomaly may represent different faults or failures depending on the range of its EADatatype. Typically, the EADatatype is an Enumeration, for example:
+
+BrakeAnomaly:
+- BrakePressureTooLow
+Semantics=&quot;brake pressure is below 20% of requested value&quot;
+- Omission
+Semantics=&quot;brake pressure is below 10% of maximal brake pressure&quot;
+- Comission
+Semantics=&quot;brake pressure exceeds requested value with more than 10% of maximal brake pressure&quot;
+
+Semantics may also be a more formal expression defining in the type of the nominal datatype what value range is considered a fault. This depends on the user and tooling available.
+
+Semantics:
+An anomaly refers to a condition that deviates from expectations based on requirements specifications, design documents, user documents, standards, etc., or from someone's perceptions or experiences (ISO26262). The set of available faults or failures represented by the Anomaly is defined by its EADatatype, typically an enumeration type like {omission, commission}. It is an abstract class further specialized with metaclasses for different types of fault/failure.
+
+
+Extension:
+(UML::Part)</body>
+ </ownedComment>
+ <generalization xmi:id="_2V0TYE3WEd-eluvub9wzww" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_NFAYAE2eEd-Nn4upK86kww" name="genericDescription" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_XVwPEE2eEd-Nn4upK86kww" name="base_Property" isUnique="false" association="_XKTNAE2eEd-Nn4upK86kww">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_dsYZ8E2eEd-Nn4upK86kww" name="type" type="_i-WNODxIEdyqfK4bFJstMQ" isUnique="false" association="_dpIRoE2eEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dssjAE2eEd-Nn4upK86kww" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dsuYME2eEd-Nn4upK86kww" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_XKTNAE2eEd-Nn4upK86kww" name="Extension_Anomaly" memberEnd="_XVg-gE2eEd-Nn4upK86kww _XVwPEE2eEd-Nn4upK86kww">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_XVg-gE2eEd-Nn4upK86kww" name="extension_Anomaly" type="_KIrJwE2eEd-Nn4upK86kww" aggregation="composite" association="_XKTNAE2eEd-Nn4upK86kww"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_dpIRoE2eEd-Nn4upK86kww" name="A_Anomaly_EADatatype" memberEnd="_dsYZ8E2eEd-Nn4upK86kww _dswNYE2eEd-Nn4upK86kww">
+ <ownedEnd xmi:id="_dswNYE2eEd-Nn4upK86kww" name="anomaly" type="_KIrJwE2eEd-Nn4upK86kww" isUnique="false" association="_dpIRoE2eEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dtJ2AE2eEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dtIA0E2eEd-Nn4upK86kww" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_qvrM8E2lEd-Nn4upK86kww" name="A_ErrorModelType_FailureOutPort" memberEnd="_q1uKkE2lEd-Nn4upK86kww _q4Ds4E2lEd-Nn4upK86kww">
+ <ownedEnd xmi:id="_q4Ds4E2lEd-Nn4upK86kww" name="errorModelType" type="_PirykPN4Ed2Fz7wuW3iPYQ" isUnique="false" association="_qvrM8E2lEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_q4lRUE2lEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_q4jcIE2lEd-Nn4upK86kww" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_7ebCME2lEd-Nn4upK86kww" name="A_ErrorBehavior_FailureOutPort" memberEnd="_7kcxsE2lEd-Nn4upK86kww _7m0JME2lEd-Nn4upK86kww">
+ <ownedEnd xmi:id="_7m0JME2lEd-Nn4upK86kww" name="errorBehavior" type="_i-WMwzxIEdyqfK4bFJstMQ" isUnique="false" association="_7ebCME2lEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_7nYJ4E2lEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_7nWUsE2lEd-Nn4upK86kww" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_I0vjEE2mEd-Nn4upK86kww" name="A_ErrorModelType_FaultInPort" memberEnd="_I7E0kE2mEd-Nn4upK86kww _I9mkIE2mEd-Nn4upK86kww">
+ <ownedEnd xmi:id="_I9mkIE2mEd-Nn4upK86kww" name="errorModelType" type="_PirykPN4Ed2Fz7wuW3iPYQ" isUnique="false" association="_I0vjEE2mEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_I-D3IE2mEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_I-CB8E2mEd-Nn4upK86kww" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_J3I0ME2mEd-Nn4upK86kww" name="A_ErrorBehavior_FaultInPort" memberEnd="_J9vLcE2mEd-Nn4upK86kww _KARiEE2mEd-Nn4upK86kww">
+ <ownedEnd xmi:id="_KARiEE2mEd-Nn4upK86kww" name="errorBehavior" type="_i-WMwzxIEdyqfK4bFJstMQ" isUnique="false" association="_J3I0ME2mEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KAwDME2mEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KAuOAE2mEd-Nn4upK86kww" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_aSSYAE2mEd-Nn4upK86kww" name="A_ErrorModelType_InternalFaultPrototype" memberEnd="_ac0NAE2mEd-Nn4upK86kww _afvlME2mEd-Nn4upK86kww">
+ <ownedEnd xmi:id="_afvlME2mEd-Nn4upK86kww" name="errorModelType" type="_PirykPN4Ed2Fz7wuW3iPYQ" isUnique="false" association="_aSSYAE2mEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_agOGUE2mEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_agMRIE2mEd-Nn4upK86kww" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_pTBMQE2mEd-Nn4upK86kww" name="ProcessFaultPrototype">
+ <ownedComment xmi:id="_-PatsE2mEd-Nn4upK86kww" annotatedElement="_pTBMQE2mEd-Nn4upK86kww">
+ <body>The ProcessFaultPrototype metaclass represents the anomalies that the target component/system can have due to design or implementation flaws (e.g., incorrect requirements, buffer size configuration, scheduling, etc.).
+
+Semantics:
+The ProcessFaultPrototype metaclass represents the anomalies that the target component/system can have due to design or implementation flaws (e.g., incorrect requirements, buffer size configuration, scheduling, etc.).
+
+Extension:
+UML::Part / UML::Event</body>
+ </ownedComment>
+ <generalization xmi:id="_uDLvoE2mEd-Nn4upK86kww" general="_KIrJwE2eEd-Nn4upK86kww"/>
+ <ownedAttribute xmi:id="_H9t_AE2nEd-Nn4upK86kww" name="base_Event" isUnique="false" association="_HkRkQE2nEd-Nn4upK86kww">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Event"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XLHXQG1ZEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XLNd4G1ZEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_ygTbME2mEd-Nn4upK86kww" name="A_ErrorModelType_ProcessFaultPrototype" memberEnd="_yrUYYE2mEd-Nn4upK86kww _yuhdYE2mEd-Nn4upK86kww">
+ <ownedEnd xmi:id="_yuhdYE2mEd-Nn4upK86kww" name="errorModelType" type="_PirykPN4Ed2Fz7wuW3iPYQ" isUnique="false" association="_ygTbME2mEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_yvOA8E2mEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_yvLksE2mEd-Nn4upK86kww" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_zgOAEE2mEd-Nn4upK86kww" name="A_ErrorBehavior_ProcessFaultPrototype" memberEnd="_zry98E2mEd-Nn4upK86kww _zvQhoE2mEd-Nn4upK86kww">
+ <ownedEnd xmi:id="_zvQhoE2mEd-Nn4upK86kww" name="errorBehavior" type="_i-WMwzxIEdyqfK4bFJstMQ" isUnique="false" association="_zgOAEE2mEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_zv_hcE2mEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_zv9FME2mEd-Nn4upK86kww" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_D1uO4E2nEd-Nn4upK86kww" name="Extension_InternalFaultPrototype" memberEnd="_EBh2QE2nEd-Nn4upK86kww _EB-iME2nEd-Nn4upK86kww">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_EBh2QE2nEd-Nn4upK86kww" name="extension_InternalFaultPrototype" type="_smrDAPN0Ed2Fz7wuW3iPYQ" aggregation="composite" association="_D1uO4E2nEd-Nn4upK86kww"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_HkRkQE2nEd-Nn4upK86kww" name="Extension_ProcessFaultPrototype" memberEnd="_H9YAwE2nEd-Nn4upK86kww _H9t_AE2nEd-Nn4upK86kww">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_H9YAwE2nEd-Nn4upK86kww" name="extension_ProcessFaultPrototype" type="_pTBMQE2mEd-Nn4upK86kww" aggregation="composite" association="_HkRkQE2nEd-Nn4upK86kww"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_tzc1EE2nEd-Nn4upK86kww" name="A_ErrorModelPrototype_NamedElement" memberEnd="_uNxZkE2nEd-Nn4upK86kww _uP2dME2nEd-Nn4upK86kww">
+ <ownedEnd xmi:id="_uP2dME2nEd-Nn4upK86kww" name="errorModelPrototype" type="_fNkXEPN4Ed2Fz7wuW3iPYQ" isUnique="false" association="_tzc1EE2nEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uQbsAE2nEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uQZ20E2nEd-Nn4upK86kww" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_5uc8kE2pEd-V7vMBq0sJVg" name="A_FaultFailurePropagationLink_FaultFailurePort" memberEnd="_511-AE2pEd-V7vMBq0sJVg _52jIoE2pEd-V7vMBq0sJVg">
+ <ownedEnd xmi:id="_52jIoE2pEd-V7vMBq0sJVg" name="faultFailurePropagationLink" type="_w-YNoPN1Ed2Fz7wuW3iPYQ" isUnique="false" association="_5uc8kE2pEd-V7vMBq0sJVg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_528xQE2pEd-V7vMBq0sJVg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_5268EE2pEd-V7vMBq0sJVg" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_6XSeME2pEd-V7vMBq0sJVg" name="A_FaultFailurePropagationLink_FaultFailurePort" memberEnd="_6ew_ME2pEd-V7vMBq0sJVg _6fh0ME2pEd-V7vMBq0sJVg">
+ <ownedEnd xmi:id="_6fh0ME2pEd-V7vMBq0sJVg" name="faultFailurePropagationLink" type="_w-YNoPN1Ed2Fz7wuW3iPYQ" isUnique="false" association="_6XSeME2pEd-V7vMBq0sJVg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_6f7c0E2pEd-V7vMBq0sJVg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_6f5noE2pEd-V7vMBq0sJVg" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_GNIDwE2qEd-V7vMBq0sJVg" name="A_FaultFailurePort_FunctionPort" memberEnd="_GQdEkE2qEd-V7vMBq0sJVg _GQzp4E2qEd-V7vMBq0sJVg">
+ <ownedEnd xmi:id="_GQzp4E2qEd-V7vMBq0sJVg" name="failureOutPort" type="_ntEcUGGVEd-6O-A3OulkUA" isUnique="false" association="_GNIDwE2qEd-V7vMBq0sJVg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_GRLdUE2qEd-V7vMBq0sJVg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_GRJoIE2qEd-V7vMBq0sJVg" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_OHwYAE2qEd-V7vMBq0sJVg" name="A_FaultFailurePort_HardwarePin" memberEnd="_OPuoQE2qEd-V7vMBq0sJVg _OQKtIE2qEd-V7vMBq0sJVg">
+ <ownedEnd xmi:id="_OQKtIE2qEd-V7vMBq0sJVg" name="failureOutPort" type="_ntEcUGGVEd-6O-A3OulkUA" isUnique="false" association="_OHwYAE2qEd-V7vMBq0sJVg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_OQigkE2qEd-V7vMBq0sJVg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_OQgrYE2qEd-V7vMBq0sJVg" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_X5bGYE2qEd-V7vMBq0sJVg" name="A_ErrorModelType_FunctionType" memberEnd="_X9Al4E2qEd-V7vMBq0sJVg _X9oQ8E2qEd-V7vMBq0sJVg">
+ <ownedEnd xmi:id="_X9oQ8E2qEd-V7vMBq0sJVg" name="errorModelType" type="_PirykPN4Ed2Fz7wuW3iPYQ" isUnique="false" association="_X5bGYE2qEd-V7vMBq0sJVg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_X-AEYE2qEd-V7vMBq0sJVg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_X9-PME2qEd-V7vMBq0sJVg" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_cS_HoE2qEd-V7vMBq0sJVg" name="A_ErrorModelType_HardwareComponentType" memberEnd="_cbKMME2qEd-V7vMBq0sJVg _cb0TgE2qEd-V7vMBq0sJVg">
+ <ownedEnd xmi:id="_cb0TgE2qEd-V7vMBq0sJVg" name="errorModelType" type="_PirykPN4Ed2Fz7wuW3iPYQ" isUnique="false" association="_cS_HoE2qEd-V7vMBq0sJVg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ccMG8E2qEd-V7vMBq0sJVg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ccKRwE2qEd-V7vMBq0sJVg" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_qjWO4E2qEd-V7vMBq0sJVg" name="A_ErrorModelPrototype_FunctionPrototype" memberEnd="_qrsSkE2qEd-V7vMBq0sJVg _qsF7ME2qEd-V7vMBq0sJVg">
+ <ownedEnd xmi:id="_qsF7ME2qEd-V7vMBq0sJVg" name="errorModelPrototype" type="_fNkXEPN4Ed2Fz7wuW3iPYQ" isUnique="false" association="_qjWO4E2qEd-V7vMBq0sJVg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_qshZAE2qEd-V7vMBq0sJVg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_qse8wE2qEd-V7vMBq0sJVg" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_tepiYE2qEd-V7vMBq0sJVg" name="A_ErrorModelPrototype_HardwareComponentPrototype" memberEnd="_tncSAE2qEd-V7vMBq0sJVg _toMf8E2qEd-V7vMBq0sJVg">
+ <ownedEnd xmi:id="_toMf8E2qEd-V7vMBq0sJVg" name="errorModelPrototype" type="_fNkXEPN4Ed2Fz7wuW3iPYQ" isUnique="false" association="_tepiYE2qEd-V7vMBq0sJVg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_tok6cE2qEd-V7vMBq0sJVg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_tojFQE2qEd-V7vMBq0sJVg" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_ntEcUGGVEd-6O-A3OulkUA" name="FaultFailurePort" isAbstract="true">
+ <generalization xmi:id="_ab-kQGGWEd-6O-A3OulkUA" general="_KIrJwE2eEd-Nn4upK86kww"/>
+ <ownedAttribute xmi:id="_x9qiYGGVEd-6O-A3OulkUA" name="base_Port" isUnique="false" association="_x01WgGGVEd-6O-A3OulkUA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_GQdEkE2qEd-V7vMBq0sJVg" name="functionTarget" type="_i-f6UzxIEdyqfK4bFJstMQ" isUnique="false" association="_GNIDwE2qEd-V7vMBq0sJVg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_GQwmkE2qEd-V7vMBq0sJVg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_GQybwE2qEd-V7vMBq0sJVg" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_OPuoQE2qEd-V7vMBq0sJVg" name="hwTarget" type="_c7BMwHJWEdyx6oOkwavytg" isUnique="false" association="_OHwYAE2qEd-V7vMBq0sJVg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_OQD_cE2qEd-V7vMBq0sJVg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_OQF0oE2qEd-V7vMBq0sJVg" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_-2R4wE37Ed-lBeOY4fJiaA" name="functionTarget_path" type="_i-f6TTxIEdyqfK4bFJstMQ" isOrdered="true">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_CdMVEE38Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_CdTp0E38Ed-lBeOY4fJiaA" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_FVk3cE38Ed-lBeOY4fJiaA" name="hwTarget_path" type="_8mIUgJOQEdyUQMht1ste1A" isOrdered="true">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KUwuQE38Ed-lBeOY4fJiaA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KU4DAE38Ed-lBeOY4fJiaA" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_x01WgGGVEd-6O-A3OulkUA" name="Extension_FaultFailurePort" memberEnd="_x9eVIGGVEd-6O-A3OulkUA _x9qiYGGVEd-6O-A3OulkUA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_x9eVIGGVEd-6O-A3OulkUA" name="extension_FaultFailurePort" type="_ntEcUGGVEd-6O-A3OulkUA" aggregation="composite" association="_x01WgGGVEd-6O-A3OulkUA"/>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="_ZNvgwN4lEdyW6f_GAa5b1w" name="SafetyRequirement" metaclassReference="_conSMFTMEd6YkpxqgR2miA">
+ <ownedComment xmi:id="_A4mKEKAxEd20Qu_niqpmJw" annotatedElement="_ZNvgwN4lEdyW6f_GAa5b1w">
+ <body>This subprofile defines a set of stereotypes concerning the definition of safety requirements inked to ISO26262 norm.&#xD;
+&#xD;
+Overview:&#xD;
+This subprofile defines a set of stereotypes concerning the definition of safety requirements linked to the ISO26262 norm.</body>
+ </ownedComment>
+ <elementImport xmi:id="_conSMFTMEd6YkpxqgR2miA" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_gj0hAN4mEdyW6f_GAa5b1w" name="FunctionalSafetyConcept">
+ <ownedComment xmi:id="_ZSxTAJX2Ed2iJ9_Y3as_2A" annotatedElement="_gj0hAN4mEdyW6f_GAa5b1w">
+ <body>FunctionalSafetyConcept represents the set of functional safety requirements that together fulfils a SafetyGoal in accordance with ISO 26262.
+
+To comply with the SafetyGoals, the FunctionalSafetyConcept specifies the basic safety mechanisms and safety measures in the form of functional safety requirements.
+
+Constraints:
+[1] Contained functionalSafetyRequirements shall not be of type SafetyGoal.
+
+Semantics:
+The collection of requirements in the FunctionalSafetyConcept defines the requirements necessary to make the Item safe. The requirements are abstract and do not specify technical details.</body>
+ </ownedComment>
+ <generalization xmi:id="_nagsAN4mEdyW6f_GAa5b1w" general="_i-WLxDxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_K4GCQE2jEd-Nn4upK86kww" name="functionalSafetyRequirement" type="_i-WLxjxIEdyqfK4bFJstMQ" isOrdered="true" isUnique="false" association="_K3BEME2jEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_K5OqsE2jEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_K5cGEE2jEd-Nn4upK86kww" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_0GfPYN4mEdyW6f_GAa5b1w" name="SafetyGoal">
+ <ownedComment xmi:id="_dv9QAJX2Ed2iJ9_Y3as_2A" annotatedElement="_0GfPYN4mEdyW6f_GAa5b1w">
+ <body>SafetyGoal represents the top-level safety requirement defined in ISO26262. Its purpose is to define how to avoid its associated HazardousEvents, or reduce the risk associated with the hazardous event to an acceptable level.
+The SafetyGoal is defined through one or several associated requirement elements.
+An ASIL shall be assigned to each SafetyGoal, to represent the integrity level at which the SafetyGoal must be met.
+Similar SafetyGoals can be combined into one SafetyGoal. If different ASILs are assigned to similar SafetyGoals, the highest ASIL shall be assigned to the combined SafetyGoal.
+For every SafetyGoal, a safe state should be defined, either textually or by referencing a specific mode. The safe state is a system state to be maintained or to be reached when a potential source of its hazardous event is detected.
+
+Semantics:
+SafetyGoal represents a safety Goal according to ISO26262. Requirements define the SafetyGoal and HazardousEvents identify the responsibility of each SafetyGoal. hazardClassification defines the integrity classification of the SafetyGoal and safeStates may be defined by a string or formalized through associated Modes.
+
+Notation:
+SafetyGoal is a box with text SafetyGoal at the top left.
+
+Extension:
+Class</body>
+ </ownedComment>
+ <generalization xmi:id="_bnvuQE3WEd-eluvub9wzww" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_fokkQN4nEdyW6f_GAa5b1w" name="derivedFrom" type="_7Y5NgE2bEd-Nn4upK86kww" isUnique="false" association="_foazQN4nEdyW6f_GAa5b1w">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Lhm9gE2cEd-Nn4upK86kww" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_LhsdEE2cEd-Nn4upK86kww" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_nptfAE9kEd6AX7OBk0YqTg" name="safeStates" isUnique="false">
+ <ownedComment xmi:id="_avU_IFQ5Ed6Xd4cXg8Jv5g" annotatedElement="_nptfAE9kEd6AX7OBk0YqTg">
+ <body>For every safety goal, a safe state should be defined, in order to declare a system state to be maintained or to be reached when the failure is detected and so to allow a failure mitigation action without any violation of the associated safety goal.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rsAPwE9kEd6AX7OBk0YqTg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rsFIQE9kEd6AX7OBk0YqTg" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_1kp-AE2bEd-Nn4upK86kww" name="base_Class" isUnique="false" association="_1dtogE2bEd-Nn4upK86kww">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_fO-gAE2cEd-Nn4upK86kww" name="requirement" type="_i-WLxjxIEdyqfK4bFJstMQ" isUnique="false" association="_fMoWoE2cEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gx0LwE2cEd-Nn4upK86kww" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gx65cE2cEd-Nn4upK86kww" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_AU6mIE2dEd-Nn4upK86kww" name="hazardClassification" type="_wVZp0DxIEdyqfK4bFJstMQ" isUnique="false"/>
+ <ownedAttribute xmi:id="_jsO5AE2dEd-Nn4upK86kww" name="safeModes" type="_1nGm4NjgEd6wXIBypQTswA" isUnique="false" association="_jpjYcE2dEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jtFNkE2dEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jtMiUE2dEd-Nn4upK86kww" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_foazQN4nEdyW6f_GAa5b1w" name="A_SafetyGoal_HazardousEvent" memberEnd="_fokkQN4nEdyW6f_GAa5b1w _fpBQMN4nEdyW6f_GAa5b1w">
+ <ownedEnd xmi:id="_fpBQMN4nEdyW6f_GAa5b1w" name="safetyRequirement" type="_0GfPYN4mEdyW6f_GAa5b1w" isUnique="false" association="_foazQN4nEdyW6f_GAa5b1w">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fpULId4nEdyW6f_GAa5b1w"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fpULIN4nEdyW6f_GAa5b1w" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_qtH20N4nEdyW6f_GAa5b1w" name="TechnicalSafetyConcept">
+ <ownedComment xmi:id="_mEvJoJX2Ed2iJ9_Y3as_2A" annotatedElement="_qtH20N4nEdyW6f_GAa5b1w">
+ <body>TechnicalSafetyConcept represents the set of technical safety requirements that together fulfils a FunctionalSafetyConcept and SafetyGoal in accordance with ISO 26262.
+
+These are derived from FunctionalSafetyConcepts i.e. TechnicalSafetyRequirements are derived from FunctionalSafetyRequirements.
+
+
+Semantics:
+The TechnicalSafetyConcept consists of the technical safety requirements and details the functional safety concept considering the functional concept and the preliminary architectural design. It corresponds to the Technical Safety Concept of ISO26262.</body>
+ </ownedComment>
+ <generalization xmi:id="_243wEN4pEdyW6f_GAa5b1w" general="_i-WLxDxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_6b-DYN4pEdyW6f_GAa5b1w" name="technicalSafetyRequirement" type="_i-WLxjxIEdyqfK4bFJstMQ" isOrdered="true" isUnique="false" association="_6b0SYN4pEdyW6f_GAa5b1w">
+ <ownedComment xmi:id="_n-C0oJX2Ed2iJ9_Y3as_2A" annotatedElement="_6b-DYN4pEdyW6f_GAa5b1w">
+ <body>technicalSafety Requirements.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3zVX4E2iEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3zcsoE2iEd-Nn4upK86kww" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_6b0SYN4pEdyW6f_GAa5b1w" name="Association_TechnicalSafetyConcept_ADLRequirement" memberEnd="_6b-DYN4pEdyW6f_GAa5b1w _6cavUN4pEdyW6f_GAa5b1w">
+ <ownedEnd xmi:id="_6cavUN4pEdyW6f_GAa5b1w" name="technicalSafetyConcept" type="_qtH20N4nEdyW6f_GAa5b1w" isUnique="false" association="_6b0SYN4pEdyW6f_GAa5b1w">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_6c3bQN4pEdyW6f_GAa5b1w"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_6ctqQN4pEdyW6f_GAa5b1w" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_K3BEME2jEd-Nn4upK86kww" name="A_FunctionalSafetyConcept_Requirement" memberEnd="_K4GCQE2jEd-Nn4upK86kww _K5lQAE2jEd-Nn4upK86kww">
+ <ownedEnd xmi:id="_K5lQAE2jEd-Nn4upK86kww" name="functionalSafetyConcept" type="_gj0hAN4mEdyW6f_GAa5b1w" isUnique="false" association="_K3BEME2jEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_K6EYME2jEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_K6CjAE2jEd-Nn4upK86kww" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_fMoWoE2cEd-Nn4upK86kww" name="A_SafetyGoal_Requirement" memberEnd="_fO-gAE2cEd-Nn4upK86kww _fQIWkE2cEd-Nn4upK86kww">
+ <ownedEnd xmi:id="_fQIWkE2cEd-Nn4upK86kww" name="safetyGoal" type="_0GfPYN4mEdyW6f_GAa5b1w" isUnique="false" association="_fMoWoE2cEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fQgxEE2cEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fQe74E2cEd-Nn4upK86kww" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_jpjYcE2dEd-Nn4upK86kww" name="A_SafetyGoal_Mode" memberEnd="_jsO5AE2dEd-Nn4upK86kww _jtRa0E2dEd-Nn4upK86kww">
+ <ownedEnd xmi:id="_jtRa0E2dEd-Nn4upK86kww" name="safetyGoal" type="_0GfPYN4mEdyW6f_GAa5b1w" isUnique="false" association="_jpjYcE2dEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jtrDcE2dEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jtpOQE2dEd-Nn4upK86kww" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="_Tb650N4qEdyW6f_GAa5b1w" name="SafetyCase" metaclassReference="_9mpm4N7-Edyn1LkmlirJsg _9wVuYN7-Edyn1LkmlirJsg _RWctIE2gEd-Nn4upK86kww _y1ZwME2gEd-Nn4upK86kww _k1GBsE2hEd-Nn4upK86kww">
+ <ownedComment xmi:id="_G9ymsKAxEd20Qu_niqpmJw" annotatedElement="_Tb650N4qEdyW6f_GAa5b1w">
+ <body>Safety is a property of a system that is difficult to verify quantitatively since no clear measurement method exists that can be applied during the development. Not even exhaustive testing is feasible, as faults in electronics can have an intensity of 10^-9 faults/hour and still pose an unacceptable risk. Hence, it is only when enough field data have been collected from a system used in a particular context that it can be said to be safe enough. Nonetheless, safety must be addressed and assessed during development; restricted to qualitative reasoning about the safety of a product. A structured engineering method is thus needed to approach this problem. One such method is the so called safety case, which came originally from the nuclear industry.</body>
+ </ownedComment>
+ <elementImport xmi:id="_9mpm4N7-Edyn1LkmlirJsg" alias="Property">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </elementImport>
+ <elementImport xmi:id="_9wVuYN7-Edyn1LkmlirJsg" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <elementImport xmi:id="_RWctIE2gEd-Nn4upK86kww" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <elementImport xmi:id="_y1ZwME2gEd-Nn4upK86kww" alias="Comment">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+ </elementImport>
+ <elementImport xmi:id="_k1GBsE2hEd-Nn4upK86kww" alias="NamedElement">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ </elementImport>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_nkfVIN4rEdyW6f_GAa5b1w" name="SafetyCase">
+ <ownedComment xmi:id="_k4KMUJX3Ed2iJ9_Y3as_2A" annotatedElement="_nkfVIN4rEdyW6f_GAa5b1w">
+ <body>SafetyCase represents a safety case that communicates a clear, comprehensive and defensible argument that a system is acceptable safe to operate in a given context.
+
+Safety Cases are used in safety related systems, where failures can lead to catastrophic or at least dangerous consequences.</body>
+ </ownedComment>
+ <generalization xmi:id="_J7NbsPLTEd2bF7fagAIf9A" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_at_uYN4sEdyW6f_GAa5b1w" name="safetyCase" type="_nkfVIN4rEdyW6f_GAa5b1w" aggregation="composite" association="_as9MkN4sEdyW6f_GAa5b1w">
+ <ownedComment xmi:id="_u91b0JX3Ed2iJ9_Y3as_2A" annotatedElement="_at_uYN4sEdyW6f_GAa5b1w">
+ <body>Attached SafetyCases</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aucaUN4sEdyW6f_GAa5b1w"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aucaUd4sEdyW6f_GAa5b1w" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_5How0PLSEd2bF7fagAIf9A" name="stage" type="_38JkMPLJEd2GjMX0La-ycQ"/>
+ <ownedAttribute xmi:id="_CrGrIPLTEd2bF7fagAIf9A" name="context">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Nt0SwPNkEd2fEu9kIaMRFw" name="ground" type="_HZ6SsPLKEd2GjMX0La-ycQ" aggregation="composite" association="_Nswi0PNkEd2fEu9kIaMRFw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_NuV3MPNkEd2fEu9kIaMRFw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_NuY6gPNkEd2fEu9kIaMRFw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_3B438PNkEd2fEu9kIaMRFw" name="warrant" type="_JaFasPLKEd2GjMX0La-ycQ" association="_3Aph0PNkEd2fEu9kIaMRFw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3ChxIPNkEd2fEu9kIaMRFw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3Ck0cPNkEd2fEu9kIaMRFw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_7vM7oPNkEd2fEu9kIaMRFw" name="claim" type="_L5AUMPLKEd2GjMX0La-ycQ" association="_7t3e4PNkEd2fEu9kIaMRFw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_7v0msPNkEd2fEu9kIaMRFw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_7v3C8PNkEd2fEu9kIaMRFw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_SM7pME2gEd-Nn4upK86kww" name="base_Class" isUnique="false" association="_SJKjgE2gEd-Nn4upK86kww">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_as9MkN4sEdyW6f_GAa5b1w" name="Association_SafetyCase_SafetyCase" memberEnd="_at_uYN4sEdyW6f_GAa5b1w _aucaUt4sEdyW6f_GAa5b1w">
+ <ownedEnd xmi:id="_aucaUt4sEdyW6f_GAa5b1w" name="safetyCase" type="_nkfVIN4rEdyW6f_GAa5b1w" isUnique="false" association="_as9MkN4sEdyW6f_GAa5b1w">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_au5GQd4sEdyW6f_GAa5b1w"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_au5GQN4sEdyW6f_GAa5b1w" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_38JkMPLJEd2GjMX0La-ycQ" name="LifecycleStageKind">
+ <ownedComment xmi:id="_G1J8cPxlEd2ceJP4jywexA" annotatedElement="_38JkMPLJEd2GjMX0La-ycQ">
+ <body>The SafetyCase should be initiated at the earliest possible stage in the safety program so that hazards are identified and dealt with while the opportunities for their exclusion exist.
+
+The LifecycleStageKind is an enumeration metaclass with enumeration literals indicating safety case life cycle stage.
+
+Semantics:
+The safety case is one incremental safety case, rather than several complete new ones. The safety case lifecycle stage has the following meanings:
+
+- The preliminary safety case is started when development of the system is started. After this stage discussions with the customer can commence about possible safety issues (hazards).
+
+- The interim safety case is situated after the first system design and tests.
+
+- The operational safety case is prior to in-service use.
+
+Extension:
+Enumeration, no extension.</body>
+ </ownedComment>
+ <ownedLiteral xmi:id="_5Lg6UPLJEd2GjMX0La-ycQ" name="PreliminarySafetyCase"/>
+ <ownedLiteral xmi:id="_8TbGcPLJEd2GjMX0La-ycQ" name="InterimSafetyCase"/>
+ <ownedLiteral xmi:id="_986z0PLJEd2GjMX0La-ycQ" name="OperationalSafetyCase"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_HZ6SsPLKEd2GjMX0La-ycQ" name="Ground">
+ <ownedComment xmi:id="_9Qr8kPxkEd2ceJP4jywexA" annotatedElement="_HZ6SsPLKEd2GjMX0La-ycQ">
+ <body>Claim is based on Grounds (evidences) - specific facts about a precise situation that clarify and make good the Claim.
+
+Ground represents statements that explain how the SafetyCase Ground clarifies and make good the Claim.
+
+Ground has associations to the entities that are the evidences in the SafetyCase.
+
+Semantics:
+Ground (evidence) is information that supports the Claim that the safety requirements and objectives are met i.e. used as the basis of the safety argument.
+
+Solution is evidence that the sub-goals have been met. This can be achieved by decomposing all goal claims to a level where direct reference to evidences was felt possible.
+
+The evidences address different aspects of the goal. It always has to be ensured that each of them is defensible enough to confirm the underlying statement.</body>
+ </ownedComment>
+ <generalization xmi:id="_6I80ANd4Ed6hwb99h1VVPA" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_koE8YPLSEd2bF7fagAIf9A" name="safetyEvidence" isUnique="false" association="_knBzgPLSEd2bF7fagAIf9A">
+ <ownedComment xmi:id="_DYoyQPxlEd2ceJP4jywexA" annotatedElement="_koE8YPLSEd2bF7fagAIf9A">
+ <body>Safety evidence in system model.</body>
+ </ownedComment>
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kocv0PLSEd2bF7fagAIf9A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kofMEPLSEd2bF7fagAIf9A" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_TdjjkE2gEd-Nn4upK86kww" name="base_Class" isUnique="false" association="_TZs-UE2gEd-Nn4upK86kww">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_HsFrME2hEd-Nn4upK86kww" name="justification" association="_Hn3SgE2hEd-Nn4upK86kww">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HtI0EE2hEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HtPhwE2hEd-Nn4upK86kww" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_JaFasPLKEd2GjMX0La-ycQ" name="Warrant">
+ <ownedComment xmi:id="_NuZFIPxlEd2ceJP4jywexA" annotatedElement="_JaFasPLKEd2GjMX0La-ycQ">
+ <body>Warrant represents argumentation of the facts to the Claim in general ways.
+
+The Warrant entity has associations to the decomposed goals and to the evidences for the SafetyCase.
+
+Semantics:
+The overall objective of an argument is to lead the evidence to the claim.
+
+Arguments are actions of inferring a conclusion from premised propositions. An argument is considered valid if the conclusion can be logically derived from its premises. An argument is considered sound if it is valid and all premises are true.
+
+A goal decomposition strategy breaks down a goal into a number of sub-goals. It is recommended that the strategies are of specific form.</body>
+ </ownedComment>
+ <generalization xmi:id="_nwZS4Nd5Ed6hwb99h1VVPA" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_5sfm0PLREd2bF7fagAIf9A" name="decomposedGoal" type="_L5AUMPLKEd2GjMX0La-ycQ" isUnique="false" association="_5rW-YPLREd2bF7fagAIf9A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_5s2zMPLREd2bF7fagAIf9A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_5s52gPLREd2bF7fagAIf9A" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_cJPH0PLSEd2bF7fagAIf9A" name="evidence" type="_HZ6SsPLKEd2GjMX0La-ycQ" isUnique="false" association="_cIRegPLSEd2bF7fagAIf9A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_cJowcPLSEd2bF7fagAIf9A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_cJrMsPLSEd2bF7fagAIf9A" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_S5o-ME2gEd-Nn4upK86kww" name="base_Class" isUnique="false" association="_S13RcE2gEd-Nn4upK86kww">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_AWKmgE2hEd-Nn4upK86kww" name="justification" association="_ASIbEE2hEd-Nn4upK86kww">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_AXZ8oE2hEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_AXkUsE2hEd-Nn4upK86kww" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_L5AUMPLKEd2GjMX0La-ycQ" name="Claim">
+ <ownedComment xmi:id="_32Y3EPxkEd2ceJP4jywexA" annotatedElement="_L5AUMPLKEd2GjMX0La-ycQ">
+ <body>Claim represents a statement the truth of which needs to be confirmed.
+
+Claim has associations to the strategy for goal decomposition and to supported arguments. It also holds associations to the evidences for the SafetyCase.
+
+Semantics:
+Goal-based development provides the claim what should be achieved.
+
+Goal is what the argument must show to be true.</body>
+ </ownedComment>
+ <generalization xmi:id="_KMSzkE2gEd-Nn4upK86kww" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_4BBAoPLKEd2GjMX0La-ycQ" name="safetyRequirement" type="_i-WNpjxIEdyqfK4bFJstMQ" isUnique="false" association="_3_R7QPLKEd2GjMX0La-ycQ">
+ <ownedComment xmi:id="_MHc0sFTGEd6YkpxqgR2miA" annotatedElement="_4BBAoPLKEd2GjMX0La-ycQ">
+ <body>Safety requirements and objectives in system model.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4BdFgPLKEd2GjMX0La-ycQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4BfhwPLKEd2GjMX0La-ycQ" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_-6eLwPLKEd2GjMX0La-ycQ" name="supportedArgument" type="_JaFasPLKEd2GjMX0La-ycQ" isUnique="false" association="_-4kHQPLKEd2GjMX0La-ycQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-68F0PLKEd2GjMX0La-ycQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-6-iEPLKEd2GjMX0La-ycQ" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_DjQUwPLLEd2GjMX0La-ycQ" name="goalDecompositionStrategy" type="_JaFasPLKEd2GjMX0La-ycQ" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Djx5MPLLEd2GjMX0La-ycQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Dj0VcPLLEd2GjMX0La-ycQ" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_ShwpsE2gEd-Nn4upK86kww" name="base_Class" isUnique="false" association="_SeD1cE2gEd-Nn4upK86kww">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_3lJc0E2gEd-Nn4upK86kww" name="justification" association="_3gxTIE2gEd-Nn4upK86kww">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3mcdUE2gEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3mjyEE2gEd-Nn4upK86kww" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_OT07YPLLEd2GjMX0La-ycQ" name="evidence" type="_HZ6SsPLKEd2GjMX0La-ycQ" isUnique="false" association="_OR0wQPLLEd2GjMX0La-ycQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_QTa0kPLLEd2GjMX0La-ycQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_QTftEPLLEd2GjMX0La-ycQ" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_nNZboGuREeKMZaXH9OfbRg" name="goalDecompositionStrategy" type="_JaFasPLKEd2GjMX0La-ycQ" association="_nNZbo2uREeKMZaXH9OfbRg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nNZboWuREeKMZaXH9OfbRg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_nNZbomuREeKMZaXH9OfbRg" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_3_R7QPLKEd2GjMX0La-ycQ" name="A_Claim_ADLTraceableSpecification_safetyRequirement" memberEnd="_4BBAoPLKEd2GjMX0La-ycQ _4BilEPLKEd2GjMX0La-ycQ">
+ <ownedEnd xmi:id="_4BilEPLKEd2GjMX0La-ycQ" name="claim" type="_L5AUMPLKEd2GjMX0La-ycQ" isUnique="false" association="_3_R7QPLKEd2GjMX0La-ycQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4CC7YPLKEd2GjMX0La-ycQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4B_4EPLKEd2GjMX0La-ycQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_-4kHQPLKEd2GjMX0La-ycQ" name="A_Claim_Warrant_supportedArgument" memberEnd="_-6eLwPLKEd2GjMX0La-ycQ _-7BlYPLKEd2GjMX0La-ycQ">
+ <ownedEnd xmi:id="_-7BlYPLKEd2GjMX0La-ycQ" name="claim" type="_L5AUMPLKEd2GjMX0La-ycQ" isUnique="false" association="_-4kHQPLKEd2GjMX0La-ycQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-7h7sPLKEd2GjMX0La-ycQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-7ffcPLKEd2GjMX0La-ycQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_OR0wQPLLEd2GjMX0La-ycQ" name="A_Claim_Ground_evidence" memberEnd="_OT07YPLLEd2GjMX0La-ycQ _OUeboPLLEd2GjMX0La-ycQ">
+ <ownedEnd xmi:id="_OUeboPLLEd2GjMX0La-ycQ" name="claim" type="_L5AUMPLKEd2GjMX0La-ycQ" isUnique="false" association="_OR0wQPLLEd2GjMX0La-ycQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_OVDDYPLLEd2GjMX0La-ycQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_OVAAEPLLEd2GjMX0La-ycQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_5rW-YPLREd2bF7fagAIf9A" name="A_Warrant_Claim_decomposedGoal" memberEnd="_5sfm0PLREd2bF7fagAIf9A _5s850PLREd2bF7fagAIf9A">
+ <ownedEnd xmi:id="_5s850PLREd2bF7fagAIf9A" name="warrant" type="_JaFasPLKEd2GjMX0La-ycQ" isUnique="false" association="_5rW-YPLREd2bF7fagAIf9A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_5teeQPLREd2bF7fagAIf9A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_5tY-sPLREd2bF7fagAIf9A" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_cIRegPLSEd2bF7fagAIf9A" name="A_Warrant_Ground_evidence" memberEnd="_cJPH0PLSEd2bF7fagAIf9A _cJuQAPLSEd2bF7fagAIf9A">
+ <ownedEnd xmi:id="_cJuQAPLSEd2bF7fagAIf9A" name="warrant" type="_JaFasPLKEd2GjMX0La-ycQ" isUnique="false" association="_cIRegPLSEd2bF7fagAIf9A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_cKMxIPLSEd2bF7fagAIf9A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_cKJt0PLSEd2bF7fagAIf9A" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_knBzgPLSEd2bF7fagAIf9A" name="A_Ground_NamedElement_safetyEvidence" memberEnd="_koE8YPLSEd2bF7fagAIf9A _kohoUPLSEd2bF7fagAIf9A">
+ <ownedEnd xmi:id="_kohoUPLSEd2bF7fagAIf9A" name="ground" type="_HZ6SsPLKEd2GjMX0La-ycQ" isUnique="false" association="_knBzgPLSEd2bF7fagAIf9A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kpAwgPLSEd2bF7fagAIf9A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ko-UQPLSEd2bF7fagAIf9A" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_Nswi0PNkEd2fEu9kIaMRFw" name="A_SafetyCase_Ground_ground" memberEnd="_Nt0SwPNkEd2fEu9kIaMRFw _NugPQPNkEd2fEu9kIaMRFw">
+ <ownedEnd xmi:id="_NugPQPNkEd2fEu9kIaMRFw" name="safetyCase" type="_nkfVIN4rEdyW6f_GAa5b1w" isUnique="false" association="_Nswi0PNkEd2fEu9kIaMRFw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Nu_XcPNkEd2fEu9kIaMRFw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Nu87MPNkEd2fEu9kIaMRFw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_3Aph0PNkEd2fEu9kIaMRFw" name="A_SafetyCase_Warrant_warrant" memberEnd="_3B438PNkEd2fEu9kIaMRFw _3CnQsPNkEd2fEu9kIaMRFw">
+ <ownedEnd xmi:id="_3CnQsPNkEd2fEu9kIaMRFw" name="safetyCase" type="_nkfVIN4rEdyW6f_GAa5b1w" isUnique="false" association="_3Aph0PNkEd2fEu9kIaMRFw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3DG_8PNkEd2fEu9kIaMRFw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3DD8oPNkEd2fEu9kIaMRFw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_7t3e4PNkEd2fEu9kIaMRFw" name="A_SafetyCase_Claim_claim" memberEnd="_7vM7oPNkEd2fEu9kIaMRFw _7v6GQPNkEd2fEu9kIaMRFw">
+ <ownedEnd xmi:id="_7v6GQPNkEd2fEu9kIaMRFw" name="safetyCase" type="_nkfVIN4rEdyW6f_GAa5b1w" isUnique="false" association="_7t3e4PNkEd2fEu9kIaMRFw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_7wbqsPNkEd2fEu9kIaMRFw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_7wYnYPNkEd2fEu9kIaMRFw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_SJKjgE2gEd-Nn4upK86kww" name="Extension_SafetyCase" memberEnd="_SMqjcE2gEd-Nn4upK86kww _SM7pME2gEd-Nn4upK86kww">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_SMqjcE2gEd-Nn4upK86kww" name="extension_SafetyCase" type="_nkfVIN4rEdyW6f_GAa5b1w" aggregation="composite" association="_SJKjgE2gEd-Nn4upK86kww"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_SeD1cE2gEd-Nn4upK86kww" name="Extension_Claim" memberEnd="_Shb5kE2gEd-Nn4upK86kww _ShwpsE2gEd-Nn4upK86kww">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_Shb5kE2gEd-Nn4upK86kww" name="extension_Claim" type="_L5AUMPLKEd2GjMX0La-ycQ" aggregation="composite" association="_SeD1cE2gEd-Nn4upK86kww"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_S13RcE2gEd-Nn4upK86kww" name="Extension_Warrant" memberEnd="_S5UOEE2gEd-Nn4upK86kww _S5o-ME2gEd-Nn4upK86kww">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_S5UOEE2gEd-Nn4upK86kww" name="extension_Warrant" type="_JaFasPLKEd2GjMX0La-ycQ" aggregation="composite" association="_S13RcE2gEd-Nn4upK86kww"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_TZs-UE2gEd-Nn4upK86kww" name="Extension_Ground" memberEnd="_TdTE4E2gEd-Nn4upK86kww _TdjjkE2gEd-Nn4upK86kww">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_TdTE4E2gEd-Nn4upK86kww" name="extension_Ground" type="_HZ6SsPLKEd2GjMX0La-ycQ" aggregation="composite" association="_TZs-UE2gEd-Nn4upK86kww"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_3gxTIE2gEd-Nn4upK86kww" name="A_Claim_Comment" memberEnd="_3lJc0E2gEd-Nn4upK86kww _3mqfwE2gEd-Nn4upK86kww">
+ <ownedEnd xmi:id="_3mqfwE2gEd-Nn4upK86kww" name="claim" type="_L5AUMPLKEd2GjMX0La-ycQ" isUnique="false" association="_3gxTIE2gEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3nLdIE2gEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3nJA4E2gEd-Nn4upK86kww" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_ASIbEE2hEd-Nn4upK86kww" name="A_Warrant_Comment" memberEnd="_AWKmgE2hEd-Nn4upK86kww _AXrpcE2hEd-Nn4upK86kww">
+ <ownedEnd xmi:id="_AXrpcE2hEd-Nn4upK86kww" name="warrant" type="_JaFasPLKEd2GjMX0La-ycQ" isUnique="false" association="_ASIbEE2hEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_AYHuUE2hEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_AYF5IE2hEd-Nn4upK86kww" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_Hn3SgE2hEd-Nn4upK86kww" name="A_Ground_Comment" memberEnd="_HsFrME2hEd-Nn4upK86kww _HtW2gE2hEd-Nn4upK86kww">
+ <ownedEnd xmi:id="_HtW2gE2hEd-Nn4upK86kww" name="ground" type="_HZ6SsPLKEd2GjMX0La-ycQ" isUnique="false" association="_Hn3SgE2hEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Ht3M0E2hEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Ht1XoE2hEd-Nn4upK86kww" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_nNZbo2uREeKMZaXH9OfbRg" name="A_Claim_Warrant_goalDecompositionStrategy" memberEnd="_nNZbpGuREeKMZaXH9OfbRg _nNZboGuREeKMZaXH9OfbRg">
+ <ownedEnd xmi:id="_nNZbpGuREeKMZaXH9OfbRg" name="claim" type="_L5AUMPLKEd2GjMX0La-ycQ" association="_nNZbo2uREeKMZaXH9OfbRg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nNZbpWuREeKMZaXH9OfbRg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_nNZbpmuREeKMZaXH9OfbRg" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="_bEdtYErpEd-899EX5XYvlQ" name="SafetyConstraints" metaclassReference="_r0lOQE2fEd-Nn4upK86kww _r3hNgE2fEd-Nn4upK86kww">
+ <elementImport xmi:id="_r0lOQE2fEd-Nn4upK86kww" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <elementImport xmi:id="_r3hNgE2fEd-Nn4upK86kww" alias="Constraint">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Constraint"/>
+ </elementImport>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_wVZp0DxIEdyqfK4bFJstMQ" name="ASILKind">
+ <ownedComment xmi:id="_HXcJIJXmEd2iJ9_Y3as_2A" annotatedElement="_wVZp0DxIEdyqfK4bFJstMQ">
+ <body>The ASILKind is an enumeration metaclass with enumeration literals indicating the level of safety integrity in accordance with ISO26262.
+
+Semantics:
+The semantics is defined at each enumeration literal and fully defined in the ISO26262 standard.
+
+Extension:
+Enumeration, no extension.</body>
+ </ownedComment>
+ <ownedLiteral xmi:id="_i-WLVzxIEdyqfK4bFJstMQ" name="ASIL_A">
+ <ownedComment xmi:id="_JVyFIJXmEd2iJ9_Y3as_2A" annotatedElement="_i-WLVzxIEdyqfK4bFJstMQ">
+ <body>ASIL A, Lowest Safety Integrity Level.</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_i-WLWDxIEdyqfK4bFJstMQ" name="ASIL_D">
+ <ownedComment xmi:id="_LQYwoJXmEd2iJ9_Y3as_2A" annotatedElement="_i-WLWDxIEdyqfK4bFJstMQ">
+ <body>ASIL D, Highest Safety Integrity Level.</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_i-WLWTxIEdyqfK4bFJstMQ" name="ASIL_C">
+ <ownedComment xmi:id="_-EoXcPxjEd2ceJP4jywexA" annotatedElement="_i-WLWTxIEdyqfK4bFJstMQ">
+ <body>ASIL C, second highest Safety Integrity Level.</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_i-WLWjxIEdyqfK4bFJstMQ" name="ASIL_B">
+ <ownedComment xmi:id="_7nbVMPxjEd2ceJP4jywexA" annotatedElement="_i-WLWjxIEdyqfK4bFJstMQ">
+ <body>ASIL B, second lowest Safety Integrity Level.</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_J_haIPK2Ed2GjMX0La-ycQ" name="QM">
+ <ownedComment xmi:id="__zXz8FTFEd6YkpxqgR2miA" annotatedElement="_J_haIPK2Ed2GjMX0La-ycQ">
+ <body>Quality Management only, no requirement according to ISO 26262.</body>
+ </ownedComment>
+ </ownedLiteral>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_CCtiYNd1Ed6hwb99h1VVPA" name="FaultFailure">
+ <ownedComment xmi:id="_F-TOMNd1Ed6hwb99h1VVPA" annotatedElement="_CCtiYNd1Ed6hwb99h1VVPA">
+ <body>The FaultFailure represents a certain fault or failure on its referenced Anomaly. The faultFailureValue specifies the value of the Anomaly that the FaultFailure corresponds to, i.e. one of the possible values of the Anomaly.
+
+Semantics:
+A FaultFailure is defined as a certain value, faultFailureValue, occurring at the referenced Anomaly.</body>
+ </ownedComment>
+ <generalization xmi:id="_IWWDoNd1Ed6hwb99h1VVPA" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_9qvfoNkAEd6rlulM-6rbhg" name="base_Class" isUnique="false" association="_9J2ZENkAEd6rlulM-6rbhg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_0GZv8E2eEd-Nn4upK86kww" name="faultFailureValue" association="_0GDxsE2eEd-Nn4upK86kww">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_2nyHkE2eEd-Nn4upK86kww" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_2n6qcE2eEd-Nn4upK86kww" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_0ApQwE2fEd-Nn4upK86kww" name="anomaly" type="_KIrJwE2eEd-Nn4upK86kww" isUnique="false" association="_z-vMQE2fEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_0BuO0E2fEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_0BzuYE2fEd-Nn4upK86kww" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_9J2ZENkAEd6rlulM-6rbhg" name="Extension_FaultFailure" memberEnd="_9qSMoNkAEd6rlulM-6rbhg _9qvfoNkAEd6rlulM-6rbhg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_9qSMoNkAEd6rlulM-6rbhg" name="extension_FaultFailure" type="_CCtiYNd1Ed6hwb99h1VVPA" aggregation="composite" association="_9J2ZENkAEd6rlulM-6rbhg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_0GDxsE2eEd-Nn4upK86kww" name="A_FaultFailure_EADatatypePrototype" memberEnd="_0GZv8E2eEd-Nn4upK86kww _0HhKQE2eEd-Nn4upK86kww">
+ <ownedEnd xmi:id="_0HhKQE2eEd-Nn4upK86kww" name="faultFailure" type="_CCtiYNd1Ed6hwb99h1VVPA" isUnique="false" association="_0GDxsE2eEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_0H_rYE2eEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_0H92ME2eEd-Nn4upK86kww" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_BmYjIE2fEd-Nn4upK86kww" name="SafetyConstraint">
+ <ownedComment xmi:id="_l1qYwE2fEd-Nn4upK86kww" annotatedElement="_BmYjIE2fEd-Nn4upK86kww">
+ <body>The SafetyConstraint metaclass represents the qualitative integrity constraints on a fault or failure. Thus, the system has same or better performance with respect to the constrained fault or failure, and depending on the role this is either a requirement or a property.
+
+Semantics:
+A SafetyConstraint defines qualitative bounds on the constrainedFaultFailure in terms of safety integrity level, asilValue.
+
+Depending on role, the SafetyConstraint may define a required or an actual safety integrity level.
+
+
+Extension:
+(see ADLTraceableSpecification)</body>
+ </ownedComment>
+ <generalization xmi:id="_KtbAIE2fEd-Nn4upK86kww" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_DthOwE2fEd-Nn4upK86kww" name="asilValue" type="_wVZp0DxIEdyqfK4bFJstMQ" isUnique="false"/>
+ <ownedAttribute xmi:id="_Mnb1wE2fEd-Nn4upK86kww" name="constrainedFaultFailure" type="_CCtiYNd1Ed6hwb99h1VVPA" isUnique="false" association="_Mmy8kE2fEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_OOWwQE2fEd-Nn4upK86kww" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_OObowE2fEd-Nn4upK86kww" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_uz5fEE2fEd-Nn4upK86kww" name="base_Class" isUnique="false" association="_uykCUE2fEd-Nn4upK86kww">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_eoFfIG1ZEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_eoMM0G1ZEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_vHQf8E2fEd-Nn4upK86kww" name="base_Constraint" isUnique="false" association="_vF2xwE2fEd-Nn4upK86kww">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Constraint"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fNX9gG1ZEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fNerMG1ZEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_Mmy8kE2fEd-Nn4upK86kww" name="A_SafetyConstraint_FaultFailure" memberEnd="_Mnb1wE2fEd-Nn4upK86kww _MnzCIE2fEd-Nn4upK86kww">
+ <ownedEnd xmi:id="_MnzCIE2fEd-Nn4upK86kww" name="safetyConstraint" type="_BmYjIE2fEd-Nn4upK86kww" isUnique="false" association="_Mmy8kE2fEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_MoN44E2fEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_MoLcoE2fEd-Nn4upK86kww" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_RJZlEE2fEd-Nn4upK86kww" name="QuantitativeSafetyConstraint">
+ <ownedComment xmi:id="_j_lA4E2fEd-Nn4upK86kww" annotatedElement="_RJZlEE2fEd-Nn4upK86kww">
+ <body>The QuantitativeSafetyConstraint metaclass represents the quantitative integrity constraints on a fault or failure. Thus, the system has same or better performance with respect to the constrained fault or failure, and depending on the role this is either a requirement or a property.
+
+Semantics:
+A QuantitativeSafetyConstraint provides information about the probabilistic estimates of target faults/failures, further specified by the failureRate and repairRate attribute.
+
+Extension:
+(see ADLTraceableSpecification)</body>
+ </ownedComment>
+ <generalization xmi:id="_T7eEEE2fEd-Nn4upK86kww" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_VpHRoE2fEd-Nn4upK86kww" name="constrainedFaultFailure" type="_CCtiYNd1Ed6hwb99h1VVPA" isUnique="false" association="_VobVIE2fEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XUcyEE2fEd-Nn4upK86kww" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XUhqkE2fEd-Nn4upK86kww" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_YhoW4E2fEd-Nn4upK86kww" name="failureRate" type="_IIFyoEucEd-ZO7qwJW2vyQ" isUnique="false"/>
+ <ownedAttribute xmi:id="_bm6s0E2fEd-Nn4upK86kww" name="repairRate" type="_IIFyoEucEd-ZO7qwJW2vyQ" isUnique="false"/>
+ <ownedAttribute xmi:id="_vbEz0E2fEd-Nn4upK86kww" name="base_Class" isUnique="false" association="_vZmNIE2fEd-Nn4upK86kww">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gRPOQG1ZEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gRV78G1ZEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_vw9kQE2fEd-Nn4upK86kww" name="base_Constraint" isUnique="false" association="_vvbTME2fEd-Nn4upK86kww">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Constraint"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g5N0QG1ZEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g5Uh8G1ZEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_VobVIE2fEd-Nn4upK86kww" name="A_QuantitativeSafetyConstraint_FaultFailure" memberEnd="_VpHRoE2fEd-Nn4upK86kww _Vpd28E2fEd-Nn4upK86kww">
+ <ownedEnd xmi:id="_Vpd28E2fEd-Nn4upK86kww" name="quantitativeSafetyConstraint" type="_RJZlEE2fEd-Nn4upK86kww" isUnique="false" association="_VobVIE2fEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vp4GoE2fEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Vp2RcE2fEd-Nn4upK86kww" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_uykCUE2fEd-Nn4upK86kww" name="Extension_SafetyConstraint" memberEnd="_uzpAYE2fEd-Nn4upK86kww _uz5fEE2fEd-Nn4upK86kww">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_uzpAYE2fEd-Nn4upK86kww" name="extension_SafetyConstraint" type="_BmYjIE2fEd-Nn4upK86kww" aggregation="composite" association="_uykCUE2fEd-Nn4upK86kww"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_vF2xwE2fEd-Nn4upK86kww" name="Extension_SafetyConstraint" memberEnd="_vHABQE2fEd-Nn4upK86kww _vHQf8E2fEd-Nn4upK86kww">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_vHABQE2fEd-Nn4upK86kww" name="extension_SafetyConstraint" type="_BmYjIE2fEd-Nn4upK86kww" aggregation="composite" association="_vF2xwE2fEd-Nn4upK86kww"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_vZmNIE2fEd-Nn4upK86kww" name="Extension_QuantitativeSafetyConstraint" memberEnd="_va0VIE2fEd-Nn4upK86kww _vbEz0E2fEd-Nn4upK86kww">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_va0VIE2fEd-Nn4upK86kww" name="extension_QuantitativeSafetyConstraint" type="_RJZlEE2fEd-Nn4upK86kww" aggregation="composite" association="_vZmNIE2fEd-Nn4upK86kww"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_vvbTME2fEd-Nn4upK86kww" name="Extension_QuantitativeSafetyConstraint" memberEnd="_vwtFkE2fEd-Nn4upK86kww _vw9kQE2fEd-Nn4upK86kww">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_vwtFkE2fEd-Nn4upK86kww" name="extension_QuantitativeSafetyConstraint" type="_RJZlEE2fEd-Nn4upK86kww" aggregation="composite" association="_vvbTME2fEd-Nn4upK86kww"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_z-vMQE2fEd-Nn4upK86kww" name="A_FaultFailure_Anomaly" memberEnd="_0ApQwE2fEd-Nn4upK86kww _0B9fYE2fEd-Nn4upK86kww">
+ <ownedEnd xmi:id="_0B9fYE2fEd-Nn4upK86kww" name="faultFailure" type="_CCtiYNd1Ed6hwb99h1VVPA" isUnique="false" association="_z-vMQE2fEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_0CYWIE2fEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_0CWg8E2fEd-Nn4upK86kww" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_rmGIIPK2Ed2GjMX0La-ycQ" name="SeverityClassKind">
+ <ownedComment xmi:id="_n0JzAFTLEd6YkpxqgR2miA" annotatedElement="_rmGIIPK2Ed2GjMX0La-ycQ">
+ <body>The SeverityClassKind is an enumeration metaclass with enumeration literals indicating the severity attributes S0, S1, S2 or S3 in accordance with ISO26262.
+
+Semantics:
+The semantics is defined at each enumeration literal and fully defined in the ISO26262 standard.
+
+Extension:
+Enumeration, no extension.</body>
+ </ownedComment>
+ <ownedLiteral xmi:id="_xd2lsPK2Ed2GjMX0La-ycQ" name="S0">
+ <ownedComment xmi:id="_oLY90PxkEd2ceJP4jywexA" annotatedElement="_xd2lsPK2Ed2GjMX0La-ycQ">
+ <body>No injuries.</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_y8KWwPK2Ed2GjMX0La-ycQ" name="S1">
+ <ownedComment xmi:id="_oertQPxkEd2ceJP4jywexA" annotatedElement="_y8KWwPK2Ed2GjMX0La-ycQ">
+ <body>Light and moderate injuries</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_z01rMPK2Ed2GjMX0La-ycQ" name="S2">
+ <ownedComment xmi:id="_oxNnsPxkEd2ceJP4jywexA" annotatedElement="_z01rMPK2Ed2GjMX0La-ycQ">
+ <body>Severe and life-threatening injuries (survival probable)</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_1Vp9sPK2Ed2GjMX0La-ycQ" name="S3">
+ <ownedComment xmi:id="_pGmo4PxkEd2ceJP4jywexA" annotatedElement="_1Vp9sPK2Ed2GjMX0La-ycQ">
+ <body>Life-threatening injuries (survival uncertain), fatal injuries</body>
+ </ownedComment>
+ </ownedLiteral>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_4AsnoPK2Ed2GjMX0La-ycQ" name="ExposureClassKind">
+ <ownedComment xmi:id="_T1Z3gFTJEd6YkpxqgR2miA" annotatedElement="_4AsnoPK2Ed2GjMX0La-ycQ">
+ <body>The ExposureClassKind is an enumeration metaclass with enumeration literals indicating the probability attributes E1, E2, E3 or E4 in accordance with ISO26262.
+
+Semantics:
+The semantics is defined at each enumeration literal and fully defined in the ISO26262 standard.
+
+Extension:
+Enumeration, no extension.</body>
+ </ownedComment>
+ <ownedLiteral xmi:id="_6By8sPK2Ed2GjMX0La-ycQ" name="E1">
+ <ownedComment xmi:id="_ePO2sPxkEd2ceJP4jywexA" annotatedElement="_6By8sPK2Ed2GjMX0La-ycQ">
+ <body>Rare events&#xD;
+Situations that occur less often yhan once a year for the great majority of drivers</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_7jc8sPK2Ed2GjMX0La-ycQ" name="E2">
+ <ownedComment xmi:id="_gJSvoPxkEd2ceJP4jywexA" annotatedElement="_7jc8sPK2Ed2GjMX0La-ycQ">
+ <body>Sometimes&#xD;
+Situations that occur a few times a year for the great majority of drivers</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_87gUwPK2Ed2GjMX0La-ycQ" name="E3">
+ <ownedComment xmi:id="_iL2dQPxkEd2ceJP4jywexA" annotatedElement="_87gUwPK2Ed2GjMX0La-ycQ">
+ <body>Quite often&#xD;
+Situations that occur once a month or more often for an average driver</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_-DJSQPK2Ed2GjMX0La-ycQ" name="E4">
+ <ownedComment xmi:id="_kIqvQPxkEd2ceJP4jywexA" annotatedElement="_-DJSQPK2Ed2GjMX0La-ycQ">
+ <body>Often&#xD;
+All situations that occur during almost every drive on average</body>
+ </ownedComment>
+ </ownedLiteral>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_BIMXoPK3Ed2GjMX0La-ycQ" name="ControllabilityClassKind">
+ <ownedComment xmi:id="_UOHXEPxkEd2ceJP4jywexA" annotatedElement="_BIMXoPK3Ed2GjMX0La-ycQ">
+ <body>The ControllabilityClassKind is an enumeration metaclass with enumeration literals indicating controllability attributes C0, C1, C2 or C3 in accordance with ISO26262.
+
+Semantics:
+The semantics is defined at each enumeration literal and fully defined in the ISO26262 standard.
+
+Extension:
+Enumeration, no extension.</body>
+ </ownedComment>
+ <ownedLiteral xmi:id="_Dy4cQPK3Ed2GjMX0La-ycQ" name="C1">
+ <ownedComment xmi:id="_WX1coPxkEd2ceJP4jywexA" annotatedElement="_Dy4cQPK3Ed2GjMX0La-ycQ">
+ <body>Simply controllable</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_GaMcwPK3Ed2GjMX0La-ycQ" name="C2">
+ <ownedComment xmi:id="_YWL_sPxkEd2ceJP4jywexA" annotatedElement="_GaMcwPK3Ed2GjMX0La-ycQ">
+ <body>Normally controllable</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_HXNeoPK3Ed2GjMX0La-ycQ" name="C3">
+ <ownedComment xmi:id="_aQ5_8PxkEd2ceJP4jywexA" annotatedElement="_HXNeoPK3Ed2GjMX0La-ycQ">
+ <body>Difficult to control or uncontrollable</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_0Y-TENdwEd6hwb99h1VVPA" name="C0">
+ <ownedComment xmi:id="_1tG0cNdwEd6hwb99h1VVPA" annotatedElement="_0Y-TENdwEd6hwb99h1VVPA">
+ <body>Controllable in general</body>
+ </ownedComment>
+ </ownedLiteral>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_zeeIUFQLEd6gB7J6eY3lyQ" name="DevelopmentCategoryKind">
+ <ownedComment xmi:id="_ePA_ME2ZEd-Nn4upK86kww" annotatedElement="_zeeIUFQLEd6gB7J6eY3lyQ">
+ <body>DevelopmentCategoryKind in an enumeration with enumeration literals indicating whether the item is a modification of an existing item or if it is a new development.
+
+Semantics:
+The semantics is defined at each enumeration literal and fully defined in the ISO26262 standard.
+
+Extension:
+Enumeration, no extension.</body>
+ </ownedComment>
+ <ownedLiteral xmi:id="_2U90UFQLEd6gB7J6eY3lyQ" name="modificationOfExistingItem">
+ <ownedComment xmi:id="_SbpEsFTIEd6YkpxqgR2miA" annotatedElement="_2U90UFQLEd6gB7J6eY3lyQ">
+ <body>In case of a modification the relevant lifecycle sub-phases and activities shall be determined.</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:id="_7voGMFQLEd6gB7J6eY3lyQ" name="newItemDevelopment">
+ <ownedComment xmi:id="_T7FeMFTIEd6YkpxqgR2miA" annotatedElement="_7voGMFQLEd6gB7J6eY3lyQ">
+ <body>In case of a new development, the entire lifecycle shall be passed through.</body>
+ </ownedComment>
+ </ownedLiteral>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_VFFSkFQMEd6gB7J6eY3lyQ" name="Item">
+ <ownedComment xmi:id="_zbuIgFTKEd6YkpxqgR2miA" annotatedElement="_VFFSkFQMEd6gB7J6eY3lyQ">
+ <body>The Item entity identifies the scope of safety information and the safety assessment, i.e. the part of the system onto which the ISO26262 related information applies. Safety analyses are carried out on the basis of an item definition and the safety concepts are derived from it.
+
+Semantics:
+Item represents the scope of safety information and the safety assessment trough its reference to one or several Features.
+
+Extension:
+UML::Class</body>
+ </ownedComment>
+ <generalization xmi:id="_w19_gE3WEd-eluvub9wzww" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_YQhT0FQMEd6gB7J6eY3lyQ" name="base_Class" isUnique="false" association="_YKouQFQMEd6gB7J6eY3lyQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_z6aoAFQMEd6gB7J6eY3lyQ" name="developmentCategory" type="_zeeIUFQLEd6gB7J6eY3lyQ" isUnique="false">
+ <ownedComment xmi:id="_3Qn9gFTKEd6YkpxqgR2miA" annotatedElement="_z6aoAFQMEd6gB7J6eY3lyQ">
+ <body>It shall be determined whether the item is a modification of an existing item or if it is a new development.</body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_iHvHwE2aEd-Nn4upK86kww" name="vehicleFeature" type="_i-f62TxIEdyqfK4bFJstMQ" isUnique="false" association="_iD_3QE2aEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_j1C-IE2aEd-Nn4upK86kww" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_j1IdsE2aEd-Nn4upK86kww" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_YKouQFQMEd6gB7J6eY3lyQ" name="Extension_Item" memberEnd="_YQI5UFQMEd6gB7J6eY3lyQ _YQhT0FQMEd6gB7J6eY3lyQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_YQI5UFQMEd6gB7J6eY3lyQ" name="extension_Item" type="_VFFSkFQMEd6gB7J6eY3lyQ" aggregation="composite" association="_YKouQFQMEd6gB7J6eY3lyQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_ZceJkFQMEd6gB7J6eY3lyQ" name="FeatureFlaw">
+ <ownedComment xmi:id="_FtnLgFTLEd6YkpxqgR2miA" annotatedElement="_ZceJkFQMEd6gB7J6eY3lyQ">
+ <body>FeatureFlaw denotes an abstract failure of a set of items, i.e. an inability to fulfill one or several of its requirements.
+
+Semantics:
+FeatureFlaw represents functional anomalies derivable from each foreseeable source. nonFulfilledRequirements identifies those requirements that corresponds to the FeatureFlaw.
+
+Extension:
+UML::Class</body>
+ </ownedComment>
+ <generalization xmi:id="_lW-zwFQMEd6gB7J6eY3lyQ" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_cefwIFQMEd6gB7J6eY3lyQ" name="base_Class" isUnique="false" association="_cYpm0FQMEd6gB7J6eY3lyQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_95oqMFQMEd6gB7J6eY3lyQ" name="item" type="_VFFSkFQMEd6gB7J6eY3lyQ" isUnique="false" association="_9tzNoFQMEd6gB7J6eY3lyQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_96N5AFQMEd6gB7J6eY3lyQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_96K1sFQMEd6gB7J6eY3lyQ" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_gcnNQE2bEd-Nn4upK86kww" name="nonFulfilledRequirement" type="_i-WLxjxIEdyqfK4bFJstMQ" isUnique="false" association="_gbAqwE2bEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gdQGcE2bEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gdUX4E2bEd-Nn4upK86kww" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_cYpm0FQMEd6gB7J6eY3lyQ" name="Extension_Malfunction" memberEnd="_ceMOIFQMEd6gB7J6eY3lyQ _cefwIFQMEd6gB7J6eY3lyQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_ceMOIFQMEd6gB7J6eY3lyQ" name="extension_Malfunction" type="_ZceJkFQMEd6gB7J6eY3lyQ" aggregation="composite" association="_cYpm0FQMEd6gB7J6eY3lyQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_9tzNoFQMEd6gB7J6eY3lyQ" name="A_Item_Malfunction" memberEnd="_94_xAFQMEd6gB7J6eY3lyQ _95oqMFQMEd6gB7J6eY3lyQ">
+ <ownedEnd xmi:id="_94_xAFQMEd6gB7J6eY3lyQ" name="malfunction" type="_ZceJkFQMEd6gB7J6eY3lyQ" isUnique="false" association="_9tzNoFQMEd6gB7J6eY3lyQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_95h8gFQMEd6gB7J6eY3lyQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_95lm4FQMEd6gB7J6eY3lyQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_i5rOYFQNEd6gB7J6eY3lyQ" name="A_Hazard_Malfunction" memberEnd="_i_oscFQNEd6gB7J6eY3lyQ _jBYY4FQNEd6gB7J6eY3lyQ">
+ <ownedEnd xmi:id="_jBYY4FQNEd6gB7J6eY3lyQ" name="hazard" type="_i-WMjTxIEdyqfK4bFJstMQ" isUnique="false" association="_i5rOYFQNEd6gB7J6eY3lyQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jCCgMFQNEd6gB7J6eY3lyQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jB_c4FQNEd6gB7J6eY3lyQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WMjTxIEdyqfK4bFJstMQ" name="Hazard">
+ <ownedComment xmi:id="_PoFmIJXlEd2iJ9_Y3as_2A" annotatedElement="_i-WMjTxIEdyqfK4bFJstMQ">
+ <body>The Hazard represents a condition or state in the system that may contribute to accidents. It is usually a failure of some kind, but may also be a result of nominal operation.
+The Hazard does not address hazards as electric shock, fire, smoke, heat, radiation, toxicity, flammability, reactivity, corrosion, release of energy, and similar hazards unless directly caused by malfunctioning behaviour of E/E safety related systems..
+The Hazard metaclass is contained in the context, as Hazard specializes ADLTraceableSpecification. The context describes the element of the system where this hazard occur.</body>
+ </ownedComment>
+ <generalization xmi:id="_i-WMjzxIEdyqfK4bFJstMQ" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_tdaXcUAWEdympvaafZjFBw" name="base_Class" isUnique="false" association="_tdG1cEAWEdympvaafZjFBw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_i_oscFQNEd6gB7J6eY3lyQ" name="malfunction" type="_ZceJkFQMEd6gB7J6eY3lyQ" isUnique="false" association="_i5rOYFQNEd6gB7J6eY3lyQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_K_CRYE2bEd-Nn4upK86kww" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_K_HJ4E2bEd-Nn4upK86kww" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_ZDcnUE2bEd-Nn4upK86kww" name="item" type="_VFFSkFQMEd6gB7J6eY3lyQ" isUnique="false" association="_Y889wE2bEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ZE28kE2bEd-Nn4upK86kww" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ZE6m8E2bEd-Nn4upK86kww" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_tdG1cEAWEdympvaafZjFBw" name="Extension_Hazard" memberEnd="_tdaXcEAWEdympvaafZjFBw _tdaXcUAWEdympvaafZjFBw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_tdaXcEAWEdympvaafZjFBw" name="base_Hazard" type="_i-WMjTxIEdyqfK4bFJstMQ" aggregation="composite" association="_tdG1cEAWEdympvaafZjFBw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_iD_3QE2aEd-Nn4upK86kww" name="A_Item_VehicleFeature" memberEnd="_iHvHwE2aEd-Nn4upK86kww _iI6McE2aEd-Nn4upK86kww">
+ <ownedEnd xmi:id="_iI6McE2aEd-Nn4upK86kww" name="item" type="_VFFSkFQMEd6gB7J6eY3lyQ" isUnique="false" association="_iD_3QE2aEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iJRY0E2aEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iJPjoE2aEd-Nn4upK86kww" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_Y889wE2bEd-Nn4upK86kww" name="A_Hazard_Item" memberEnd="_ZDcnUE2bEd-Nn4upK86kww _ZFDJ0E2bEd-Nn4upK86kww">
+ <ownedEnd xmi:id="_ZFDJ0E2bEd-Nn4upK86kww" name="hazard" type="_i-WMjTxIEdyqfK4bFJstMQ" isUnique="false" association="_Y889wE2bEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ZFaWME2bEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ZFYhAE2bEd-Nn4upK86kww" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_gbAqwE2bEd-Nn4upK86kww" name="A_FeatureFlaw_Requirement" memberEnd="_gcnNQE2bEd-Nn4upK86kww _gdYCQE2bEd-Nn4upK86kww">
+ <ownedEnd xmi:id="_gdYCQE2bEd-Nn4upK86kww" name="featureFlaw" type="_ZceJkFQMEd6gB7J6eY3lyQ" isUnique="false" association="_gbAqwE2bEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gdzgEE2bEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gdxD0E2bEd-Nn4upK86kww" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_1dtogE2bEd-Nn4upK86kww" name="Extension_SafetyGoal" memberEnd="_1kcioE2bEd-Nn4upK86kww _1kp-AE2bEd-Nn4upK86kww">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_1kcioE2bEd-Nn4upK86kww" name="extension_SafetyGoal" type="_0GfPYN4mEdyW6f_GAa5b1w" aggregation="composite" association="_1dtogE2bEd-Nn4upK86kww"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_7Y5NgE2bEd-Nn4upK86kww" name="HazardousEvent">
+ <ownedComment xmi:id="_VnV3YE2cEd-Nn4upK86kww" annotatedElement="_7Y5NgE2bEd-Nn4upK86kww">
+ <body>The HazardousEvent metaclass represents a combination of a Hazard and a specific situation, the latter being characterized by operating mode and operational situation in terms of a particular use case, environment and traffic.
+
+Semantics:
+The HazardousEvent denotes a combination of a Hazard and an operational situation. The controllability and severity attributes shall be consistent with the operational situation and operational scenario, and the Exposure shall reflect the likelihood of the operational situation and scenario.
+
+Notation:
+The Hazard is shown as a solid-outline rectangle with &quot;Haz&quot; at the top right. It contains the name of the Hazard and optionally the name of the source entity.
+
+Extension:
+UML::Class</body>
+ </ownedComment>
+ <generalization xmi:id="_RSrkQE2cEd-Nn4upK86kww" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_bA25wE2cEd-Nn4upK86kww" name="base_Class" isUnique="false" association="_a6Uz8E2cEd-Nn4upK86kww">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_iniXQE2cEd-Nn4upK86kww" name="controllability" type="_BIMXoPK3Ed2GjMX0La-ycQ" isUnique="false"/>
+ <ownedAttribute xmi:id="_ogXy4E2cEd-Nn4upK86kww" name="exposure" type="_4AsnoPK2Ed2GjMX0La-ycQ" isUnique="false"/>
+ <ownedAttribute xmi:id="_roA5QE2cEd-Nn4upK86kww" name="hazardClassification" type="_wVZp0DxIEdyqfK4bFJstMQ" isUnique="false"/>
+ <ownedAttribute xmi:id="_wUa-AE2cEd-Nn4upK86kww" name="severity" type="_rmGIIPK2Ed2GjMX0La-ycQ" isUnique="false"/>
+ <ownedAttribute xmi:id="_0HfnAE2cEd-Nn4upK86kww" name="classificationAssumptions" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_2zXXYE2cEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_2zc28E2cEd-Nn4upK86kww" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_4b4NUE2cEd-Nn4upK86kww" name="hazard" type="_i-WMjTxIEdyqfK4bFJstMQ" isUnique="false" association="_4Ua6cE2cEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_5a_g8E2cEd-Nn4upK86kww" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_5bFnkE2cEd-Nn4upK86kww" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_NnYhwE2dEd-Nn4upK86kww" name="traffic" type="_kMhuIFgbEd-SipQLbZtnVw" isUnique="false" association="_NlKUME2dEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DX8oUFgcEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DYDWAFgcEd-SipQLbZtnVw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_OMARwE2dEd-Nn4upK86kww" name="environment" type="_kMhuIFgbEd-SipQLbZtnVw" isUnique="false" association="_OFOUUE2dEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_AKEXEFgcEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_AKPWMFgcEd-SipQLbZtnVw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Qwx7oE2dEd-Nn4upK86kww" name="operationalSituationUseCase" isUnique="false" association="_Qt-fQE2dEd-Nn4upK86kww">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#UseCase"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vj_zAE2dEd-Nn4upK86kww" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VkKLEE2dEd-Nn4upK86kww" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_jO0kQE2dEd-Nn4upK86kww" name="operatingMode" type="_1nGm4NjgEd6wXIBypQTswA" isUnique="false" association="_jHemIE2dEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jQCFME2dEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jQG9sE2dEd-Nn4upK86kww" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_1SZzAGztEd-32sTBz6AwMQ" name="externalMeasures" type="_i-WLxjxIEdyqfK4bFJstMQ" isUnique="false" association="_1My6QGztEd-32sTBz6AwMQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_1TMdMGztEd-32sTBz6AwMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_1TR8wGztEd-32sTBz6AwMQ" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_a6Uz8E2cEd-Nn4upK86kww" name="Extension_HazardousEvent" memberEnd="_bAo3UE2cEd-Nn4upK86kww _bA25wE2cEd-Nn4upK86kww">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_bAo3UE2cEd-Nn4upK86kww" name="extension_HazardousEvent" type="_7Y5NgE2bEd-Nn4upK86kww" aggregation="composite" association="_a6Uz8E2cEd-Nn4upK86kww"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_4Ua6cE2cEd-Nn4upK86kww" name="A_HazardousEvent_Hazard" memberEnd="_4b4NUE2cEd-Nn4upK86kww _4c9ycE2cEd-Nn4upK86kww">
+ <ownedEnd xmi:id="_4c9ycE2cEd-Nn4upK86kww" name="hazardousEvent" type="_7Y5NgE2bEd-Nn4upK86kww" isUnique="false" association="_4Ua6cE2cEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4dVl4E2cEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4dTwsE2cEd-Nn4upK86kww" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_NlKUME2dEd-Nn4upK86kww" name="A_HazardousEvent_OperationalSituation" memberEnd="_NnYhwE2dEd-Nn4upK86kww _Noi_YE2dEd-Nn4upK86kww">
+ <ownedEnd xmi:id="_Noi_YE2dEd-Nn4upK86kww" name="hazardousEvent" type="_7Y5NgE2bEd-Nn4upK86kww" isUnique="false" association="_NlKUME2dEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_No8A8E2dEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_No5ksE2dEd-Nn4upK86kww" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_OFOUUE2dEd-Nn4upK86kww" name="A_HazardousEvent_OperationalSituation" memberEnd="_OMARwE2dEd-Nn4upK86kww _ONPA0E2dEd-Nn4upK86kww">
+ <ownedEnd xmi:id="_ONPA0E2dEd-Nn4upK86kww" name="hazardousEvent" type="_7Y5NgE2bEd-Nn4upK86kww" isUnique="false" association="_OFOUUE2dEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ONnbUE2dEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ONlmIE2dEd-Nn4upK86kww" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_Qt-fQE2dEd-Nn4upK86kww" name="A_HazardousEvent_UseCase" memberEnd="_Qwx7oE2dEd-Nn4upK86kww _QydWoE2dEd-Nn4upK86kww">
+ <ownedEnd xmi:id="_QydWoE2dEd-Nn4upK86kww" name="hazardousEvent" type="_7Y5NgE2bEd-Nn4upK86kww" isUnique="false" association="_Qt-fQE2dEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Qy5bgE2dEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Qy3mUE2dEd-Nn4upK86kww" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_jHemIE2dEd-Nn4upK86kww" name="A_HazardousEvent_Mode" memberEnd="_jO0kQE2dEd-Nn4upK86kww _jQL2ME2dEd-Nn4upK86kww">
+ <ownedEnd xmi:id="_jQL2ME2dEd-Nn4upK86kww" name="hazardousEvent" type="_7Y5NgE2bEd-Nn4upK86kww" isUnique="false" association="_jHemIE2dEd-Nn4upK86kww">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jQn7EE2dEd-Nn4upK86kww"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jQmF4E2dEd-Nn4upK86kww" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_cUEZkFgaEd-SipQLbZtnVw" name="Dependability">
+ <generalization xmi:id="_iJt-UFgaEd-SipQLbZtnVw" general="_i-WNsjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_ezNVgFgaEd-SipQLbZtnVw" name="base_Class" isUnique="false" association="_erRhgFgaEd-SipQLbZtnVw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_k_cCwG1ZEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_k_hiUG1ZEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_fPJDkFgaEd-SipQLbZtnVw" name="base_Package" isUnique="false" association="_fLaaIFgaEd-SipQLbZtnVw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_lqxewG1ZEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_lq3lYG1ZEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_B-ZQ4FgbEd-SipQLbZtnVw" name="functionalSafetyConcept" type="_gj0hAN4mEdyW6f_GAa5b1w" isUnique="false" association="_B6oyQFgbEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_B-vPIFgbEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_B-xEUFgbEd-SipQLbZtnVw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_CW-I8FgbEd-SipQLbZtnVw" name="safetyGoal" type="_0GfPYN4mEdyW6f_GAa5b1w" isUnique="false" association="_CORf8FgbEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_CXV8YFgbEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_CXXxkFgbEd-SipQLbZtnVw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_ClUG8FgbEd-SipQLbZtnVw" name="technicalSafetyConcept" type="_qtH20N4nEdyW6f_GAa5b1w" isUnique="false" association="_Chc6oFgbEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ClyoEFgbEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Cl0dQFgbEd-SipQLbZtnVw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_C65VYFgbEd-SipQLbZtnVw" name="hazardousEvent" type="_7Y5NgE2bEd-Nn4upK86kww" isUnique="false" association="_CyBGMFgbEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_C7YdkFgbEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_C7aSwFgbEd-SipQLbZtnVw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_DIAkUFgbEd-SipQLbZtnVw" name="featureFlaw" type="_ZceJkFQMEd6gB7J6eY3lyQ" isUnique="false" association="_DD-Y4FgbEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DIiIwFgbEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DIklAFgbEd-SipQLbZtnVw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_DmLuEFgbEd-SipQLbZtnVw" name="item" type="_VFFSkFQMEd6gB7J6eY3lyQ" isUnique="false" association="_DdCZIFgbEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DmsEYFgbEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Dmt5kFgbEd-SipQLbZtnVw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_DxMrQFgbEd-SipQLbZtnVw" name="eADatatype" type="_i-WNODxIEdyqfK4bFJstMQ" isUnique="false" association="_DtEZMFgbEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DxuPsFgbEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DxwE4FgbEd-SipQLbZtnVw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_EHUsQFgbEd-SipQLbZtnVw" name="faultFailure" type="_CCtiYNd1Ed6hwb99h1VVPA" isUnique="false" association="_D95DcFgbEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_EH23wFgbEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_EH4s8FgbEd-SipQLbZtnVw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_EaNMAFgbEd-SipQLbZtnVw" name="quantitativeSafetyConstraint" type="_RJZlEE2fEd-Nn4upK86kww" isUnique="false" association="_EVu7sFgbEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Ea03EFgbEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Ea3TUFgbEd-SipQLbZtnVw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_EuYFMFgbEd-SipQLbZtnVw" name="safetyConstraint" type="_BmYjIE2fEd-Nn4upK86kww" isUnique="false" association="_EkiMsFgbEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_EvDaoFgbEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_EvFP0FgbEd-SipQLbZtnVw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_E-9e4FgbEd-SipQLbZtnVw" name="safetyCase" type="_nkfVIN4rEdyW6f_GAa5b1w" isUnique="false" association="_E6ZH8FgbEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_E_qpgFgbEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_E_tFwFgbEd-SipQLbZtnVw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_FV-3wFgbEd-SipQLbZtnVw" name="errorModelType" type="_PirykPN4Ed2Fz7wuW3iPYQ" isUnique="false" association="_FMgysFgbEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FWnJ4FgbEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FWo_EFgbEd-SipQLbZtnVw" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_erRhgFgaEd-SipQLbZtnVw" name="Extension_Dependability" memberEnd="_ey-E8FgaEd-SipQLbZtnVw _ezNVgFgaEd-SipQLbZtnVw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_ey-E8FgaEd-SipQLbZtnVw" name="extension_Dependability" type="_cUEZkFgaEd-SipQLbZtnVw" aggregation="composite" association="_erRhgFgaEd-SipQLbZtnVw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_fLaaIFgaEd-SipQLbZtnVw" name="Extension_Dependability" memberEnd="_fO390FgaEd-SipQLbZtnVw _fPJDkFgaEd-SipQLbZtnVw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_fO390FgaEd-SipQLbZtnVw" name="extension_Dependability" type="_cUEZkFgaEd-SipQLbZtnVw" aggregation="composite" association="_fLaaIFgaEd-SipQLbZtnVw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_B6oyQFgbEd-SipQLbZtnVw" name="A_Dependability_FunctionalSafetyConcept" memberEnd="_B-ZQ4FgbEd-SipQLbZtnVw _B-zgkFgbEd-SipQLbZtnVw">
+ <ownedEnd xmi:id="_B-zgkFgbEd-SipQLbZtnVw" name="dependability" type="_cUEZkFgaEd-SipQLbZtnVw" isUnique="false" association="_B6oyQFgbEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_B_SowFgbEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_B_QMgFgbEd-SipQLbZtnVw" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_CORf8FgbEd-SipQLbZtnVw" name="A_Dependability_SafetyGoal" memberEnd="_CW-I8FgbEd-SipQLbZtnVw _CXZmwFgbEd-SipQLbZtnVw">
+ <ownedEnd xmi:id="_CXZmwFgbEd-SipQLbZtnVw" name="dependability" type="_cUEZkFgaEd-SipQLbZtnVw" isUnique="false" association="_CORf8FgbEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_CXz2cFgbEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_CXyBQFgbEd-SipQLbZtnVw" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_Chc6oFgbEd-SipQLbZtnVw" name="A_Dependability_TechnicalSafetyConcept" memberEnd="_ClUG8FgbEd-SipQLbZtnVw _Cl25gFgbEd-SipQLbZtnVw">
+ <ownedEnd xmi:id="_Cl25gFgbEd-SipQLbZtnVw" name="dependability" type="_cUEZkFgaEd-SipQLbZtnVw" isUnique="false" association="_Chc6oFgbEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_CmSXUFgbEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_CmP7EFgbEd-SipQLbZtnVw" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_CyBGMFgbEd-SipQLbZtnVw" name="A_Dependability_HazardousEvent" memberEnd="_C65VYFgbEd-SipQLbZtnVw _C7cH8FgbEd-SipQLbZtnVw">
+ <ownedEnd xmi:id="_C7cH8FgbEd-SipQLbZtnVw" name="dependability" type="_cUEZkFgaEd-SipQLbZtnVw" isUnique="false" association="_CyBGMFgbEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_C73lwFgbEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_C71JgFgbEd-SipQLbZtnVw" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_DD-Y4FgbEd-SipQLbZtnVw" name="A_Dependability_FeatureFlaw" memberEnd="_DIAkUFgbEd-SipQLbZtnVw _DImaMFgbEd-SipQLbZtnVw">
+ <ownedEnd xmi:id="_DImaMFgbEd-SipQLbZtnVw" name="dependability" type="_cUEZkFgaEd-SipQLbZtnVw" isUnique="false" association="_DD-Y4FgbEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DJEUQFgbEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DJB4AFgbEd-SipQLbZtnVw" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_DdCZIFgbEd-SipQLbZtnVw" name="A_Dependability_Item" memberEnd="_DmLuEFgbEd-SipQLbZtnVw _DmwV0FgbEd-SipQLbZtnVw">
+ <ownedEnd xmi:id="_DmwV0FgbEd-SipQLbZtnVw" name="dependability" type="_cUEZkFgaEd-SipQLbZtnVw" isUnique="false" association="_DdCZIFgbEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DnQsIFgbEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DnO28FgbEd-SipQLbZtnVw" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_DtEZMFgbEd-SipQLbZtnVw" name="A_Dependability_EADatatype" memberEnd="_DxMrQFgbEd-SipQLbZtnVw _Dx1kcFgbEd-SipQLbZtnVw">
+ <ownedEnd xmi:id="_Dx1kcFgbEd-SipQLbZtnVw" name="dependability" type="_cUEZkFgaEd-SipQLbZtnVw" isUnique="false" association="_DtEZMFgbEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DyRCQFgbEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DyOmAFgbEd-SipQLbZtnVw" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_D95DcFgbEd-SipQLbZtnVw" name="A_Dependability_FaultFailure" memberEnd="_EHUsQFgbEd-SipQLbZtnVw _EH6iIFgbEd-SipQLbZtnVw">
+ <ownedEnd xmi:id="_EH6iIFgbEd-SipQLbZtnVw" name="dependability" type="_cUEZkFgaEd-SipQLbZtnVw" isUnique="false" association="_D95DcFgbEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_EIZDQFgbEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_EIXOEFgbEd-SipQLbZtnVw" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_EVu7sFgbEd-SipQLbZtnVw" name="A_Dependability_QuantitativeSafetyConstraint" memberEnd="_EaNMAFgbEd-SipQLbZtnVw _Ea5vkFgbEd-SipQLbZtnVw">
+ <ownedEnd xmi:id="_Ea5vkFgbEd-SipQLbZtnVw" name="dependability" type="_cUEZkFgaEd-SipQLbZtnVw" isUnique="false" association="_EVu7sFgbEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_EbaF4FgbEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_EbYQsFgbEd-SipQLbZtnVw" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_EkiMsFgbEd-SipQLbZtnVw" name="A_Dependability_SafetyConstraint" memberEnd="_EuYFMFgbEd-SipQLbZtnVw _EvHFAFgbEd-SipQLbZtnVw">
+ <ownedEnd xmi:id="_EvHFAFgbEd-SipQLbZtnVw" name="dependability" type="_cUEZkFgaEd-SipQLbZtnVw" isUnique="false" association="_EkiMsFgbEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Evii0FgbEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_EvgtoFgbEd-SipQLbZtnVw" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_E6ZH8FgbEd-SipQLbZtnVw" name="A_Dependability_SafetyCase" memberEnd="_E-9e4FgbEd-SipQLbZtnVw _E_u68FgbEd-SipQLbZtnVw">
+ <ownedEnd xmi:id="_E_u68FgbEd-SipQLbZtnVw" name="dependability" type="_cUEZkFgaEd-SipQLbZtnVw" isUnique="false" association="_E6ZH8FgbEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FALm4FgbEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FAJxsFgbEd-SipQLbZtnVw" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_FMgysFgbEd-SipQLbZtnVw" name="A_Dependability_ErrorModelType" memberEnd="_FV-3wFgbEd-SipQLbZtnVw _FWq0QFgbEd-SipQLbZtnVw">
+ <ownedEnd xmi:id="_FWq0QFgbEd-SipQLbZtnVw" name="dependability" type="_cUEZkFgaEd-SipQLbZtnVw" isUnique="false" association="_FMgysFgbEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FXJ8cFgbEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FXIHQFgbEd-SipQLbZtnVw" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_1My6QGztEd-32sTBz6AwMQ" name="A_HazardousEvent_Requirement" memberEnd="_1SZzAGztEd-32sTBz6AwMQ _1TVAEGztEd-32sTBz6AwMQ">
+ <ownedEnd xmi:id="_1TVAEGztEd-32sTBz6AwMQ" name="hazardousEvent" type="_7Y5NgE2bEd-Nn4upK86kww" isUnique="false" association="_1My6QGztEd-32sTBz6AwMQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_1TsMcGztEd-32sTBz6AwMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_1TqXQGztEd-32sTBz6AwMQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="_HR2l4ErmEd-squZ2Pzs1Iw" name="Annex">
+ <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_LNIvsErmEd-squZ2Pzs1Iw" name="Dummy">
+ <ownedComment xmi:id="_rtbLEErmEd-squZ2Pzs1Iw" annotatedElement="_LNIvsErmEd-squZ2Pzs1Iw">
+ <body>Dummy DataType, just added for code generation purpose.&#xD;
+In other words, this data type for EMF generation of SysmlPackage and SysmlFactory&#xD;
+java classes in the model code.&#xD;
+&#xD;
+Do not remove this !!!</body>
+ </ownedComment>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="_OTomkErmEd-squZ2Pzs1Iw" name="Needs">
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_371L0FQIEd6gB7J6eY3lyQ" name="Stakeholder">
+ <ownedComment xmi:id="_5kuAsFTCEd6YkpxqgR2miA" annotatedElement="_371L0FQIEd6gB7J6eY3lyQ">
+ <body>The stakeholder represents various roles with regard to the creation and use of architectural descriptions. Stakeholders include clients, users, the architect, developers, and evaluators. [IEEE 1471]</body>
+ </ownedComment>
+ <generalization xmi:id="_VH2aEFQJEd6gB7J6eY3lyQ" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_YdECYFQJEd6gB7J6eY3lyQ" name="base_Class" isUnique="false" association="_YNvM8FQJEd6gB7J6eY3lyQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_1JaSEFQJEd6gB7J6eY3lyQ" name="responsibilities" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_z9RWgExIEd-8Fb2lgHByaQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_z9YEMExIEd-8Fb2lgHByaQ" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_3lQCYFQJEd6gB7J6eY3lyQ" name="successCriteria" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_0oCx0ExIEd-8Fb2lgHByaQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_0oKGkExIEd-8Fb2lgHByaQ" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_65a-UFQIEd6gB7J6eY3lyQ" name="StakeholderNeed">
+ <ownedComment xmi:id="_-mNkoFTCEd6YkpxqgR2miA" annotatedElement="_65a-UFQIEd6gB7J6eY3lyQ">
+ <body>Stakeholder needs represent a list of the key problems as perceived by the stakeholder, and it gives the opportunity to establish traceability from artifacts created later, for example to provide rationales to design decisions or trade-off analysis.</body>
+ </ownedComment>
+ <generalization xmi:id="_VfyY8FQJEd6gB7J6eY3lyQ" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_Y80ggFQJEd6gB7J6eY3lyQ" name="base_Class" isUnique="false" association="_YtaLgFQJEd6gB7J6eY3lyQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_8d1h8FQJEd6gB7J6eY3lyQ" name="need" isUnique="false" redefinedProperty="_M6E0QEVLEd6JdbCOp56STA">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_BL9d8FQKEd6gB7J6eY3lyQ" name="priority" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_Fl-yMFQKEd6gB7J6eY3lyQ" name="stakeHolder" type="_371L0FQIEd6gB7J6eY3lyQ" isUnique="false" association="_FWm5cFQKEd6gB7J6eY3lyQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Fmg9sFQKEd6gB7J6eY3lyQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FmkoEFQKEd6gB7J6eY3lyQ" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_VWTQUFQKEd6gB7J6eY3lyQ" name="problemStatement" type="_-5Yz0FQIEd6gB7J6eY3lyQ" isUnique="false" association="_VGmncFQKEd6gB7J6eY3lyQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gDLxMExJEd-8Fb2lgHByaQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gDX-cExJEd-8Fb2lgHByaQ" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_-5Yz0FQIEd6gB7J6eY3lyQ" name="ProblemStatement">
+ <ownedComment xmi:id="_BAk7QFQ0Ed6Xd4cXg8Jv5g" annotatedElement="_-5Yz0FQIEd6gB7J6eY3lyQ">
+ <body>The problem statement represents a brief statement summarizing the problem being solved which gives the opportunity to establish traceability from artifacts created later, for example to provide rationales to design decisions or trade-off analysis.
+
+The problem statement could be extended with further modeling of dependencies between different problems and deduction of root problems</body>
+ </ownedComment>
+ <generalization xmi:id="_V8aDgFQJEd6gB7J6eY3lyQ" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_ZgYgkFQJEd6gB7J6eY3lyQ" name="base_Class" isUnique="false" association="_ZRMOAFQJEd6gB7J6eY3lyQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_IUzv8FQKEd6gB7J6eY3lyQ" name="affects" type="_371L0FQIEd6gB7J6eY3lyQ" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ouDjIFgcEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ouH0kFgcEd-SipQLbZtnVw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_KvC9wFQKEd6gB7J6eY3lyQ" name="impact" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_MvrYwFQKEd6gB7J6eY3lyQ" name="problem" isUnique="false" redefinedProperty="_M6E0QEVLEd6JdbCOp56STA">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_P97dcFQKEd6gB7J6eY3lyQ" name="solutionBenefits" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_CMkb0FQJEd6gB7J6eY3lyQ" name="ProductPositioning">
+ <ownedComment xmi:id="_FBE8QFQ0Ed6Xd4cXg8Jv5g" annotatedElement="_CMkb0FQJEd6gB7J6eY3lyQ">
+ <body>The problem positioning represents an overall brief statement summarizing, at the highest level, the unique position the product intends to fill in the marketplace which gives the opportunity to establish traceability from artifacts created later, for example to provide rationales to design decisions or trade-off analysis.
+
+Positioning is assumed to belong to a particular context, typically a system, but also for a smaller part of a system.</body>
+ </ownedComment>
+ <generalization xmi:id="_WWMcgFQJEd6gB7J6eY3lyQ" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_aC70AFQJEd6gB7J6eY3lyQ" name="base_Class" isUnique="false" association="_Zz1BAFQJEd6gB7J6eY3lyQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_by118FQKEd6gB7J6eY3lyQ" name="drivingNeeds" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_eEvnIFQKEd6gB7J6eY3lyQ" name="keyCapabilities" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_gRDGoFQKEd6gB7J6eY3lyQ" name="primaryCompetitiveAlternative" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_jqQeIFQKEd6gB7J6eY3lyQ" name="primaryDifferentiation" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_mnQawFQKEd6gB7J6eY3lyQ" name="targetCustomers" isUnique="false">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_F5dkUFQJEd6gB7J6eY3lyQ" name="BusinessOpportunity">
+ <ownedComment xmi:id="_zQlsQFQqEd6IK-HxDirnpA" annotatedElement="_F5dkUFQJEd6gB7J6eY3lyQ">
+ <body>The business opportunity represents a brief description of the business opportunity being met by developing the EE-System which establishes traceability from artifacts created later, for example to provide rationales to design decisions or trade-off analysis.</body>
+ </ownedComment>
+ <generalization xmi:id="_WxIsEFQJEd6gB7J6eY3lyQ" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_amVcAFQJEd6gB7J6eY3lyQ" name="base_Class" isUnique="false" association="_aXJwgFQJEd6gB7J6eY3lyQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_ZVu6UFQKEd6gB7J6eY3lyQ" name="problemStatement" type="_-5Yz0FQIEd6gB7J6eY3lyQ" isUnique="false" association="_ZGMCcFQKEd6gB7J6eY3lyQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ZWK_MFQKEd6gB7J6eY3lyQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ZWOCgFQKEd6gB7J6eY3lyQ" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_uhRD8FQKEd6gB7J6eY3lyQ" name="productPositioning" type="_CMkb0FQJEd6gB7J6eY3lyQ" isUnique="false" association="_uRRgIFQKEd6gB7J6eY3lyQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uhwzMFQKEd6gB7J6eY3lyQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uhz2gFQKEd6gB7J6eY3lyQ" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_OgKCcFQLEd6gB7J6eY3lyQ" name="businessOpportunity" isUnique="false" redefinedProperty="_M6E0QEVLEd6JdbCOp56STA">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_YNvM8FQJEd6gB7J6eY3lyQ" name="Extension_ADLStakeHolder" memberEnd="_YcwgYFQJEd6gB7J6eY3lyQ _YdECYFQJEd6gB7J6eY3lyQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_YcwgYFQJEd6gB7J6eY3lyQ" name="extension_ADLStakeHolder" type="_371L0FQIEd6gB7J6eY3lyQ" aggregation="composite" association="_YNvM8FQJEd6gB7J6eY3lyQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_YtaLgFQJEd6gB7J6eY3lyQ" name="Extension_ADLStakeholderNeed" memberEnd="_Y8hlkFQJEd6gB7J6eY3lyQ _Y80ggFQJEd6gB7J6eY3lyQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_Y8hlkFQJEd6gB7J6eY3lyQ" name="extension_ADLStakeholderNeed" type="_65a-UFQIEd6gB7J6eY3lyQ" aggregation="composite" association="_YtaLgFQJEd6gB7J6eY3lyQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_ZRMOAFQJEd6gB7J6eY3lyQ" name="Extension_ADLProblemStatement" memberEnd="_ZgFloFQJEd6gB7J6eY3lyQ _ZgYgkFQJEd6gB7J6eY3lyQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_ZgFloFQJEd6gB7J6eY3lyQ" name="extension_ADLProblemStatement" type="_-5Yz0FQIEd6gB7J6eY3lyQ" aggregation="composite" association="_ZRMOAFQJEd6gB7J6eY3lyQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_Zz1BAFQJEd6gB7J6eY3lyQ" name="Extension_ADLProductPositioning" memberEnd="_aCo5EFQJEd6gB7J6eY3lyQ _aC70AFQJEd6gB7J6eY3lyQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_aCo5EFQJEd6gB7J6eY3lyQ" name="extension_ADLProductPositioning" type="_CMkb0FQJEd6gB7J6eY3lyQ" aggregation="composite" association="_Zz1BAFQJEd6gB7J6eY3lyQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_aXJwgFQJEd6gB7J6eY3lyQ" name="Extension_ADLBusinessOpportunity" memberEnd="_amB6AFQJEd6gB7J6eY3lyQ _amVcAFQJEd6gB7J6eY3lyQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_amB6AFQJEd6gB7J6eY3lyQ" name="extension_ADLBusinessOpportunity" type="_F5dkUFQJEd6gB7J6eY3lyQ" aggregation="composite" association="_aXJwgFQJEd6gB7J6eY3lyQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_FWm5cFQKEd6gB7J6eY3lyQ" name="A_ADLStakeholderNeed_ADLStakeHolder" memberEnd="_Fl-yMFQKEd6gB7J6eY3lyQ _FmnrYFQKEd6gB7J6eY3lyQ">
+ <ownedEnd xmi:id="_FmnrYFQKEd6gB7J6eY3lyQ" name="aDLStakeholderNeed" type="_65a-UFQIEd6gB7J6eY3lyQ" isUnique="false" association="_FWm5cFQKEd6gB7J6eY3lyQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FnM6MFQKEd6gB7J6eY3lyQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FnJ24FQKEd6gB7J6eY3lyQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_VGmncFQKEd6gB7J6eY3lyQ" name="A_ADLStakeholderNeed_ADLProblemStatement" memberEnd="_VWTQUFQKEd6gB7J6eY3lyQ _VW_M0FQKEd6gB7J6eY3lyQ">
+ <ownedEnd xmi:id="_VW_M0FQKEd6gB7J6eY3lyQ" name="aDLStakeholderNeed" type="_65a-UFQIEd6gB7J6eY3lyQ" isUnique="false" association="_VGmncFQKEd6gB7J6eY3lyQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VXlCsFQKEd6gB7J6eY3lyQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VXh_YFQKEd6gB7J6eY3lyQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_ZGMCcFQKEd6gB7J6eY3lyQ" name="A_ADLBusinessOpportunity_ADLProblemStatement" memberEnd="_ZVu6UFQKEd6gB7J6eY3lyQ _ZWRs4FQKEd6gB7J6eY3lyQ">
+ <ownedEnd xmi:id="_ZWRs4FQKEd6gB7J6eY3lyQ" name="aDLBusinessOpportunity" type="_F5dkUFQJEd6gB7J6eY3lyQ" isUnique="false" association="_ZGMCcFQKEd6gB7J6eY3lyQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ZW3iwFQKEd6gB7J6eY3lyQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ZW0fcFQKEd6gB7J6eY3lyQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_uRRgIFQKEd6gB7J6eY3lyQ" name="A_ADLBusinessOpportunity_ADLProductPositioning" memberEnd="_uhRD8FQKEd6gB7J6eY3lyQ _uh250FQKEd6gB7J6eY3lyQ">
+ <ownedEnd xmi:id="_uh250FQKEd6gB7J6eY3lyQ" name="aDLBusinessOpportunity" type="_F5dkUFQJEd6gB7J6eY3lyQ" isUnique="false" association="_uRRgIFQKEd6gB7J6eY3lyQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uid90FQKEd6gB7J6eY3lyQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uia6gFQKEd6gB7J6eY3lyQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_042DYExHEd-8Fb2lgHByaQ" name="Concept" isAbstract="true">
+ <ownedComment xmi:id="_0UkxUExKEd-8Fb2lgHByaQ" annotatedElement="_042DYExHEd-8Fb2lgHByaQ">
+ <body>An abstract or general idea inferred or derived from specific instances. [Webster]</body>
+ </ownedComment>
+ <generalization xmi:id="_BCVuwJqsEeGhQ8mhoNM_3Q" general="_i-WNqzxIEdyqfK4bFJstMQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_5H5dwExHEd-8Fb2lgHByaQ" name="Mission">
+ <ownedComment xmi:id="_2AF38ExKEd-8Fb2lgHByaQ" annotatedElement="_5H5dwExHEd-8Fb2lgHByaQ">
+ <body>A mission is a use or operation for which a system is intended by one or more stakeholders to meet some set of objectives. [IEEE 1471]</body>
+ </ownedComment>
+ <generalization xmi:id="_LTE0wExIEd-8Fb2lgHByaQ" general="_042DYExHEd-8Fb2lgHByaQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_6-JNsExHEd-8Fb2lgHByaQ" name="VehicleSystem">
+ <ownedComment xmi:id="_3qmR8ExKEd-8Fb2lgHByaQ" annotatedElement="_6-JNsExHEd-8Fb2lgHByaQ">
+ <body>A collection of components organized to accomplish a specific function or set of functions. [IEEE 1471]</body>
+ </ownedComment>
+ <generalization xmi:id="_LodO4ExIEd-8Fb2lgHByaQ" general="_042DYExHEd-8Fb2lgHByaQ"/>
+ <ownedAttribute xmi:id="_OQKQ8ExIEd-8Fb2lgHByaQ" name="fulfills" type="_5H5dwExHEd-8Fb2lgHByaQ" isUnique="false" association="_ON18wExIEd-8Fb2lgHByaQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RPIjgExIEd-8Fb2lgHByaQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RPNcAExIEd-8Fb2lgHByaQ" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_SU-KMExIEd-8Fb2lgHByaQ" name="hasAn" type="_8l51sExHEd-8Fb2lgHByaQ" isUnique="false" association="_STFT0ExIEd-8Fb2lgHByaQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_V-E-4ExIEd-8Fb2lgHByaQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_V-IpQExIEd-8Fb2lgHByaQ" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_2iGqwExIEd-8Fb2lgHByaQ" name="has" type="_371L0FQIEd6gB7J6eY3lyQ" isUnique="false" association="_2gL_MExIEd-8Fb2lgHByaQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_2iY-oExIEd-8Fb2lgHByaQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_2iaz0ExIEd-8Fb2lgHByaQ" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_8l51sExHEd-8Fb2lgHByaQ" name="Architecture">
+ <ownedComment xmi:id="_yYF2gExKEd-8Fb2lgHByaQ" annotatedElement="_8l51sExHEd-8Fb2lgHByaQ">
+ <body>The fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution. [IEEE 1471]</body>
+ </ownedComment>
+ <generalization xmi:id="_L9PzIExIEd-8Fb2lgHByaQ" general="_042DYExHEd-8Fb2lgHByaQ"/>
+ <ownedAttribute xmi:id="_YQJvMExIEd-8Fb2lgHByaQ" name="describedBy" type="__h_MUExHEd-8Fb2lgHByaQ" isUnique="false" association="_YOYNkExIEd-8Fb2lgHByaQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_auHmcExIEd-8Fb2lgHByaQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_auLQ0ExIEd-8Fb2lgHByaQ" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="__h_MUExHEd-8Fb2lgHByaQ" name="ArchitecturalDescription">
+ <ownedComment xmi:id="_uUoBEExKEd-8Fb2lgHByaQ" annotatedElement="__h_MUExHEd-8Fb2lgHByaQ">
+ <body>A collection of products to document an architecture. [IEEE 1471]</body>
+ </ownedComment>
+ <generalization xmi:id="_MUP94ExIEd-8Fb2lgHByaQ" general="_042DYExHEd-8Fb2lgHByaQ"/>
+ <ownedAttribute xmi:id="_dQ5FMExIEd-8Fb2lgHByaQ" name="aggregates" type="_Cb5_wExIEd-8Fb2lgHByaQ" association="_dPG8gExIEd-8Fb2lgHByaQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dRHusExIEd-8Fb2lgHByaQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dRJj4ExIEd-8Fb2lgHByaQ" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_6AHCsExIEd-8Fb2lgHByaQ" name="identifies" type="_371L0FQIEd6gB7J6eY3lyQ" isUnique="false" association="_5-G3kExIEd-8Fb2lgHByaQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_8UITwExIEd-8Fb2lgHByaQ" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_8UNMQExIEd-8Fb2lgHByaQ" value="*"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_Cb5_wExIEd-8Fb2lgHByaQ" name="ArchitecturalModel">
+ <ownedComment xmi:id="_wvfhAExKEd-8Fb2lgHByaQ" annotatedElement="_Cb5_wExIEd-8Fb2lgHByaQ">
+ <body>A view may consist of one or more architectural models. Each such architectural model is developed using the methods established by its associated architectural viewpoint. An architectural model may participate in more than one view. [IEEE 1471]</body>
+ </ownedComment>
+ <generalization xmi:id="_M39H4ExIEd-8Fb2lgHByaQ" general="_042DYExHEd-8Fb2lgHByaQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_ON18wExIEd-8Fb2lgHByaQ" name="A_System_Mission" memberEnd="_OQKQ8ExIEd-8Fb2lgHByaQ _OQx8AExIEd-8Fb2lgHByaQ">
+ <ownedEnd xmi:id="_OQx8AExIEd-8Fb2lgHByaQ" name="system" type="_6-JNsExHEd-8Fb2lgHByaQ" isUnique="false" association="_ON18wExIEd-8Fb2lgHByaQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ORIhUExIEd-8Fb2lgHByaQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ORGsIExIEd-8Fb2lgHByaQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_STFT0ExIEd-8Fb2lgHByaQ" name="A_System_Architecture" memberEnd="_SU-KMExIEd-8Fb2lgHByaQ _SVQeEExIEd-8Fb2lgHByaQ">
+ <ownedEnd xmi:id="_SVQeEExIEd-8Fb2lgHByaQ" name="system" type="_6-JNsExHEd-8Fb2lgHByaQ" isUnique="false" association="_STFT0ExIEd-8Fb2lgHByaQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_SVuYIExIEd-8Fb2lgHByaQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_SVtKAExIEd-8Fb2lgHByaQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_YOYNkExIEd-8Fb2lgHByaQ" name="A_Architecture_ArchitecturalDescription" memberEnd="_YQJvMExIEd-8Fb2lgHByaQ _YQbcAExIEd-8Fb2lgHByaQ">
+ <ownedEnd xmi:id="_YQbcAExIEd-8Fb2lgHByaQ" name="architecture" type="_8l51sExHEd-8Fb2lgHByaQ" isUnique="false" association="_YOYNkExIEd-8Fb2lgHByaQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_YQ2SwExIEd-8Fb2lgHByaQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_YQ0dkExIEd-8Fb2lgHByaQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_dPG8gExIEd-8Fb2lgHByaQ" name="A_ArchitecturalDescription_ArchitecturalModel" memberEnd="_dQ5FMExIEd-8Fb2lgHByaQ _dRKyAExIEd-8Fb2lgHByaQ">
+ <ownedEnd xmi:id="_dRKyAExIEd-8Fb2lgHByaQ" name="architecturalDescription" type="__h_MUExHEd-8Fb2lgHByaQ" isUnique="false" association="_dPG8gExIEd-8Fb2lgHByaQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dRh-YExIEd-8Fb2lgHByaQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dRgJMExIEd-8Fb2lgHByaQ" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_2gL_MExIEd-8Fb2lgHByaQ" name="A_System_Stakeholder" memberEnd="_2iGqwExIEd-8Fb2lgHByaQ _2icB8ExIEd-8Fb2lgHByaQ">
+ <ownedEnd xmi:id="_2icB8ExIEd-8Fb2lgHByaQ" name="system" type="_6-JNsExHEd-8Fb2lgHByaQ" isUnique="false" association="_2gL_MExIEd-8Fb2lgHByaQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_2i3fwExIEd-8Fb2lgHByaQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_2i2RoExIEd-8Fb2lgHByaQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_5-G3kExIEd-8Fb2lgHByaQ" name="A_ArchitecturalDescription_Stakeholder" memberEnd="_6AHCsExIEd-8Fb2lgHByaQ _6AbLwExIEd-8Fb2lgHByaQ">
+ <ownedEnd xmi:id="_6AbLwExIEd-8Fb2lgHByaQ" name="architecturalDescription" type="__h_MUExHEd-8Fb2lgHByaQ" isUnique="false" association="_5-G3kExIEd-8Fb2lgHByaQ">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_6Ay_MExIEd-8Fb2lgHByaQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_6AxxEExIEd-8Fb2lgHByaQ" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="_tZKz0ErpEd-899EX5XYvlQ" name="GenericConstraints" metaclassReference="_nt4u4ExQEd-d_pItEVVsag _GQcSQExREd-d_pItEVVsag _MW3d8ExREd-d_pItEVVsag _0-9ewFaVEd-IHoZrGPPWCg">
+ <elementImport xmi:id="_nt4u4ExQEd-d_pItEVVsag" alias="Constraint">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Constraint"/>
+ </elementImport>
+ <elementImport xmi:id="_GQcSQExREd-d_pItEVVsag" alias="Package">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ </elementImport>
+ <elementImport xmi:id="_MW3d8ExREd-d_pItEVVsag" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <elementImport xmi:id="_0-9ewFaVEd-IHoZrGPPWCg" alias="NamedElement">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ </elementImport>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_i-WLlzxIEdyqfK4bFJstMQ" name="GenericConstraint">
+ <ownedComment xmi:id="_qqu3oJXmEd2iJ9_Y3as_2A" annotatedElement="_i-WLlzxIEdyqfK4bFJstMQ">
+ <body>The GenericConstraint denotes a property, requirement, or a validation result for the identified element of the model. The kind of GenericConstraint is described as one of the GenericConstraintKind literals.
+
+Example: If the attribute genericConstraintType is cableLength, the genericConstraintValue could be &quot;5 meters&quot; (value of a numerical datatype with unit &quot;meters&quot;).
+
+Semantics:
+The GenericConstraint does not describe what is classically referred to as a design constraint but has the role of a property, requirement, or a validation result. It is a requirement if this GenericConstraint refines a Requirement (by the Refine relationship). The GenericConstraint is a validation result if it realizes a VVActualOutcome, it is an intended validation result if it realizes a VVIntendedOutcome, and in other cases it denotes a property.
+
+
+
+Extension: Class, Constraint</body>
+ </ownedComment>
+ <generalization xmi:id="_PESCoNdyEd6hwb99h1VVPA" general="_i-WNpjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_i-WLmTxIEdyqfK4bFJstMQ" name="designConstraintType" visibility="public" type="_wWAGwDxIEdyqfK4bFJstMQ">
+ <ownedComment xmi:id="_i-WLmjxIEdyqfK4bFJstMQ">
+ <body>The specific type of design constraint.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i-WLnDxIEdyqfK4bFJstMQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i-WLmzxIEdyqfK4bFJstMQ" value="1"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_i-WLnTxIEdyqfK4bFJstMQ" value=""/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_ok6dgExQEd-d_pItEVVsag" name="base_Constraint" isUnique="false" association="_okQ9QExQEd-d_pItEVVsag">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Constraint"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_r369gG1ZEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_r4FVkG1ZEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_7p80sExQEd-d_pItEVVsag" name="genericConstraintValue" association="_7oyXEExQEd-d_pItEVVsag">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Dh_vAExREd-d_pItEVVsag" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DiHDwExREd-d_pItEVVsag" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_O1y-gExREd-d_pItEVVsag" name="base_Class" isUnique="false" association="_O0y48ExREd-d_pItEVVsag">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_sh3SYG1ZEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_siCRgG1ZEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_1vlDYFaVEd-IHoZrGPPWCg" name="target" isUnique="false" association="_1sdd8FaVEd-IHoZrGPPWCg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_1wC9cFaVEd-IHoZrGPPWCg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_1wEyoFaVEd-IHoZrGPPWCg" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_aaOGkFgbEd-SipQLbZtnVw" name="mode" type="_1nGm4NjgEd6wXIBypQTswA" isUnique="false" association="_aY-JYFgbEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aatOwFgbEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aavD8FgbEd-SipQLbZtnVw" value="*"/>
+ </ownedAttribute>
+ <icon xmi:id="_Oy7QcEnNEd2n_LV02Saw8w" content="71%73%70%56%57%97%16%0%16%0%-91%43%0%20%30%100%23%33%103%26%36%106%27%37%107%29%39%109%30%40%110%33%43%113%35%45%115%36%46%116%39%49%119%42%52%122%45%55%125%48%58%-128%51%61%-125%54%64%-122%57%67%-119%60%70%-116%-76%-76%-76%-35%-16%-1%-34%-16%-1%-35%-15%-1%-34%-15%-1%-31%-14%-1%-28%-13%-1%-27%-13%-1%-28%-12%-1%-27%-12%-1%-25%-11%-1%-22%-10%-1%-21%-10%-1%-21%-9%-1%-18%-9%-1%-18%-8%-1%-15%-7%-1%-14%-7%-1%-12%-6%-1%-11%-5%-1%-9%-4%-1%-8%-4%-1%-5%-2%-1%-2%-2%-1%-2%-1%-1%-1%-1%-1%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%-106%-96%-46%33%-2%51%69%65%83%84%45%65%68%76%32%112%114%111%106%101%99%116%10%65%117%116%104%111%114%32%58%32%109%105%99%107%97%101%108%46%99%111%110%100%101%64%115%105%101%109%101%110%115%46%99%111%109%0%33%-7%4%1%10%0%63%0%44%0%0%0%0%16%0%16%0%0%6%125%-64%-97%112%72%44%22%33%-56%36%-78%8%104%58%-99%42%-57%-125%8%16%58%80%-87%-108%10%-112%114%120%-121%-43%95%-29%-12%-116%120%29%13%97%-104%97%106%-105%0%-90%82%-55%-60%80%11%23%-92%114%36%50%90%-40%127%10%33%-126%33%0%34%34%-126%10%127%9%32%122%17%31%9%127%7%28%30%-109%0%29%-105%29%8%106%79%101%27%17%27%6%69%4%24%25%-91%23%23%26%17%23%5%69%2%22%123%-80%-81%22%3%69%1%21%-73%-73%20%19%21%18%1%76%-100%-100%70%-62%68%65%0%59%">
+ <eAnnotations xmi:id="_PLRfAEnNEd2n_LV02Saw8w" source="image_papyrus">
+ <details xmi:id="_PLXloEnNEd2n_LV02Saw8w" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_wWAGwDxIEdyqfK4bFJstMQ" name="GenericConstraintKind">
+ <ownedComment xmi:id="_vT-ToJXmEd2iJ9_Y3as_2A" annotatedElement="_wWAGwDxIEdyqfK4bFJstMQ">
+ <body>Enumeration for different type of constraints.</body>
+ </ownedComment>
+ <ownedLiteral xmi:id="_i-WLkDxIEdyqfK4bFJstMQ" name="powerConsumption"/>
+ <ownedLiteral xmi:id="_i-WLkzxIEdyqfK4bFJstMQ" name="other"/>
+ <ownedLiteral xmi:id="_i-WLlDxIEdyqfK4bFJstMQ" name="pieceCost"/>
+ <ownedLiteral xmi:id="_i-WLlTxIEdyqfK4bFJstMQ" name="weight"/>
+ <ownedLiteral xmi:id="_i-WLljxIEdyqfK4bFJstMQ" name="standard"/>
+ <ownedLiteral xmi:id="_8Ib88ExPEd-d_pItEVVsag" name="cableLength"/>
+ <ownedLiteral xmi:id="_AMiEgExQEd-d_pItEVVsag" name="developmentCost"/>
+ <ownedLiteral xmi:id="_B9E1EExQEd-d_pItEVVsag" name="functionAllocationDifferentNodes"/>
+ <ownedLiteral xmi:id="_EMVh8ExQEd-d_pItEVVsag" name="functionAllocationSameNode"/>
+ <ownedLiteral xmi:id="_IeIuUExQEd-d_pItEVVsag" name="powerSupplyIndependent"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_okQ9QExQEd-d_pItEVVsag" name="Extension_GenericConstraint" memberEnd="_okmUcExQEd-d_pItEVVsag _ok6dgExQEd-d_pItEVVsag">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_okmUcExQEd-d_pItEVVsag" name="extension_GenericConstraint" type="_i-WLlzxIEdyqfK4bFJstMQ" aggregation="composite" association="_okQ9QExQEd-d_pItEVVsag"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_t8JA4ExQEd-d_pItEVVsag" name="GenericConstraintSet">
+ <ownedComment xmi:id="_W0TGIExREd-d_pItEVVsag" annotatedElement="_t8JA4ExQEd-d_pItEVVsag">
+ <body>The collection of generic constraints. This collection can be done across the EAST-ADL2 abstraction levels.</body>
+ </ownedComment>
+ <generalization xmi:id="_LynzME3XEd-eluvub9wzww" general="_i-WNsjxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_yZumgExQEd-d_pItEVVsag" name="genericConstraint" type="_i-WLlzxIEdyqfK4bFJstMQ" association="_yZPeUExQEd-d_pItEVVsag">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_yZ93EExQEd-d_pItEVVsag"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_yZ_sQExQEd-d_pItEVVsag" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_HGty8ExREd-d_pItEVVsag" name="base_Package" isUnique="false" association="_HFN-IExREd-d_pItEVVsag">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_tuHqIG1ZEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_tuNwwG1ZEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_PVqxYExREd-d_pItEVVsag" name="base_Class" isUnique="false" association="_PUa0MExREd-d_pItEVVsag">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uZvaAG1ZEd-h9rFzdBO6Xw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uZ2HsG1ZEd-h9rFzdBO6Xw" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_yZPeUExQEd-d_pItEVVsag" name="A_GenericConstraintSet_GenericConstraint" memberEnd="_yZumgExQEd-d_pItEVVsag _yaCIgExQEd-d_pItEVVsag">
+ <ownedEnd xmi:id="_yaCIgExQEd-d_pItEVVsag" name="genericConstraintSet" type="_t8JA4ExQEd-d_pItEVVsag" isUnique="false" association="_yZPeUExQEd-d_pItEVVsag">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_yaajAExQEd-d_pItEVVsag"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_yaYt0ExQEd-d_pItEVVsag" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_7oyXEExQEd-d_pItEVVsag" name="A_GenericConstraint_EADatatypePrototype" memberEnd="_7p80sExQEd-d_pItEVVsag _7qcj8ExQEd-d_pItEVVsag">
+ <ownedEnd xmi:id="_7qcj8ExQEd-d_pItEVVsag" name="genericConstraint" type="_i-WLlzxIEdyqfK4bFJstMQ" isUnique="false" association="_7oyXEExQEd-d_pItEVVsag">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_7q0-cExQEd-d_pItEVVsag"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_7qzJQExQEd-d_pItEVVsag" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_HFN-IExREd-d_pItEVVsag" name="Extension_GenericConstraintSet" memberEnd="_HGfwgExREd-d_pItEVVsag _HGty8ExREd-d_pItEVVsag">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_HGfwgExREd-d_pItEVVsag" name="extension_GenericConstraintSet" type="_t8JA4ExQEd-d_pItEVVsag" aggregation="composite" association="_HFN-IExREd-d_pItEVVsag"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_O0y48ExREd-d_pItEVVsag" name="Extension_GenericConstraint" memberEnd="_O1kVAExREd-d_pItEVVsag _O1y-gExREd-d_pItEVVsag">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_O1kVAExREd-d_pItEVVsag" name="extension_GenericConstraint" type="_i-WLlzxIEdyqfK4bFJstMQ" aggregation="composite" association="_O0y48ExREd-d_pItEVVsag"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_PUa0MExREd-d_pItEVVsag" name="Extension_GenericConstraintSet" memberEnd="_PVRIwExREd-d_pItEVVsag _PVqxYExREd-d_pItEVVsag">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_PVRIwExREd-d_pItEVVsag" name="extension_GenericConstraintSet" type="_t8JA4ExQEd-d_pItEVVsag" aggregation="composite" association="_PUa0MExREd-d_pItEVVsag"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_1sdd8FaVEd-IHoZrGPPWCg" name="A_GenericConstraint_NamedElement" memberEnd="_1vlDYFaVEd-IHoZrGPPWCg _1wGn0FaVEd-IHoZrGPPWCg">
+ <ownedEnd xmi:id="_1wGn0FaVEd-IHoZrGPPWCg" name="genericConstraint" type="_i-WLlzxIEdyqfK4bFJstMQ" isUnique="false" association="_1sdd8FaVEd-IHoZrGPPWCg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_1wdNIFaVEd-IHoZrGPPWCg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_1wbX8FaVEd-IHoZrGPPWCg" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_aY-JYFgbEd-SipQLbZtnVw" name="A_GenericConstraint_Mode" memberEnd="_aaOGkFgbEd-SipQLbZtnVw _aaw5IFgbEd-SipQLbZtnVw">
+ <ownedEnd xmi:id="_aaw5IFgbEd-SipQLbZtnVw" name="genericConstraint" type="_i-WLlzxIEdyqfK4bFJstMQ" isUnique="false" association="_aY-JYFgbEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_abQBUFgbEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_abNlEFgbEd-SipQLbZtnVw" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_ZYLv4FgdEd-SipQLbZtnVw" name="TakeRateConstraint">
+ <generalization xmi:id="_cSp88FgdEd-SipQLbZtnVw" general="_i-WLlzxIEdyqfK4bFJstMQ"/>
+ <ownedAttribute xmi:id="_gbid4FgdEd-SipQLbZtnVw" name="source" isUnique="false" association="_gZw8QFgdEd-SipQLbZtnVw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gb1Y0FgdEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gb3OAFgdEd-SipQLbZtnVw" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_inf_IFgdEd-SipQLbZtnVw" name="takeRate" type="_IIFyoEucEd-ZO7qwJW2vyQ" isUnique="false"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_gZw8QFgdEd-SipQLbZtnVw" name="A_TakeRateConstraint_NamedElement" memberEnd="_gbid4FgdEd-SipQLbZtnVw _gb5DMFgdEd-SipQLbZtnVw">
+ <ownedEnd xmi:id="_gb5DMFgdEd-SipQLbZtnVw" name="takeRateConstraint" type="_ZYLv4FgdEd-SipQLbZtnVw" isUnique="false" association="_gZw8QFgdEd-SipQLbZtnVw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gcaAkFgdEd-SipQLbZtnVw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gcYLYFgdEd-SipQLbZtnVw" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_CbHNIG9IEd-Nl92aXXxcsg" name="Extension_Behavior" memberEnd="_CnElgG9IEd-Nl92aXXxcsg _CnRZ0G9IEd-Nl92aXXxcsg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_CnElgG9IEd-Nl92aXXxcsg" name="extension_Behavior" type="_uX4EMExcEd-2jOkjG5hxSQ" aggregation="composite" association="_CbHNIG9IEd-Nl92aXXxcsg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_JUnbkG9IEd-Nl92aXXxcsg" name="Extension_Behavior" memberEnd="_JeDEYG9IEd-Nl92aXXxcsg _JeP4sG9IEd-Nl92aXXxcsg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_JeDEYG9IEd-Nl92aXXxcsg" name="extension_Behavior" type="_uX4EMExcEd-2jOkjG5hxSQ" aggregation="composite" association="_JUnbkG9IEd-Nl92aXXxcsg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_ORtnsG9IEd-Nl92aXXxcsg" name="Extension_Timing" memberEnd="_OZtGEG9IEd-Nl92aXXxcsg _OaNcYG9IEd-Nl92aXXxcsg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_OZtGEG9IEd-Nl92aXXxcsg" name="extension_Timing" type="_tVqfsNjhEd6wXIBypQTswA" aggregation="composite" association="_ORtnsG9IEd-Nl92aXXxcsg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_SXvB4G9IEd-Nl92aXXxcsg" name="Extension_Environment" memberEnd="_SiKwQG9IEd-Nl92aXXxcsg _SiXkkG9IEd-Nl92aXXxcsg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_SiKwQG9IEd-Nl92aXXxcsg" name="extension_Environment" type="_i-f78DxIEdyqfK4bFJstMQ" aggregation="composite" association="_SXvB4G9IEd-Nl92aXXxcsg"/>
+ </packagedElement>
+ <profileApplication xmi:id="_TJTBEDumEd2Uk5yJpdBhjQ">
+ <eAnnotations xmi:id="_vQGcMNapEd6kx-j1a99xow" 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 href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
+ </profileApplication>
+ </uml:Profile>
+ <Ecore:EPackage xmi:id="_Uge2cDumEd2Uk5yJpdBhjQ" base_Package="_i-WJIDxIEdyqfK4bFJstMQ" packageName="eastadl" nsPrefix="EAST-ADL2" nsURI="http://www.papyrusuml.org/EAST-ADL2/1" prefix="eastadl"/>
+ <Ecore:EPackage xmi:id="_hlngsDumEd2Uk5yJpdBhjQ" base_Package="_i-WNLDxIEdyqfK4bFJstMQ" packageName="infrastructure" nsPrefix="Infrastructure" nsURI="http://www.papyrusuml.org/EAST-ADL2/Infrastructure/1" prefix="infrastructure"/>
+ <Ecore:EPackage xmi:id="_uPEUgDumEd2Uk5yJpdBhjQ" base_Package="_i-WNZjxIEdyqfK4bFJstMQ" packageName="elements" nsPrefix="Elements" nsURI="http://www.papyrusuml.org/EAST-ADL2/Infrastructure/Elements/1" prefix="elements"/>
+ <Ecore:EPackage xmi:id="_6MHVUDumEd2Uk5yJpdBhjQ" base_Package="_i-WNLTxIEdyqfK4bFJstMQ" packageName="datatypes" nsPrefix="Datatypes" nsURI="http://www.papyrusuml.org/EAST-ADL2/Infrastructure/Datatypes/1" prefix="datatypes"/>
+ <Ecore:EPackage xmi:id="_D7XB0DunEd2Uk5yJpdBhjQ" base_Package="_i-WMfjxIEdyqfK4bFJstMQ" packageName="behavior" nsPrefix="Behavior" nsURI="http://www.papyrusuml.org/EAST-ADL2/Behavior/1" prefix="behavior"/>
+ <Ecore:EPackage xmi:id="_NBpQ4DunEd2Uk5yJpdBhjQ" base_Package="_i-WMfzxIEdyqfK4bFJstMQ" packageName="errormodel" nsPrefix="ErrorModel" nsURI="http://www.papyrusuml.org/EAST-ADL2/Dependability/ErrorModel/1" prefix="errormodel"/>
+ <Ecore:EPackage xmi:id="_WyzB4DunEd2Uk5yJpdBhjQ" base_Package="_i-WLPzxIEdyqfK4bFJstMQ" packageName="requirements" nsPrefix="Requirements" nsURI="http://www.papyrusuml.org/EAST-ADL2/Requirements/1" prefix="requirements"/>
+ <Ecore:EPackage xmi:id="_duuSMDunEd2Uk5yJpdBhjQ" base_Package="_i-WNKzxIEdyqfK4bFJstMQ" packageName="structure" nsPrefix="Structure" nsURI="http://www.papyrusuml.org/EAST-ADL2/Structure/1" prefix="structure"/>
+ <Ecore:EPackage xmi:id="_k49rUDunEd2Uk5yJpdBhjQ" base_Package="_i-f77zxIEdyqfK4bFJstMQ" packageName="environment" nsPrefix="Environment" nsURI="http://www.papyrusuml.org/EAST-ADL2/Environment/1" prefix="environment"/>
+ <Ecore:EPackage xmi:id="_0D_EADunEd2Uk5yJpdBhjQ" base_Package="_i-f62DxIEdyqfK4bFJstMQ" packageName="featuremodeling" nsPrefix="FeatureModeling" nsURI="http://www.papyrusuml.org/EAST-ADL2/Structure/FeatureModeling/1" prefix="featuremodeling"/>
+ <Ecore:EPackage xmi:id="_9WxeADunEd2Uk5yJpdBhjQ" base_Package="_i-WP9DxIEdyqfK4bFJstMQ" packageName="functionmodeling" nsPrefix="FunctionModeling" nsURI="http://www.papyrusuml.org/EAST-ADL2/Structure/FunctionModeling/1" prefix="functionmodeling"/>
+ <Ecore:EPackage xmi:id="_GHGEIDuoEd2Uk5yJpdBhjQ" base_Package="_V5LXIHJVEdyx6oOkwavytg" packageName="hardwaremodeling" nsPrefix="HardwareModeling" nsURI="http://www.papyrusuml.org/EAST-ADL2/Structure/HardwareModeling/1" prefix="hardwaremodeling"/>
+ <Ecore:EPackage xmi:id="_To-UwDuoEd2Uk5yJpdBhjQ" base_Package="_i-f8CzxIEdyqfK4bFJstMQ" packageName="systemmodeling" nsPrefix="SystemModeling" nsURI="http://www.papyrusuml.org/EAST-ADL2/Structure/SystemModeling/1" prefix="systemmodeling"/>
+ <Ecore:EPackage xmi:id="_asokwDuoEd2Uk5yJpdBhjQ" base_Package="_VtDYsNl5EdyxEqZvsyllRw" packageName="vehiclefeaturemodeling" nsPrefix="VehicleFeatureModeling" nsURI="http://www.papyrusuml.org/EAST-ADL2/Structure/VehicleFeatureModeling/1" prefix="vehiclefeaturemodeling"/>
+ <Ecore:EPackage xmi:id="_sm9cUDuoEd2Uk5yJpdBhjQ" base_Package="_2M5XsNu0EdyN-KVwISucrA" packageName="userattributes" nsPrefix="UserAttributes" nsURI="http://www.papyrusuml.org/EAST-ADL2/Infrastructure/UserAttributes/1" prefix="userattributes"/>
+ <Ecore:EPackage xmi:id="_1az3kDuoEd2Uk5yJpdBhjQ" base_Package="_i-WL-TxIEdyqfK4bFJstMQ" packageName="variability" nsPrefix="Variability" nsURI="http://www.papyrusuml.org/EAST-ADL2/Variability/1" prefix="variability"/>
+ <Ecore:EPackage xmi:id="_8TZgADuoEd2Uk5yJpdBhjQ" base_Package="_i-WKtDxIEdyqfK4bFJstMQ" packageName="verificationvalidation" nsPrefix="VerificationValidation" nsURI="http://www.papyrusuml.org/EAST-ADL2/Requirements/VerificationValidation/1" prefix="verificationvalidation"/>
+ <Ecore:EReference xmi:id="_-8j1cDu6Ed2Uk5yJpdBhjQ" isTransient="true" isVolatile="true" base_Property="_i-WQEDxIEdyqfK4bFJstMQ"/>
+ <Ecore:EAttribute xmi:id="_Of61oDu7Ed2Uk5yJpdBhjQ" isTransient="true" isVolatile="true" base_Property="_i-f6LTxIEdyqfK4bFJstMQ"/>
+ <Ecore:EAttribute xmi:id="_P4o8EDu7Ed2Uk5yJpdBhjQ" base_Property="_i-f6LTxIEdyqfK4bFJstMQ"/>
+ <Ecore:EReference xmi:id="_2MuiEDu7Ed2Uk5yJpdBhjQ" isTransient="true" isVolatile="true" base_Property="_i-f6RDxIEdyqfK4bFJstMQ"/>
+ <Ecore:EReference xmi:id="_I2occDu8Ed2Uk5yJpdBhjQ" isTransient="true" isVolatile="true" base_Property="_kpmiYNo7EdyZhJLkuCfQrA"/>
+ <Ecore:EPackage xmi:id="_MtoCgDvEEd2Uk5yJpdBhjQ" base_Package="_Tb650N4qEdyW6f_GAa5b1w" packageName="safetycase" nsPrefix="SafetyCase" nsURI="http://www.papyrusuml.org/EAST-ADL2/Dependability/SafetyCase/1" prefix="safetycase"/>
+ <Ecore:EPackage xmi:id="_QtYcoDvEEd2Uk5yJpdBhjQ" base_Package="_ZNvgwN4lEdyW6f_GAa5b1w" packageName="safetyrequirement" nsPrefix="SafetyRequirement" nsURI="http://www.papyrusuml.org/EAST-ADL2/Dependability/SafetyRequirement/1" prefix="safetyrequirement"/>
+ <Ecore:EReference xmi:id="_SMzT4E8_Ed2eW62kipUStQ" isTransient="true" isVolatile="true" base_Property="_i-WLhjxIEdyqfK4bFJstMQ"/>
+ <Ecore:EReference xmi:id="_U2O0QE8_Ed2eW62kipUStQ" isTransient="true" isVolatile="true" base_Property="_i-WLgzxIEdyqfK4bFJstMQ"/>
+ <Ecore:EReference xmi:id="_2KNf8E9LEd2eW62kipUStQ" isTransient="true" isVolatile="true" base_Property="_i-f6YzxIEdyqfK4bFJstMQ"/>
+ <Ecore:EReference xmi:id="__B88sE9LEd2eW62kipUStQ" isTransient="true" isVolatile="true" base_Property="_i-f6aDxIEdyqfK4bFJstMQ"/>
+ <Ecore:EReference xmi:id="_gXL6sE9aEd2eW62kipUStQ" isTransient="true" isVolatile="true" base_Property="_i-WNnDxIEdyqfK4bFJstMQ"/>
+ <Ecore:EReference xmi:id="_iE29cE9aEd2eW62kipUStQ" isTransient="true" isVolatile="true" base_Property="_i-WNnzxIEdyqfK4bFJstMQ"/>
+ <Ecore:EReference xmi:id="_lLy5ME9aEd2eW62kipUStQ" isTransient="true" isVolatile="true" base_Property="_i-WNkjxIEdyqfK4bFJstMQ"/>
+ <Ecore:EReference xmi:id="_n5sC0E9aEd2eW62kipUStQ" isTransient="true" isVolatile="true" base_Property="_i-WNlTxIEdyqfK4bFJstMQ"/>
+ <Ecore:EReference xmi:id="_q6gvgE9aEd2eW62kipUStQ" isTransient="true" isVolatile="true" base_Property="_i-WNhDxIEdyqfK4bFJstMQ"/>
+ <Ecore:EReference xmi:id="_rlRjwE9aEd2eW62kipUStQ" isTransient="true" isVolatile="true" base_Property="_i-WNgTxIEdyqfK4bFJstMQ"/>
+ <Ecore:EReference xmi:id="_xOxi4E9aEd2eW62kipUStQ" isTransient="true" isVolatile="true" base_Property="_i-WNfDxIEdyqfK4bFJstMQ"/>
+ <Ecore:EReference xmi:id="_x6I0EE9aEd2eW62kipUStQ" isTransient="true" isVolatile="true" base_Property="_i-WNeTxIEdyqfK4bFJstMQ"/>
+ <Ecore:EReference xmi:id="_2r6hAE9aEd2eW62kipUStQ" isTransient="true" isVolatile="true" base_Property="_i-WNbTxIEdyqfK4bFJstMQ"/>
+ <Ecore:EReference xmi:id="_3rPQAE9aEd2eW62kipUStQ" isTransient="true" isVolatile="true" base_Property="_i-WNcDxIEdyqfK4bFJstMQ"/>
+ <Ecore:EDataType xmi:id="_hfXisIYsEd23fOTtz-gtRA" instanceClassName="java.lang.String" base_PrimitiveType="_e3StMIYsEd23fOTtz-gtRA"/>
+ <Ecore:EDataType xmi:id="_x07b4IYsEd23fOTtz-gtRA" instanceClassName="java.lang.String" base_PrimitiveType="_vWiG0IYsEd23fOTtz-gtRA"/>
+ <Ecore:EReference xmi:id="_ozJfALpFEd2LtvY4pcU1ZA" isTransient="true" isVolatile="true" base_Property="_jaulsHJXEdyx6oOkwavytg"/>
+ <Ecore:EReference xmi:id="_ozJfAbpFEd2LtvY4pcU1ZA" isTransient="true" isVolatile="true" base_Property="_2R2X8JQdEdyUQMht1ste1A"/>
+ <Ecore:EReference xmi:id="_ozJfArpFEd2LtvY4pcU1ZA" isTransient="true" isVolatile="true" base_Property="_oxKe4XJXEdyx6oOkwavytg"/>
+ <Ecore:EReference xmi:id="_QaLMMLpJEd2LtvY4pcU1ZA" isTransient="true" isVolatile="true" base_Property="_23s3AZQdEdyUQMht1ste1A"/>
+ <Ecore:EReference xmi:id="_NMXk0NjdEd6wXIBypQTswA" isTransient="true" isVolatile="true" base_Property="_7n8EwNjcEd6wXIBypQTswA"/>
+ <Ecore:EReference xmi:id="_TIyf8NjdEd6wXIBypQTswA" isTransient="true" isVolatile="true" base_Property="_BrPD8NjdEd6wXIBypQTswA"/>
+ <Ecore:EPackage xmi:id="_QUGqcNjgEd6wXIBypQTswA" base_Package="_N7DvcNjgEd6wXIBypQTswA" packageName="timing" nsPrefix="Timing" nsURI="http://www.papyrusuml.org/EAST-ADL2/Timing/1" prefix="timing"/>
+ <Ecore:EPackage xmi:id="_frpKQNjiEd6wXIBypQTswA" base_Package="_a_kcsNjiEd6wXIBypQTswA" packageName="timingconstraints" nsPrefix="TimingConstraints" nsURI="http://www.papyrusuml.org/EAST-ADL2/Timing/TimingConstraints/1" prefix="timingconstraints"/>
+ <Ecore:EPackage xmi:id="_NvpHoNj2Ed6rlulM-6rbhg" base_Package="_KfvdINj2Ed6rlulM-6rbhg" packageName="events" nsPrefix="Events" nsURI="http://www.papyrusuml.org/EAST-ADL2/Timing/Events/1" prefix="events"/>
+ <Ecore:EPackage xmi:id="_ibCGsNj4Ed6rlulM-6rbhg" base_Package="_f0woANj4Ed6rlulM-6rbhg" packageName="interchange" nsPrefix="Interchange" nsURI="http://www.papyrusuml.org/EAST-ADL2/Interchange/1" prefix="interchange"/>
+ <Ecore:EPackage xmi:id="_PqciAEn1Ed-CwvH3DORXbA" base_Package="_LJxzMEn1Ed-CwvH3DORXbA" packageName="dependability" nsPrefix="Dependability" nsURI="http://www.papyrusuml.org/EAST-ADL2/Dependability/1" prefix="dependability"/>
+ <Ecore:EPackage xmi:id="_JpRwQErmEd-squZ2Pzs1Iw" base_Package="_HR2l4ErmEd-squZ2Pzs1Iw" packageName="annex" nsPrefix="Annex" nsURI="http://www.papyrusuml.org/EAST-ADL2/Annex/1" prefix="annex"/>
+ <Ecore:EDataType xmi:id="_MnTnoErmEd-squZ2Pzs1Iw" instanceClassName="java.lang.String" base_PrimitiveType="_LNIvsErmEd-squZ2Pzs1Iw"/>
+ <Ecore:EPackage xmi:id="_QH-SAErmEd-squZ2Pzs1Iw" base_Package="_OTomkErmEd-squZ2Pzs1Iw" packageName="needs" nsPrefix="Needs" nsURI="http://www.papyrusuml.org/EAST-ADL2/Annex/Needs/1" prefix="needs"/>
+ <Ecore:EPackage xmi:id="_dWL4YErpEd-899EX5XYvlQ" base_Package="_bEdtYErpEd-899EX5XYvlQ" packageName="safetyconstraints" nsPrefix="SafetyConstraints" nsURI="http://www.papyrusuml.org/EAST-ADL2/Dependability/SafetyConstraints/1" prefix="safetyconstraints"/>
+ <Ecore:EPackage xmi:id="_wWOa0ErpEd-899EX5XYvlQ" base_Package="_tZKz0ErpEd-899EX5XYvlQ" packageName="genericconstraints" nsPrefix="GenericConstraints" nsURI="http://www.papyrusuml.org/EAST-ADL2/GenericConstraints/1" prefix="genericconstraints"/>
+ <Ecore:EDataType xmi:id="_qcYhEEuCEd-vwdthn26NVw" instanceClassName="java.lang.String" base_PrimitiveType="_oR938EuCEd-vwdthn26NVw"/>
+ <Ecore:EDataType xmi:id="_KF2f0EucEd-ZO7qwJW2vyQ" instanceClassName="java.lang.Float" base_PrimitiveType="_IIFyoEucEd-ZO7qwJW2vyQ" dataTypeName="java.lang.Float"/>
+ <Ecore:EReference xmi:id="_xtBF8ExaEd-2jOkjG5hxSQ" isTransient="true" isVolatile="true" base_Property="_PkC84ExXEd-d_pItEVVsag"/>
+ <Ecore:EReference xmi:id="_wczU0E0WEd-bZ5L3ZgEOlA" isTransient="true" isVolatile="true" base_Property="_i1M2sE0WEd-bZ5L3ZgEOlA"/>
+ <Ecore:EReference xmi:id="_DuU2kE0cEd-bZ5L3ZgEOlA" isTransient="true" isVolatile="true" base_Property="_feiDkE0bEd-bZ5L3ZgEOlA"/>
+ <Ecore:EReference xmi:id="_GcAk0E0cEd-bZ5L3ZgEOlA" isTransient="true" isVolatile="true" base_Property="_T8RhUE0bEd-bZ5L3ZgEOlA"/>
+ <Ecore:EReference xmi:id="_mE-WoE0cEd-bZ5L3ZgEOlA" isTransient="true" isVolatile="true" base_Property="_bgGpsE0cEd-bZ5L3ZgEOlA"/>
+ <Ecore:EReference xmi:id="_q0G_QE0cEd-bZ5L3ZgEOlA" isTransient="true" isVolatile="true" base_Property="_o5SRUE0cEd-bZ5L3ZgEOlA"/>
+ <Ecore:EReference xmi:id="_b3_L8E0hEd-upcklZdNpWw" isTransient="true" isVolatile="true" base_Property="_vJrZINdvEd6hwb99h1VVPA"/>
+ <Ecore:EReference xmi:id="_ehdvoE0hEd-upcklZdNpWw" isTransient="true" isVolatile="true" base_Property="_ovfSMNvGEdyN-KVwISucrA"/>
+ <Ecore:EReference xmi:id="_wDAW8E0lEd-2q5ZoAGcl8Q" isTransient="true" isVolatile="true" base_Property="_rPlrQE0lEd-2q5ZoAGcl8Q"/>
+ <Ecore:EReference xmi:id="_y2dWAE0lEd-2q5ZoAGcl8Q" isTransient="true" isVolatile="true" base_Property="_XV0rgE0lEd-2q5ZoAGcl8Q"/>
+ <Ecore:EReference xmi:id="_2CtPkE0lEd-2q5ZoAGcl8Q" isTransient="true" isVolatile="true" base_Property="_PtoyIE0lEd-2q5ZoAGcl8Q"/>
+ <Ecore:EReference xmi:id="_CRZaAE0mEd-2q5ZoAGcl8Q" isTransient="true" isVolatile="true" base_Property="_8Ma_0E0lEd-2q5ZoAGcl8Q"/>
+ <Ecore:EReference xmi:id="_ITCMUE0mEd-2q5ZoAGcl8Q" isTransient="true" isVolatile="true" base_Property="_F-YCEE0mEd-2q5ZoAGcl8Q"/>
+ <Ecore:EReference xmi:id="_NQO88E1kEd-vDMV60hCRBg" isTransient="true" isVolatile="true" base_Property="_HrUi4E1kEd-vDMV60hCRBg"/>
+ <Ecore:EReference xmi:id="_5iVYQGGWEd-6O-A3OulkUA" isTransient="true" isVolatile="true" base_Property="_511-AE2pEd-V7vMBq0sJVg"/>
+ <Ecore:EReference xmi:id="_871qsGGWEd-6O-A3OulkUA" isTransient="true" isVolatile="true" base_Property="_6ew_ME2pEd-V7vMBq0sJVg"/>
+ <Ecore:EReference xmi:id="_C31vEGGXEd-6O-A3OulkUA" isTransient="true" isVolatile="true" base_Property="_5D2e8POAEd2Fz7wuW3iPYQ"/>
+ <Ecore:EReference xmi:id="_NF9I4GGXEd-6O-A3OulkUA" isTransient="true" isVolatile="true" base_Property="_FA8jEPOBEd2Fz7wuW3iPYQ"/>
+ <Ecore:EReference xmi:id="_twViIGGcEd-6O-A3OulkUA" isTransient="true" isVolatile="true" base_Property="_KgZvAPN5Ed2Fz7wuW3iPYQ"/>
+ <Ecore:EReference xmi:id="_oZcggGGdEd-6O-A3OulkUA" isTransient="true" isVolatile="true" base_Property="_I7E0kE2mEd-Nn4upK86kww"/>
+ <Ecore:EReference xmi:id="_tpYJEGGdEd-6O-A3OulkUA" isTransient="true" isVolatile="true" base_Property="_ac0NAE2mEd-Nn4upK86kww"/>
+ <Ecore:EReference xmi:id="_xBCBYGGdEd-6O-A3OulkUA" isTransient="true" isVolatile="true" base_Property="_yrUYYE2mEd-Nn4upK86kww"/>
+ <Ecore:EReference xmi:id="_3p3WkGGdEd-6O-A3OulkUA" isTransient="true" isVolatile="true" base_Property="_q1uKkE2lEd-Nn4upK86kww"/>
+</xmi:XMI>
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadlOld.genmodel b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadlOld.genmodel
new file mode 100644
index 00000000000..4ce19227c27
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadlOld.genmodel
@@ -0,0 +1,1523 @@
+<?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.eastadl/src" modelPluginID="org.eclipse.papyrus.eastadl"
+ modelName="Eastadl" importerID="org.eclipse.emf.importer.ecore" complianceLevel="6.0"
+ copyrightFields="false" usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore platform:/plugin/org.eclipse.papyrus.sysml/model/sysml.genmodel#//sysml platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml platform:/plugin/org.eclipse.uml2.uml.profile.l2/model/L2.genmodel#//l2 platform:/plugin/org.eclipse.uml2.types/model/Types.genmodel#//types">
+ <foreignModel>eastadl.ecore</foreignModel>
+ <genPackages prefix="Eastadl" basePackage="org.eclipse.papyrus" disposableProviderFactory="true"
+ ecorePackage="eastadl.ecore#/">
+ <genDataTypes ecoreDataType="eastadl.ecore#//Dummy"/>
+ <nestedGenPackages prefix="Variability" basePackage="org.eclipse.papyrus.eastadl"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//variability">
+ <genClasses ecoreClass="eastadl.ecore#//variability/VariationGroup">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//variability/VariationGroup/constraint"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//variability/VariationGroup/kind"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/VariationGroup/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/VariationGroup/variableElement"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/VariableElement">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/VariableElement/requiredBindingTime"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/VariableElement/actualBindingTime"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/VariableElement/reuseMetaInformation"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/VariableElement/optionalElement"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/VariableElement/base_Class"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/ReuseMetaInformation">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//variability/ReuseMetaInformation/information"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//variability/ReuseMetaInformation/isReusable"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ReuseMetaInformation/base_Class"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/ConfigurableContainer">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurableContainer/internalBinding"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurableContainer/variationGroup"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurableContainer/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurableContainer/base_Package"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurableContainer/configurableElement"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurableContainer/publicFeatureModel"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/InternalBinding"/>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//variability/ConfigurationDecisionModel">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurationDecisionModel/base_Package"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurationDecisionModel/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurationDecisionModel/rootEntry"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//variability/ConfigurationDecisionModelEntry">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//variability/ConfigurationDecisionModelEntry/isActive"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurationDecisionModelEntry/base_Class"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/Variability">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/Variability/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/Variability/base_Package"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/Variability/configurableContainer"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/Variability/configuration"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/Variability/productFeatureModel"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/Variability/decisionModel"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/Variability/variableElement"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/FeatureConfiguration">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/FeatureConfiguration/configuredFeatureModel"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/VehicleLevelBinding">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/VehicleLevelBinding/sourceVehicleFeatureModel"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/VehicleLevelBinding/targetFeatureModel"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/ConfigurationDecision">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//variability/ConfigurationDecision/effect"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//variability/ConfigurationDecision/criterion"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//variability/ConfigurationDecision/isEquivalence"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurationDecision/target"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurationDecision/selectionCriterion"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/SelectionCriterion">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/SelectionCriterion/source"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/SelectionCriterion/base_Class"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/ConfigurationDecisionFolder">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurationDecisionFolder/childEntry"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/ContainerConfiguration">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ContainerConfiguration/configuredContainer"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/PrivateContent">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/PrivateContent/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/PrivateContent/privateElement"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Infrastructure" basePackage="org.eclipse.papyrus.eastadl"
+ disposableProviderFactory="true" ecorePackage="eastadl.ecore#//infrastructure">
+ <genDataTypes ecoreDataType="eastadl.ecore#//infrastructure/Dummy"/>
+ <nestedGenPackages prefix="Datatypes" basePackage="org.eclipse.papyrus.eastadl.infrastructure"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//infrastructure/datatypes">
+ <genDataTypes ecoreDataType="eastadl.ecore#//infrastructure/datatypes/javalangFloat"/>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//infrastructure/datatypes/EADatatype">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/datatypes/EADatatype/base_DataType"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/EADatatypePrototype">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/datatypes/EADatatypePrototype/type"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/datatypes/EADatatypePrototype/base_Property"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/datatypes/EADatatypePrototype/base_Parameter"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//infrastructure/datatypes/ValueType">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/ValueType/semantics"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/ValueType/dimension"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/ValueType/unit"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//infrastructure/datatypes/RangeableDatatype"/>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/RangeableValueType">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/RangeableValueType/accuracy"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/RangeableValueType/resolution"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/RangeableValueType/significantDigits"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/EnumerationValueType">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/EnumerationValueType/isMultiValued"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/EnumerationValueType/literalSemantics"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/datatypes/EnumerationValueType/base_Enumeration"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/CompositeDatatype">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/datatypes/CompositeDatatype/datatypePrototype"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/EAString"/>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/EABoolean"/>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/EAFloat">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/EAFloat/min"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/EAFloat/max"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/EAInteger">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/EAInteger/min"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/EAInteger/max"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/EnumerationLiteral"/>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/Enumeration">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/datatypes/Enumeration/literal"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Userattributes" basePackage="org.eclipse.papyrus.eastadl.infrastructure"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//infrastructure/userattributes">
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/userattributes/UserAttributeElementType">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeElementType/extendedElementType"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeElementType/attribute"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeElementType/base_Class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/userattributes/UserAttributeElementType/validFor"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/userattributes/UserAttributeDefinition">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeDefinition/base_Class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/userattributes/UserAttributeDefinition/defaultValue"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeDefinition/type"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeDefinition/base_Property"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/userattributes/UserAttributeableElement">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeableElement/uaValue"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeableElement/uaType"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeableElement/attributedElement"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeableElement/base_NamedElement"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/userattributes/UserAttributeValue">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeValue/base_Class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/userattributes/UserAttributeValue/value"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeValue/base_Property"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeValue/definition"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Elements" basePackage="org.eclipse.papyrus.eastadl.infrastructure"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//infrastructure/elements">
+ <genClasses image="false" ecoreClass="eastadl.ecore#//infrastructure/elements/TraceableSpecification">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/elements/TraceableSpecification/note"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//infrastructure/elements/EAPackageableElement">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/EAPackageableElement/base_PackageableElement"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/elements/Realization">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/Realization/realized"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/Realization/realizedBy"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/Realization/base_Realization"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/Realization/realizedBy_path"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/Realization/realized_path"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//infrastructure/elements/Relationship"/>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//infrastructure/elements/Context">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/Context/traceableSpecification"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/Context/ownedRelationship"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/elements/MultiLevelReference">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/MultiLevelReference/base_Dependency"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/MultiLevelReference/referring"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/MultiLevelReference/reference"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/elements/Rationale"/>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/elements/EAPackage">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/EAPackage/subPackages"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/EAPackage/element"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/EAPackage/base_Package"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/elements/Comment">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/elements/Comment/body"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/Comment/base_Comment"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//infrastructure/elements/EAElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/elements/EAElement/name"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/EAElement/base_NamedElement"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/EAElement/ownedComment"/>
+ </genClasses>
+ </nestedGenPackages>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Structure" basePackage="org.eclipse.papyrus.eastadl"
+ disposableProviderFactory="true" ecorePackage="eastadl.ecore#//structure">
+ <genDataTypes ecoreDataType="eastadl.ecore#//structure/Dummy"/>
+ <nestedGenPackages prefix="Functionmodeling" basePackage="org.eclipse.papyrus.eastadl.structure"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//structure/functionmodeling">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//structure/functionmodeling/ClientServerKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/functionmodeling/ClientServerKind/client"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/functionmodeling/ClientServerKind/server"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//structure/functionmodeling/EADirectionKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/functionmodeling/EADirectionKind/in"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/functionmodeling/EADirectionKind/out"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/functionmodeling/EADirectionKind/inout"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/LocalDeviceManager"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/DesignFunctionType">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/DesignFunctionType/part"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionType">
+ <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/functionmodeling/FunctionType/isElementary"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionType/port"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionType/portGroup"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionType/connector"/>
+ <genOperations ecoreOperation="eastadl.ecore#//structure/functionmodeling/FunctionType/getIcon"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionPort"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/PortGroup">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/PortGroup/port"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/PortGroup/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/PortGroup/base_Port"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/PortGroup/portGroup"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionConnector">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionConnector/port"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionConnector/base_Connector"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionConnector/port1_path"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionConnector/port2_path"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//structure/functionmodeling/AllocateableElement"/>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionPrototype">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionPrototype/base_Property"/>
+ <genOperations ecoreOperation="eastadl.ecore#//structure/functionmodeling/FunctionPrototype/getIcon"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/DesignFunctionPrototype">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/DesignFunctionPrototype/type"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionalDevice"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/AnalysisFunctionType">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/AnalysisFunctionType/part"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/AnalysisFunctionPrototype">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/AnalysisFunctionPrototype/type"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionFlowPort">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionFlowPort/type"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionClientServerPort">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionClientServerPort/type"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionClientServerPort/base_Port"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/functionmodeling/FunctionClientServerPort/clientServerType"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionClientServerInterface">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionClientServerInterface/base_Interface"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionClientServerInterface/operation"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/Operation">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/Operation/base_Operation"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/Operation/argument"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/Operation/return"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/BasicSoftwareFunctionType"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/HardwareFunctionType">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/HardwareFunctionType/hardwareComponent"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionAllocation">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionAllocation/target"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionAllocation/allocatedElement"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionAllocation/base_Dependency"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionAllocation/allocatedElement_path"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionAllocation/target_path"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/Allocation">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/Allocation/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/Allocation/base_Package"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/Allocation/functionAllocation"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionPowerPort">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionPowerPort/base_Port"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionPowerPort/type"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Hardwaremodeling" basePackage="org.eclipse.papyrus.eastadl.structure"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//structure/hardwaremodeling">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//structure/hardwaremodeling/IOHardwarePinKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/hardwaremodeling/IOHardwarePinKind/digital"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/hardwaremodeling/IOHardwarePinKind/analog"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/hardwaremodeling/IOHardwarePinKind/pwm"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/hardwaremodeling/IOHardwarePinKind/other"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//structure/hardwaremodeling/LogicalBusKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/hardwaremodeling/LogicalBusKind/TimeTriggered"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/hardwaremodeling/LogicalBusKind/EventTriggered"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/hardwaremodeling/LogicalBusKind/TimeandEventTriggered"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/hardwaremodeling/LogicalBusKind/other"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/HardwareConnector">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareConnector/base_Connector"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareConnector/port"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareConnector/port1_path"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareConnector/port2_path"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//structure/hardwaremodeling/HardwarePin">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwarePin/base_Port"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/HardwarePin/isGround"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/HardwarePin/voltage"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/HardwarePin/direction"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/HardwarePin/impedance"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/HardwarePin/power"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/HardwareComponentPrototype">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareComponentPrototype/type"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareComponentPrototype/base_Property"/>
+ <genOperations ecoreOperation="eastadl.ecore#//structure/hardwaremodeling/HardwareComponentPrototype/getIcon"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//structure/hardwaremodeling/AllocationTarget"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/IOHardwarePin">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/IOHardwarePin/type"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/PowerHardwarePin"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/CommunicationHardwarePin"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/Node">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/Node/executionRate"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/Node/nonVolatileMemory"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/Node/volatileMemory"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/PowerSupply">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/PowerSupply/isActive"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/Sensor"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/Actuator"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/LogicalBus">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/LogicalBus/base_Class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/LogicalBus/busSpeed"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/LogicalBus/busType"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/LogicalBus/wire"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/LogicalBus/wire_path"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/HardwarePinGroup">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwarePinGroup/base_Port"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwarePinGroup/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwarePinGroup/portGroup"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwarePinGroup/port"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/HardwareComponentType">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareComponentType/connector"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareComponentType/port"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareComponentType/part"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareComponentType/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareComponentType/bus"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareComponentType/portGroup"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Systemmodeling" basePackage="org.eclipse.papyrus.eastadl.structure"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//structure/systemmodeling">
+ <genClasses ecoreClass="eastadl.ecore#//structure/systemmodeling/SystemModel">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/SystemModel/implementationLevel"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/SystemModel/analysisLevel"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/SystemModel/designLevel"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/SystemModel/vehicleLevel"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/SystemModel/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/SystemModel/base_Package"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/systemmodeling/ImplementationLevel">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/ImplementationLevel/autosarSystem"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/ImplementationLevel/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/ImplementationLevel/base_Package"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/systemmodeling/AnalysisLevel">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/AnalysisLevel/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/AnalysisLevel/base_Package"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/AnalysisLevel/functionalAnalysisArchitecture"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/systemmodeling/DesignLevel">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/DesignLevel/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/DesignLevel/base_Package"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/DesignLevel/functionalDesignArchitecture"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/DesignLevel/hardwareDesignArchitecture"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/DesignLevel/allocation"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/systemmodeling/VehicleLevel">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/VehicleLevel/base_Package"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/VehicleLevel/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/VehicleLevel/technicalFeatureModel"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Vehiclefeaturemodeling" basePackage="org.eclipse.papyrus.eastadl.structure"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//structure/vehiclefeaturemodeling">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationPermissionKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationPermissionKind/no"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationPermissionKind/subtree"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationPermissionKind/append"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationPermissionKind/subset"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationPermissionKind/yes"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationPermissionKind/widen"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/allowChangeAttribute"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/allowChangeCardinality"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/allowChangeDescription"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/allowChangeName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/allowMove"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/allowReduction"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/allowRefinement"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/allowRegrouping"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/allowRemoval"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/base_DataType"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/feature"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/vehiclefeaturemodeling/VehicleFeature">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/VehicleFeature/isDesignVariabilityRationale"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/VehicleFeature/isCustomerVisible"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/VehicleFeature/isRemoved"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/vehiclefeaturemodeling/VehicleFeature/deviationAttributeSet"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Featuremodeling" basePackage="org.eclipse.papyrus.eastadl.structure"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//structure/featuremodeling">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//structure/featuremodeling/BindingTimeKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/BindingTimeKind/systemDesignTime"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/BindingTimeKind/codeGenerationTime"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/BindingTimeKind/precompileTime"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/BindingTimeKind/linkTime"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/BindingTimeKind/postBuild"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/BindingTimeKind/runtime"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//structure/featuremodeling/VariabilityDependencyKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/VariabilityDependencyKind/needs"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/VariabilityDependencyKind/optionalAlternative"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/VariabilityDependencyKind/custom"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/VariabilityDependencyKind/mandatoryAlternative"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/VariabilityDependencyKind/suggests"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/VariabilityDependencyKind/impedes"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//structure/featuremodeling/FeatureModel">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureModel/base_Package"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureModel/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureModel/rootFeature"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureModel/featureLink"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureModel/featureConstraint"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/featuremodeling/Feature">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/Feature/base_Class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/featuremodeling/Feature/cardinality"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/Feature/requiredBindingTime"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/Feature/actualBindingTime"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/Feature/featureParameter"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/Feature/childNode"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//structure/featuremodeling/FeatureTreeNode"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/featuremodeling/BindingTime">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/featuremodeling/BindingTime/kind"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/BindingTime/base_Class"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/featuremodeling/FeatureLink">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/featuremodeling/FeatureLink/isBidirectional"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/featuremodeling/FeatureLink/customType"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureLink/base_Dependency"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureLink/start"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureLink/end"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureLink/base_AssociationClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/featuremodeling/FeatureLink/kind"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/featuremodeling/FeatureConstraint">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/featuremodeling/FeatureConstraint/criterion"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureConstraint/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureConstraint/base_Constraint"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/featuremodeling/FeatureGroup">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureGroup/base_Class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/featuremodeling/FeatureGroup/cardinality"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureGroup/childFeature"/>
+ </genClasses>
+ </nestedGenPackages>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Behavior" basePackage="org.eclipse.papyrus.eastadl"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//behavior">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//behavior/FunctionBehaviorKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/FunctionBehaviorKind/ASCET"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/FunctionBehaviorKind/OTHER"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/FunctionBehaviorKind/SCADE"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/FunctionBehaviorKind/SDL"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/FunctionBehaviorKind/SIMULINK"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/FunctionBehaviorKind/STATEMATE"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/FunctionBehaviorKind/MARTE"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/FunctionBehaviorKind/UML"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//behavior/TriggerPolicyKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/TriggerPolicyKind/EVENT"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/TriggerPolicyKind/TIME"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//behavior/FunctionBehavior">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/FunctionBehavior/base_Behavior"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//behavior/FunctionBehavior/path"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//behavior/FunctionBehavior/representation"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/FunctionBehavior/mode"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/FunctionBehavior/function"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//behavior/Mode">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//behavior/Mode/condition"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/Mode/base_Class"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//behavior/Behavior">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/Behavior/behavior"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/Behavior/functionTrigger"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/Behavior/modeGroup"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/Behavior/base_Package"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/Behavior/base_Class"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//behavior/FunctionTrigger">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//behavior/FunctionTrigger/triggerCondition"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/FunctionTrigger/base_Class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//behavior/FunctionTrigger/triggerPolicy"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/FunctionTrigger/mode"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/FunctionTrigger/function"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/FunctionTrigger/port"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/FunctionTrigger/functionPrototype"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//behavior/ModeGroup">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//behavior/ModeGroup/precondition"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/ModeGroup/mode"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/ModeGroup/base_Class"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Requirements" basePackage="org.eclipse.papyrus.eastadl"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//requirements">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//requirements/QualityRequirementKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/ergonomy"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/configurability"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/integrity"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/safety"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/other"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/security"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/humanMachineInterface"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/timing"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/availability"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/reliability"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/confidentiality"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/maintainability"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/QualityRequirement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//requirements/QualityRequirement/qualityRequirementType"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/Requirement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//requirements/Requirement/formalism"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//requirements/Requirement/url"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Requirement/mode"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//requirements/RequirementSpecificationObject">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementSpecificationObject/referencingContainer"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/RequirementsContainer">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsContainer/childContainer"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsContainer/parentContainer"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsContainer/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsContainer/base_Package"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsContainer/containedReqSpecObject"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/RequirementsRelatedInformation">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsRelatedInformation/base_Class"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//requirements/RequirementsRelationship">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsRelationship/base_Class"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/Satisfy">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Satisfy/satisfiedRequirement"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Satisfy/satisfiedBy"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Satisfy/satisfiedUseCase"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Satisfy/satisfiedBy_path"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/UseCase">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/UseCase/base_UseCase"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/UseCase/include"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/UseCase/extend"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/UseCase/extensionPoint"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/Include">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Include/base_Include"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Include/addition"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/Extend">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Extend/base_Extend"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Extend/extendedCase"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Extend/extensionLocation"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/ExtensionPoint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/ExtensionPoint/base_ExtensionPoint"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//requirements/RedefinableElement">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RedefinableElement/base_RedefinableElement"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/Refine">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Refine/refinedRequirement"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Refine/refinedBy"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Refine/base_Dependency"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Refine/refinedBy_path"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/DeriveRequirement">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/DeriveRequirement/derived"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/DeriveRequirement/derivedFrom"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/RequirementsRelationGroup">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsRelationGroup/relation"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsRelationGroup/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsRelationGroup/base_Package"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/RequirementsLink">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//requirements/RequirementsLink/isBidirectional"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsLink/source"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsLink/target"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/RequirementsModel">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsModel/useCase"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsModel/requirement"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsModel/requirementContainer"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsModel/operationalSituation"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsModel/base_Package"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/OperationalSituation">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/OperationalSituation/base_Class"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/Actor">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Actor/base_Actor"/>
+ </genClasses>
+ <nestedGenPackages prefix="Verificationvalidation" basePackage="org.eclipse.papyrus.eastadl.requirements"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//requirements/verificationvalidation">
+ <genClasses ecoreClass="eastadl.ecore#//requirements/verificationvalidation/VVStimuli">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVStimuli/base_Class"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/verificationvalidation/VVIntendedOutcome">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVIntendedOutcome/base_Class"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/verificationvalidation/VVActualOutcome">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVActualOutcome/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVActualOutcome/intendedOutcome"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/verificationvalidation/VVCase">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVCase/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVCase/vvCase"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVCase/abstractVVCase"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVCase/vvTarget"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVCase/vvSubject"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVCase/vvLog"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVCase/vvProcedure"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/verificationvalidation/VVTarget">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVTarget/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVTarget/element"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/verificationvalidation/VVLog">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//requirements/verificationvalidation/VVLog/date"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVLog/vvActualOutcome"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVLog/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVLog/performedVVProcedure"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/verificationvalidation/VVProcedure">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVProcedure/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVProcedure/abstractVVProcedure"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVProcedure/concreteVVProcedure"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVProcedure/vvIntendedOutcome"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VVProcedure/vvStimuli"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/verificationvalidation/VerificationValidation">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VerificationValidation/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VerificationValidation/base_Package"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VerificationValidation/verify"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VerificationValidation/vvCase"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VerificationValidation/vvTarget"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/verificationvalidation/Verify">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/Verify/verifiedByProcedure"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/Verify/verifiedByCase"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/Verify/verifiedRequirement"/>
+ </genClasses>
+ </nestedGenPackages>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Timing" basePackage="org.eclipse.papyrus.eastadl" resource="XML"
+ disposableProviderFactory="true" ecorePackage="eastadl.ecore#//timing">
+ <genClasses image="false" ecoreClass="eastadl.ecore#//timing/TimingDescription">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/TimingDescription/base_Class"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//timing/TimingConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/TimingConstraint/mode"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/TimingConstraint/upper"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/TimingConstraint/lower"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/TimingConstraint/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/TimingConstraint/base_Constraint"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/TimeDuration">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/TimeDuration/base_DataType"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//timing/TimeDuration/cseCode"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//timing/TimeDuration/cseCodeFactor"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//timing/TimeDuration/value"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/Timing">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/Timing/timingConstraint"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/Timing/timingDescription"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/Timing/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/Timing/base_Package"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/EventChain">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/EventChain/segment"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/EventChain/strand"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/EventChain/response"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/EventChain/stimulus"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//timing/Event">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//timing/Event/isStateChanged"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/ExecutionTimeConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/ExecutionTimeConstraint/variation"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/ExecutionTimeConstraint/targetDesignFunctionPrototype"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/ExecutionTimeConstraint/targetDesignFunctionType"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/PrecedenceConstraint">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//timing/PrecedenceConstraint/successive"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//timing/PrecedenceConstraint/preceding"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/PrecedenceConstraint/base_Dependency"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/PrecedenceConstraint/successive_path"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/PrecedenceConstraint/preceding_path"/>
+ </genClasses>
+ <nestedGenPackages prefix="Timingconstraints" basePackage="org.eclipse.papyrus.eastadl.timing"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//timing/timingconstraints">
+ <genClasses image="false" ecoreClass="eastadl.ecore#//timing/timingconstraints/DelayConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/DelayConstraint/jitter"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/DelayConstraint/nominal"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/DelayConstraint/scope"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/timingconstraints/AgeTimingConstraint"/>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//timing/timingconstraints/EventConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/EventConstraint/event"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/EventConstraint/offset"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/timingconstraints/InputSynchronizationConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/InputSynchronizationConstraint/width"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/timingconstraints/OutputSynchronizationConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/OutputSynchronizationConstraint/width"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/timingconstraints/ReactionConstraint"/>
+ <genClasses ecoreClass="eastadl.ecore#//timing/timingconstraints/SporadicEventConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/SporadicEventConstraint/jitter"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/SporadicEventConstraint/period"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/SporadicEventConstraint/maximumInterArrivalTime"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/SporadicEventConstraint/minimumInterArrivalTime"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/timingconstraints/PeriodicEventConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/PeriodicEventConstraint/jitter"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/PeriodicEventConstraint/period"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/PeriodicEventConstraint/minimumInterArrivalTime"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/timingconstraints/PatternEventConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/PatternEventConstraint/period"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/PatternEventConstraint/minimumInterArrivalTime"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/PatternEventConstraint/occurence"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/PatternEventConstraint/jitter"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/timingconstraints/ArbitraryEventConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/ArbitraryEventConstraint/minimumInterArrivalTime"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/ArbitraryEventConstraint/maximumInterArrivalTime"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Events" basePackage="org.eclipse.papyrus.eastadl.timing"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//timing/events">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//timing/events/EventFunctionClientServerPortKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//timing/events/EventFunctionClientServerPortKind/receivedRequest"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//timing/events/EventFunctionClientServerPortKind/sentResponse"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//timing/events/EventFunctionClientServerPortKind/sentRequest"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//timing/events/EventFunctionClientServerPortKind/receivedResponse"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//timing/events/EventFunctionFlowPort">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/events/EventFunctionFlowPort/port"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/events/EventFunctionFlowPort/port_path"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/events/EventFunctionClientServerPort">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//timing/events/EventFunctionClientServerPort/eventKind"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/events/EventFunctionClientServerPort/port"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/events/EventFunctionClientServerPort/port_path"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/events/EventFunction">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/events/EventFunction/function"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/events/EventFunction/functionType"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/events/EventFunction/function_path"/>
+ </genClasses>
+ </nestedGenPackages>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Interchange" basePackage="org.eclipse.papyrus.eastadl"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//interchange">
+ <genClasses image="false" ecoreClass="eastadl.ecore#//interchange/RIFArea">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//interchange/RIFArea/rootRequirementContainer"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//interchange/RIFArea/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//interchange/RIFArea/interchangeReqSpecObject"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//interchange/RIFExportArea"/>
+ <genClasses ecoreClass="eastadl.ecore#//interchange/RIFImportArea"/>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Environment" basePackage="org.eclipse.papyrus.eastadl"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//environment">
+ <genClasses ecoreClass="eastadl.ecore#//environment/Environment">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//environment/Environment/environmentModel"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//environment/Environment/clampConnector"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//environment/Environment/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//environment/Environment/base_Package"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//environment/ClampConnector">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//environment/ClampConnector/port"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//environment/ClampConnector/base_Connector"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//environment/ClampConnector/port1_path"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//environment/ClampConnector/port2_path"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Dependability" basePackage="org.eclipse.papyrus.eastadl"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//dependability">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//dependability/ControllabilityClassKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/ControllabilityClassKind/C1"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/ControllabilityClassKind/C2"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/ControllabilityClassKind/C3"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/ControllabilityClassKind/C0"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//dependability/ExposureClassKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/ExposureClassKind/E1"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/ExposureClassKind/E2"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/ExposureClassKind/E3"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/ExposureClassKind/E4"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//dependability/SeverityClassKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/SeverityClassKind/S0"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/SeverityClassKind/S1"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/SeverityClassKind/S2"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/SeverityClassKind/S3"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//dependability/DevelopmentCategoryKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/DevelopmentCategoryKind/modificationOfExistingItem"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/DevelopmentCategoryKind/newItemDevelopment"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/HazardousEvent">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/HazardousEvent/base_Class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/HazardousEvent/controllability"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/HazardousEvent/exposure"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/HazardousEvent/hazardClassification"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/HazardousEvent/severity"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/HazardousEvent/classificationAssumptions"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/HazardousEvent/hazard"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/HazardousEvent/traffic"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/HazardousEvent/environment"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/HazardousEvent/operationalSituationUseCase"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/HazardousEvent/operatingMode"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/HazardousEvent/externalMeasures"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/Hazard">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Hazard/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Hazard/malfunction"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Hazard/item"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/FeatureFlaw">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/FeatureFlaw/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/FeatureFlaw/item"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/FeatureFlaw/nonFulfilledRequirement"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/Item">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Item/base_Class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/Item/developmentCategory"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Item/vehicleFeature"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/Dependability">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/base_Package"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/functionalSafetyConcept"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/safetyGoal"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/technicalSafetyConcept"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/hazardousEvent"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/featureFlaw"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/item"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/eADatatype"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/faultFailure"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/quantitativeSafetyConstraint"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/safetyConstraint"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/safetyCase"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/errorModelType"/>
+ </genClasses>
+ <nestedGenPackages prefix="Errormodel" basePackage="org.eclipse.papyrus.eastadl.dependability"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//dependability/errormodel">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//dependability/errormodel/ErrorBehaviorKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/errormodel/ErrorBehaviorKind/HIP_HOPS"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/errormodel/ErrorBehaviorKind/ALTARICA"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/errormodel/ErrorBehaviorKind/AADL"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/errormodel/ErrorBehaviorKind/OTHER"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/errormodel/ErrorBehavior">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorBehavior/base_Behavior"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/errormodel/ErrorBehavior/failureLogic"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/errormodel/ErrorBehavior/type"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorBehavior/internalFault"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorBehavior/owner"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorBehavior/externalFailure"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorBehavior/externalFault"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorBehavior/processFault"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/errormodel/InternalFaultPrototype">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/InternalFaultPrototype/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/InternalFaultPrototype/base_Event"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/errormodel/Anomaly">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/errormodel/Anomaly/genericDescription"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/Anomaly/base_Property"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/Anomaly/type"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/errormodel/ErrorModelType">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/base_Class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/errormodel/ErrorModelType/genericDescription"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/faultFailureConnector"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/part"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/failure"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/externalFault"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/internalFault"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/processFault"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/target"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/hwTarget"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/errorBehaviorDescription"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/errormodel/FaultFailurePropagationLink">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePropagationLink/base_Connector"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/errormodel/FaultFailurePropagationLink/immediatePropagation"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePropagationLink/toPort"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePropagationLink/fromPort"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePropagationLink/fromPort_path"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePropagationLink/toPort_path"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//dependability/errormodel/FaultFailurePort">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePort/base_Port"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePort/functionTarget"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePort/hwTarget"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePort/functionTarget_path"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePort/hwTarget_path"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/errormodel/ErrorModelPrototype">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelPrototype/base_Property"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelPrototype/type"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelPrototype/target"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelPrototype/functionTarget"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelPrototype/hwTarget"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelPrototype/functionTarget_path"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelPrototype/hwTarget_path"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/errormodel/FailureOutPort"/>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/errormodel/FaultInPort"/>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/errormodel/ProcessFaultPrototype">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ProcessFaultPrototype/base_Event"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Safetyrequirement" basePackage="org.eclipse.papyrus.eastadl.dependability"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//dependability/safetyrequirement">
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetyrequirement/FunctionalSafetyConcept">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyrequirement/FunctionalSafetyConcept/functionalSafetyRequirement"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetyrequirement/SafetyGoal">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyrequirement/SafetyGoal/derivedFrom"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/safetyrequirement/SafetyGoal/safeStates"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyrequirement/SafetyGoal/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyrequirement/SafetyGoal/requirement"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/safetyrequirement/SafetyGoal/hazardClassification"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyrequirement/SafetyGoal/safeModes"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetyrequirement/TechnicalSafetyConcept">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyrequirement/TechnicalSafetyConcept/technicalSafetyRequirement"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Safetyconstraints" basePackage="org.eclipse.papyrus.eastadl.dependability"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//dependability/safetyconstraints">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//dependability/safetyconstraints/ASILKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/safetyconstraints/ASILKind/ASIL_A"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/safetyconstraints/ASILKind/ASIL_D"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/safetyconstraints/ASILKind/ASIL_C"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/safetyconstraints/ASILKind/ASIL_B"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/safetyconstraints/ASILKind/QM"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetyconstraints/FaultFailure">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyconstraints/FaultFailure/base_Class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/safetyconstraints/FaultFailure/faultFailureValue"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyconstraints/FaultFailure/anomaly"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetyconstraints/SafetyConstraint">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/safetyconstraints/SafetyConstraint/asilValue"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyconstraints/SafetyConstraint/constrainedFaultFailure"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyconstraints/SafetyConstraint/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyconstraints/SafetyConstraint/base_Constraint"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetyconstraints/QuantitativeSafetyConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyconstraints/QuantitativeSafetyConstraint/constrainedFaultFailure"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/safetyconstraints/QuantitativeSafetyConstraint/failureRate"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/safetyconstraints/QuantitativeSafetyConstraint/repairRate"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyconstraints/QuantitativeSafetyConstraint/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyconstraints/QuantitativeSafetyConstraint/base_Constraint"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Safetycase" basePackage="org.eclipse.papyrus.eastadl.dependability"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//dependability/safetycase">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//dependability/safetycase/LifecycleStageKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/safetycase/LifecycleStageKind/PreliminarySafetyCase"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/safetycase/LifecycleStageKind/InterimSafetyCase"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/safetycase/LifecycleStageKind/OperationalSafetyCase"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetycase/SafetyCase">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/SafetyCase/safetyCase"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/safetycase/SafetyCase/stage"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/safetycase/SafetyCase/context"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/SafetyCase/ground"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/SafetyCase/warrant"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/SafetyCase/claim"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/SafetyCase/base_Class"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetycase/Ground">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Ground/safetyEvidence"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Ground/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Ground/justification"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetycase/Warrant">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Warrant/decomposedGoal"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Warrant/evidence"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Warrant/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Warrant/justification"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetycase/Claim">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Claim/safetyRequirement"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Claim/supportedArgument"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Claim/goalDecompositionStrategy"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Claim/evidence"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Claim/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Claim/justification"/>
+ </genClasses>
+ </nestedGenPackages>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Annex" basePackage="org.eclipse.papyrus.eastadl" disposableProviderFactory="true"
+ ecorePackage="eastadl.ecore#//annex">
+ <genDataTypes ecoreDataType="eastadl.ecore#//annex/Dummy"/>
+ <nestedGenPackages prefix="Needs" basePackage="org.eclipse.papyrus.eastadl.annex"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//annex/needs">
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/Stakeholder">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/Stakeholder/base_Class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/Stakeholder/responsibilities"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/Stakeholder/successCriteria"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/StakeholderNeed">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/StakeholderNeed/base_Class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/StakeholderNeed/need"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/StakeholderNeed/priority"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/StakeholderNeed/stakeHolder"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/StakeholderNeed/problemStatement"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/ProblemStatement">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/ProblemStatement/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/ProblemStatement/affects"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/ProblemStatement/impact"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/ProblemStatement/problem"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/ProblemStatement/solutionBenefits"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/ProductPositioning">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/ProductPositioning/base_Class"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/ProductPositioning/drivingNeeds"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/ProductPositioning/keyCapabilities"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/ProductPositioning/primaryCompetitiveAlternative"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/ProductPositioning/primaryDifferentiation"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/ProductPositioning/targetCustomers"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/BusinessOpportunity">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/BusinessOpportunity/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/BusinessOpportunity/problemStatement"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/BusinessOpportunity/productPositioning"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/BusinessOpportunity/businessOpportunity"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//annex/needs/Concept"/>
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/Mission"/>
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/VehicleSystem">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/VehicleSystem/fulfills"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/VehicleSystem/hasAn"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/VehicleSystem/has"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/Architecture">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/Architecture/describedBy"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/ArchitecturalDescription">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/ArchitecturalDescription/aggregates"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/ArchitecturalDescription/identifies"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/ArchitecturalModel"/>
+ </nestedGenPackages>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Genericconstraints" basePackage="org.eclipse.papyrus.eastadl"
+ resource="XML" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//genericconstraints">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//genericconstraints/GenericConstraintKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/powerConsumption"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/other"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/pieceCost"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/weight"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/standard"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/cableLength"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/developmentCost"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/functionAllocationDifferentNodes"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/functionAllocationSameNode"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/powerSupplyIndependent"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//genericconstraints/GenericConstraint">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//genericconstraints/GenericConstraint/designConstraintType"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//genericconstraints/GenericConstraint/base_Constraint"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//genericconstraints/GenericConstraint/genericConstraintValue"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//genericconstraints/GenericConstraint/base_Class"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//genericconstraints/GenericConstraint/target"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//genericconstraints/GenericConstraint/mode"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//genericconstraints/GenericConstraintSet">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//genericconstraints/GenericConstraintSet/genericConstraint"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//genericconstraints/GenericConstraintSet/base_Package"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//genericconstraints/GenericConstraintSet/base_Class"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//genericconstraints/TakeRateConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//genericconstraints/TakeRateConstraint/source"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//genericconstraints/TakeRateConstraint/takeRate"/>
+ </genClasses>
+ </nestedGenPackages>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadlOld2.genmodel b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadlOld2.genmodel
new file mode 100644
index 00000000000..4bbc108f8a9
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/model/eastadlOld2.genmodel
@@ -0,0 +1,1518 @@
+<?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.eastadl/src" modelPluginID="org.eclipse.papyrus.eastadl"
+ modelName="Eastadl" importerID="org.eclipse.emf.importer.ecore" complianceLevel="6.0"
+ copyrightFields="false" usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore platform:/plugin/org.eclipse.uml2.uml.profile.l2/model/L2.genmodel#//l2 platform:/plugin/org.eclipse.papyrus.sysml/model/sysml.genmodel#//sysml platform:/plugin/org.eclipse.uml2.types/model/Types.genmodel#//types platform:/plugin/org.eclipse.uml2.uml/model/UML.genmodel#//uml">
+ <foreignModel>eastadl.ecore</foreignModel>
+ <genPackages prefix="eastadl" basePackage="org.eclipse.papyrus" disposableProviderFactory="true"
+ ecorePackage="eastadl.ecore#/">
+ <genDataTypes ecoreDataType="eastadl.ecore#//Dummy"/>
+ <nestedGenPackages prefix="Variability" resource="XML" disposableProviderFactory="true"
+ ecorePackage="eastadl.ecore#//variability">
+ <genClasses ecoreClass="eastadl.ecore#//variability/VariationGroup">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//variability/VariationGroup/constraint"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//variability/VariationGroup/kind"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/VariationGroup/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/VariationGroup/variableElement"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/VariableElement">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/VariableElement/requiredBindingTime"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/VariableElement/actualBindingTime"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/VariableElement/reuseMetaInformation"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/VariableElement/optionalElement"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/VariableElement/baseClass"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/ReuseMetaInformation">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//variability/ReuseMetaInformation/information"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//variability/ReuseMetaInformation/isReusable"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ReuseMetaInformation/baseClass"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/ConfigurableContainer">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurableContainer/internalBinding"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurableContainer/variationGroup"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurableContainer/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurableContainer/basePackage"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurableContainer/configurableElement"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurableContainer/publicFeatureModel"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/InternalBinding"/>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//variability/ConfigurationDecisionModel">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurationDecisionModel/basePackage"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurationDecisionModel/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurationDecisionModel/rootEntry"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//variability/ConfigurationDecisionModelEntry">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//variability/ConfigurationDecisionModelEntry/isActive"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurationDecisionModelEntry/baseClass"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/Variability">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/Variability/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/Variability/basePackage"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/Variability/configurableContainer"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/Variability/configuration"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/Variability/productFeatureModel"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/Variability/decisionModel"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/Variability/variableElement"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/FeatureConfiguration">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/FeatureConfiguration/configuredFeatureModel"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/VehicleLevelBinding">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/VehicleLevelBinding/sourceVehicleFeatureModel"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/VehicleLevelBinding/targetFeatureModel"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/ConfigurationDecision">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//variability/ConfigurationDecision/effect"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//variability/ConfigurationDecision/criterion"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//variability/ConfigurationDecision/isEquivalence"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurationDecision/target"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurationDecision/selectionCriterion"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/SelectionCriterion">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/SelectionCriterion/source"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/SelectionCriterion/baseClass"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/ConfigurationDecisionFolder">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ConfigurationDecisionFolder/childEntry"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/ContainerConfiguration">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/ContainerConfiguration/configuredContainer"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//variability/PrivateContent">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/PrivateContent/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//variability/PrivateContent/privateElement"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Infrastructure" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//infrastructure">
+ <genDataTypes ecoreDataType="eastadl.ecore#//infrastructure/Dummy"/>
+ <nestedGenPackages prefix="Datatypes" resource="XML" disposableProviderFactory="true"
+ ecorePackage="eastadl.ecore#//infrastructure/datatypes">
+ <genDataTypes ecoreDataType="eastadl.ecore#//infrastructure/datatypes/javalangFloat"/>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//infrastructure/datatypes/EaDatatype">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/datatypes/EaDatatype/baseDataType"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/EaDatatypePrototype">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/datatypes/EaDatatypePrototype/type"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/datatypes/EaDatatypePrototype/baseProperty"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/datatypes/EaDatatypePrototype/baseParameter"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//infrastructure/datatypes/ValueType">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/ValueType/semantics"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/ValueType/dimension"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/ValueType/unit"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//infrastructure/datatypes/RangeableDatatype"/>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/RangeableValueType">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/RangeableValueType/accuracy"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/RangeableValueType/resolution"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/RangeableValueType/significantDigits"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/EnumerationValueType">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/EnumerationValueType/isMultiValued"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/EnumerationValueType/literalSemantics"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/datatypes/EnumerationValueType/baseEnumeration"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/CompositeDatatype">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/datatypes/CompositeDatatype/datatypePrototype"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/EaString"/>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/EaBoolean"/>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/EaFloat">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/EaFloat/min"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/EaFloat/max"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/EaInteger">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/EaInteger/min"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/datatypes/EaInteger/max"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/EnumerationLiteral"/>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/datatypes/Enumeration">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/datatypes/Enumeration/literal"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Userattributes" resource="XML" disposableProviderFactory="true"
+ ecorePackage="eastadl.ecore#//infrastructure/userattributes">
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/userattributes/UserAttributeElementType">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeElementType/extendedElementType"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeElementType/attribute"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeElementType/baseClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/userattributes/UserAttributeElementType/validFor"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/userattributes/UserAttributeDefinition">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeDefinition/baseClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/userattributes/UserAttributeDefinition/defaultValue"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeDefinition/type"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeDefinition/baseProperty"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/userattributes/UserAttributeableElement">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeableElement/uaValue"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeableElement/uaType"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeableElement/attributedElement"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeableElement/baseNamedElement"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/userattributes/UserAttributeValue">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeValue/baseClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/userattributes/UserAttributeValue/value"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeValue/baseProperty"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/userattributes/UserAttributeValue/definition"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Elements" resource="XML" disposableProviderFactory="true"
+ ecorePackage="eastadl.ecore#//infrastructure/elements">
+ <genClasses image="false" ecoreClass="eastadl.ecore#//infrastructure/elements/TraceableSpecification">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/elements/TraceableSpecification/note"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//infrastructure/elements/EaPackageableElement">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/EaPackageableElement/basePackageableElement"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/elements/Realization">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/Realization/realized"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/Realization/realizedBy"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/Realization/baseRealization"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/Realization/realizedByPath"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/Realization/realizedPath"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//infrastructure/elements/Relationship"/>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//infrastructure/elements/Context">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/Context/traceableSpecification"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/Context/ownedRelationship"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/elements/MultiLevelReference">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/MultiLevelReference/baseDependency"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/MultiLevelReference/referring"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/MultiLevelReference/reference"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/elements/Rationale"/>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/elements/EaPackage">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/EaPackage/subPackages"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/EaPackage/element"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/EaPackage/basePackage"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//infrastructure/elements/Comment">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/elements/Comment/body"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/Comment/baseComment"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//infrastructure/elements/EaElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//infrastructure/elements/EaElement/name"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/EaElement/baseNamedElement"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//infrastructure/elements/EaElement/ownedComment"/>
+ </genClasses>
+ </nestedGenPackages>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Structure" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//structure">
+ <genDataTypes ecoreDataType="eastadl.ecore#//structure/Dummy"/>
+ <nestedGenPackages prefix="Functionmodeling" resource="XML" disposableProviderFactory="true"
+ ecorePackage="eastadl.ecore#//structure/functionmodeling">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//structure/functionmodeling/ClientServerKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/functionmodeling/ClientServerKind/client"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/functionmodeling/ClientServerKind/server"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//structure/functionmodeling/EaDirectionKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/functionmodeling/EaDirectionKind/in"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/functionmodeling/EaDirectionKind/out"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/functionmodeling/EaDirectionKind/inout"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/LocalDeviceManager"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/DesignFunctionType">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/DesignFunctionType/part"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionType">
+ <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/functionmodeling/FunctionType/isElementary"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionType/port"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionType/portGroup"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionType/connector"/>
+ <genOperations ecoreOperation="eastadl.ecore#//structure/functionmodeling/FunctionType/getIcon"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionPort"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/PortGroup">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/PortGroup/port"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/PortGroup/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/PortGroup/basePort"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/PortGroup/portGroup"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionConnector">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionConnector/port"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionConnector/baseConnector"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionConnector/port1Path"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionConnector/port2Path"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//structure/functionmodeling/AllocateableElement"/>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionPrototype">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionPrototype/baseProperty"/>
+ <genOperations ecoreOperation="eastadl.ecore#//structure/functionmodeling/FunctionPrototype/getIcon"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/DesignFunctionPrototype">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/DesignFunctionPrototype/type"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionalDevice"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/AnalysisFunctionType">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/AnalysisFunctionType/part"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/AnalysisFunctionPrototype">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/AnalysisFunctionPrototype/type"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionFlowPort">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionFlowPort/type"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionClientServerPort">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionClientServerPort/type"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionClientServerPort/basePort"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/functionmodeling/FunctionClientServerPort/clientServerType"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionClientServerInterface">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionClientServerInterface/baseInterface"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionClientServerInterface/operation"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/Operation">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/Operation/baseOperation"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/Operation/argument"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/Operation/return"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/BasicSoftwareFunctionType"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/HardwareFunctionType">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/HardwareFunctionType/hardwareComponent"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionAllocation">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionAllocation/target"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionAllocation/allocatedElement"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionAllocation/baseDependency"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionAllocation/allocatedElementPath"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionAllocation/targetPath"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/Allocation">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/Allocation/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/Allocation/basePackage"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/Allocation/functionAllocation"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/functionmodeling/FunctionPowerPort">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionPowerPort/basePort"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/functionmodeling/FunctionPowerPort/type"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Hardwaremodeling" resource="XML" disposableProviderFactory="true"
+ ecorePackage="eastadl.ecore#//structure/hardwaremodeling">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//structure/hardwaremodeling/IoHardwarePinKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/hardwaremodeling/IoHardwarePinKind/digital"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/hardwaremodeling/IoHardwarePinKind/analog"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/hardwaremodeling/IoHardwarePinKind/pwm"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/hardwaremodeling/IoHardwarePinKind/other"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//structure/hardwaremodeling/LogicalBusKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/hardwaremodeling/LogicalBusKind/timeTriggered"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/hardwaremodeling/LogicalBusKind/eventTriggered"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/hardwaremodeling/LogicalBusKind/timeandEventTriggered"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/hardwaremodeling/LogicalBusKind/other"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/HardwareConnector">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareConnector/baseConnector"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareConnector/port"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareConnector/port1Path"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareConnector/port2Path"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//structure/hardwaremodeling/HardwarePin">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwarePin/basePort"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/HardwarePin/isGround"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/HardwarePin/voltage"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/HardwarePin/direction"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/HardwarePin/impedance"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/HardwarePin/power"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/HardwareComponentPrototype">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareComponentPrototype/type"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareComponentPrototype/baseProperty"/>
+ <genOperations ecoreOperation="eastadl.ecore#//structure/hardwaremodeling/HardwareComponentPrototype/getIcon"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//structure/hardwaremodeling/AllocationTarget"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/IoHardwarePin">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/IoHardwarePin/type"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/PowerHardwarePin"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/CommunicationHardwarePin"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/Node">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/Node/executionRate"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/Node/nonVolatileMemory"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/Node/volatileMemory"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/PowerSupply">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/PowerSupply/isActive"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/Sensor"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/Actuator"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/LogicalBus">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/LogicalBus/baseClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/LogicalBus/busSpeed"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/hardwaremodeling/LogicalBus/busType"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/LogicalBus/wire"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/LogicalBus/wirePath"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/HardwarePinGroup">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwarePinGroup/basePort"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwarePinGroup/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwarePinGroup/portGroup"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwarePinGroup/port"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/hardwaremodeling/HardwareComponentType">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareComponentType/connector"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareComponentType/port"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareComponentType/part"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareComponentType/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareComponentType/bus"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/hardwaremodeling/HardwareComponentType/portGroup"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Systemmodeling" resource="XML" disposableProviderFactory="true"
+ ecorePackage="eastadl.ecore#//structure/systemmodeling">
+ <genClasses ecoreClass="eastadl.ecore#//structure/systemmodeling/SystemModel">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/SystemModel/implementationLevel"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/SystemModel/analysisLevel"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/SystemModel/designLevel"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/SystemModel/vehicleLevel"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/SystemModel/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/SystemModel/basePackage"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/systemmodeling/ImplementationLevel">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/ImplementationLevel/autosarSystem"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/ImplementationLevel/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/ImplementationLevel/basePackage"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/systemmodeling/AnalysisLevel">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/AnalysisLevel/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/AnalysisLevel/basePackage"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/AnalysisLevel/functionalAnalysisArchitecture"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/systemmodeling/DesignLevel">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/DesignLevel/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/DesignLevel/basePackage"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/DesignLevel/functionalDesignArchitecture"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/DesignLevel/hardwareDesignArchitecture"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/DesignLevel/allocation"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/systemmodeling/VehicleLevel">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/VehicleLevel/basePackage"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/VehicleLevel/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/systemmodeling/VehicleLevel/technicalFeatureModel"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Vehiclefeaturemodeling" resource="XML" disposableProviderFactory="true"
+ ecorePackage="eastadl.ecore#//structure/vehiclefeaturemodeling">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationPermissionKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationPermissionKind/no"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationPermissionKind/subtree"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationPermissionKind/append"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationPermissionKind/subset"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationPermissionKind/yes"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationPermissionKind/widen"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/allowChangeAttribute"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/allowChangeCardinality"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/allowChangeDescription"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/allowChangeName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/allowMove"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/allowReduction"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/allowRefinement"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/allowRegrouping"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/allowRemoval"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/baseDataType"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/vehiclefeaturemodeling/DeviationAttributeSet/feature"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/vehiclefeaturemodeling/VehicleFeature">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/VehicleFeature/isDesignVariabilityRationale"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/VehicleFeature/isCustomerVisible"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/vehiclefeaturemodeling/VehicleFeature/isRemoved"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/vehiclefeaturemodeling/VehicleFeature/deviationAttributeSet"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Featuremodeling" resource="XML" disposableProviderFactory="true"
+ ecorePackage="eastadl.ecore#//structure/featuremodeling">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//structure/featuremodeling/BindingTimeKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/BindingTimeKind/systemDesignTime"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/BindingTimeKind/codeGenerationTime"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/BindingTimeKind/precompileTime"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/BindingTimeKind/linkTime"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/BindingTimeKind/postBuild"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/BindingTimeKind/runtime"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//structure/featuremodeling/VariabilityDependencyKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/VariabilityDependencyKind/needs"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/VariabilityDependencyKind/optionalAlternative"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/VariabilityDependencyKind/custom"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/VariabilityDependencyKind/mandatoryAlternative"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/VariabilityDependencyKind/suggests"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//structure/featuremodeling/VariabilityDependencyKind/impedes"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//structure/featuremodeling/FeatureModel">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureModel/basePackage"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureModel/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureModel/rootFeature"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureModel/featureLink"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureModel/featureConstraint"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/featuremodeling/Feature">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/Feature/baseClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/featuremodeling/Feature/cardinality"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/Feature/requiredBindingTime"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/Feature/actualBindingTime"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/Feature/featureParameter"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/Feature/childNode"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//structure/featuremodeling/FeatureTreeNode"/>
+ <genClasses ecoreClass="eastadl.ecore#//structure/featuremodeling/BindingTime">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/featuremodeling/BindingTime/kind"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/BindingTime/baseClass"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/featuremodeling/FeatureLink">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/featuremodeling/FeatureLink/isBidirectional"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/featuremodeling/FeatureLink/customType"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureLink/baseDependency"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureLink/start"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureLink/end"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureLink/baseAssociationClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/featuremodeling/FeatureLink/kind"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/featuremodeling/FeatureConstraint">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/featuremodeling/FeatureConstraint/criterion"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureConstraint/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureConstraint/baseConstraint"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//structure/featuremodeling/FeatureGroup">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureGroup/baseClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//structure/featuremodeling/FeatureGroup/cardinality"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//structure/featuremodeling/FeatureGroup/childFeature"/>
+ </genClasses>
+ </nestedGenPackages>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Behavior" resource="XML" disposableProviderFactory="true"
+ ecorePackage="eastadl.ecore#//behavior">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//behavior/FunctionBehaviorKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/FunctionBehaviorKind/ascet"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/FunctionBehaviorKind/other"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/FunctionBehaviorKind/scade"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/FunctionBehaviorKind/sdl"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/FunctionBehaviorKind/simulink"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/FunctionBehaviorKind/statemate"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/FunctionBehaviorKind/marte"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/FunctionBehaviorKind/uml"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//behavior/TriggerPolicyKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/TriggerPolicyKind/event"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//behavior/TriggerPolicyKind/time"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//behavior/FunctionBehavior">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/FunctionBehavior/baseBehavior"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//behavior/FunctionBehavior/path"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//behavior/FunctionBehavior/representation"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/FunctionBehavior/mode"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/FunctionBehavior/function"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//behavior/Mode">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//behavior/Mode/condition"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/Mode/baseClass"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//behavior/Behavior">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/Behavior/behavior"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/Behavior/functionTrigger"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/Behavior/modeGroup"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/Behavior/basePackage"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/Behavior/baseClass"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//behavior/FunctionTrigger">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//behavior/FunctionTrigger/triggerCondition"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/FunctionTrigger/baseClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//behavior/FunctionTrigger/triggerPolicy"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/FunctionTrigger/mode"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/FunctionTrigger/function"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/FunctionTrigger/port"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/FunctionTrigger/functionPrototype"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//behavior/ModeGroup">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//behavior/ModeGroup/precondition"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/ModeGroup/mode"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//behavior/ModeGroup/baseClass"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Requirements" resource="XML" disposableProviderFactory="true"
+ ecorePackage="eastadl.ecore#//requirements">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//requirements/QualityRequirementKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/ergonomy"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/configurability"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/integrity"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/safety"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/other"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/security"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/humanMachineInterface"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/timing"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/availability"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/reliability"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/confidentiality"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//requirements/QualityRequirementKind/maintainability"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/QualityRequirement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//requirements/QualityRequirement/qualityRequirementType"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/Requirement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//requirements/Requirement/formalism"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//requirements/Requirement/url"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Requirement/mode"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//requirements/RequirementSpecificationObject">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementSpecificationObject/referencingContainer"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/RequirementsContainer">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsContainer/childContainer"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsContainer/parentContainer"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsContainer/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsContainer/basePackage"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsContainer/containedReqSpecObject"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/RequirementsRelatedInformation">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsRelatedInformation/baseClass"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//requirements/RequirementsRelationship">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsRelationship/baseClass"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/Satisfy">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Satisfy/satisfiedRequirement"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Satisfy/satisfiedBy"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Satisfy/satisfiedByPath"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Satisfy/satisfiedUseCase"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/UseCase">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/UseCase/baseUseCase"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/UseCase/include"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/UseCase/extend"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/UseCase/extensionPoint"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/Include">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Include/baseInclude"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Include/addition"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/Extend">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Extend/baseExtend"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Extend/extendedCase"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Extend/extensionLocation"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/ExtensionPoint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/ExtensionPoint/baseExtensionPoint"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//requirements/RedefinableElement">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RedefinableElement/baseRedefinableElement"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/Refine">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Refine/refinedRequirement"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Refine/refinedBy"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Refine/baseDependency"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Refine/refinedByPath"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/DeriveRequirement">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/DeriveRequirement/derived"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/DeriveRequirement/derivedFrom"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/RequirementsRelationGroup">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsRelationGroup/relation"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsRelationGroup/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsRelationGroup/basePackage"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/RequirementsLink">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//requirements/RequirementsLink/isBidirectional"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsLink/source"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsLink/target"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/RequirementsModel">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsModel/useCase"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsModel/requirement"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsModel/requirementContainer"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsModel/operationalSituation"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/RequirementsModel/basePackage"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/OperationalSituation">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/OperationalSituation/baseClass"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/Actor">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/Actor/baseActor"/>
+ </genClasses>
+ <nestedGenPackages prefix="Verificationvalidation" resource="XML" disposableProviderFactory="true"
+ ecorePackage="eastadl.ecore#//requirements/verificationvalidation">
+ <genClasses ecoreClass="eastadl.ecore#//requirements/verificationvalidation/VvStimuli">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VvStimuli/baseClass"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/verificationvalidation/VvIntendedOutcome">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VvIntendedOutcome/baseClass"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/verificationvalidation/VvActualOutcome">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VvActualOutcome/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VvActualOutcome/intendedOutcome"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/verificationvalidation/VvCase">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VvCase/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VvCase/vvCase"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VvCase/abstractVvCase"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VvCase/vvTarget"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VvCase/vvSubject"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VvCase/vvLog"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VvCase/vvProcedure"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/verificationvalidation/VvTarget">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VvTarget/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VvTarget/element"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/verificationvalidation/VvLog">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//requirements/verificationvalidation/VvLog/date"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VvLog/vvActualOutcome"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VvLog/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VvLog/performedVvProcedure"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/verificationvalidation/VvProcedure">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VvProcedure/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VvProcedure/abstractVvProcedure"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VvProcedure/concreteVvProcedure"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VvProcedure/vvIntendedOutcome"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VvProcedure/vvStimuli"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/verificationvalidation/VerificationValidation">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VerificationValidation/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VerificationValidation/basePackage"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VerificationValidation/verify"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VerificationValidation/vvCase"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/VerificationValidation/vvTarget"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//requirements/verificationvalidation/Verify">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/Verify/verifiedByProcedure"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/Verify/verifiedByCase"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//requirements/verificationvalidation/Verify/verifiedRequirement"/>
+ </genClasses>
+ </nestedGenPackages>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Timing" resource="XML" disposableProviderFactory="true"
+ ecorePackage="eastadl.ecore#//timing">
+ <genClasses image="false" ecoreClass="eastadl.ecore#//timing/TimingDescription">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/TimingDescription/baseClass"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//timing/TimingConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/TimingConstraint/mode"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/TimingConstraint/upper"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/TimingConstraint/lower"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/TimingConstraint/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/TimingConstraint/baseConstraint"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/TimeDuration">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/TimeDuration/baseDataType"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//timing/TimeDuration/cseCode"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//timing/TimeDuration/cseCodeFactor"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//timing/TimeDuration/value"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/Timing">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/Timing/timingConstraint"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/Timing/timingDescription"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/Timing/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/Timing/basePackage"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/EventChain">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/EventChain/segment"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/EventChain/strand"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/EventChain/response"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/EventChain/stimulus"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//timing/Event">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//timing/Event/isStateChanged"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/ExecutionTimeConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/ExecutionTimeConstraint/variation"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/ExecutionTimeConstraint/targetDesignFunctionType"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/ExecutionTimeConstraint/targetDesignFunction"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/ExecutionTimeConstraint/targeDesignFunctionPrototype"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/PrecedenceConstraint">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//timing/PrecedenceConstraint/successive"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//timing/PrecedenceConstraint/preceding"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/PrecedenceConstraint/baseDependency"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/PrecedenceConstraint/successivePath"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/PrecedenceConstraint/precedingPath"/>
+ </genClasses>
+ <nestedGenPackages prefix="Timingconstraints" resource="XML" disposableProviderFactory="true"
+ ecorePackage="eastadl.ecore#//timing/timingconstraints">
+ <genClasses image="false" ecoreClass="eastadl.ecore#//timing/timingconstraints/DelayConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/DelayConstraint/jitter"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/DelayConstraint/nominal"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/DelayConstraint/scope"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/timingconstraints/AgeTimingConstraint"/>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//timing/timingconstraints/EventConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/EventConstraint/event"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/EventConstraint/offset"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/timingconstraints/InputSynchronizationConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/InputSynchronizationConstraint/width"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/timingconstraints/OutputSynchronizationConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/OutputSynchronizationConstraint/width"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/timingconstraints/ReactionConstraint"/>
+ <genClasses ecoreClass="eastadl.ecore#//timing/timingconstraints/SporadicEventConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/SporadicEventConstraint/jitter"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/SporadicEventConstraint/period"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/SporadicEventConstraint/maximumInterArrivalTime"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/SporadicEventConstraint/minimumInterArrivalTime"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/timingconstraints/PeriodicEventConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/PeriodicEventConstraint/jitter"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/PeriodicEventConstraint/period"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/PeriodicEventConstraint/minimumInterArrivalTime"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/timingconstraints/PatternEventConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/PatternEventConstraint/period"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/PatternEventConstraint/minimumInterArrivalTime"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/PatternEventConstraint/occurence"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/PatternEventConstraint/jitter"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/timingconstraints/ArbitraryEventConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/ArbitraryEventConstraint/minimumInterArrivalTime"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/timingconstraints/ArbitraryEventConstraint/maximumInterArrivalTime"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Events" resource="XML" disposableProviderFactory="true"
+ ecorePackage="eastadl.ecore#//timing/events">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//timing/events/EventFunctionClientServerPortKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//timing/events/EventFunctionClientServerPortKind/receivedRequest"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//timing/events/EventFunctionClientServerPortKind/sentResponse"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//timing/events/EventFunctionClientServerPortKind/sentRequest"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//timing/events/EventFunctionClientServerPortKind/receivedResponse"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//timing/events/EventFunctionFlowPort">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/events/EventFunctionFlowPort/port"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/events/EventFunctionFlowPort/portPath"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/events/EventFunctionClientServerPort">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//timing/events/EventFunctionClientServerPort/eventKind"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/events/EventFunctionClientServerPort/port"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/events/EventFunctionClientServerPort/portPath"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//timing/events/EventFunction">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/events/EventFunction/function"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/events/EventFunction/functionType"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//timing/events/EventFunction/functionPath"/>
+ </genClasses>
+ </nestedGenPackages>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Interchange" resource="XML" disposableProviderFactory="true"
+ ecorePackage="eastadl.ecore#//interchange">
+ <genClasses image="false" ecoreClass="eastadl.ecore#//interchange/RifArea">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//interchange/RifArea/rootRequirementContainer"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//interchange/RifArea/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//interchange/RifArea/interchangeReqSpecObject"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//interchange/RifExportArea"/>
+ <genClasses ecoreClass="eastadl.ecore#//interchange/RifImportArea"/>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Environment" resource="XML" disposableProviderFactory="true"
+ ecorePackage="eastadl.ecore#//environment">
+ <genClasses ecoreClass="eastadl.ecore#//environment/Environment">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//environment/Environment/environmentModel"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//environment/Environment/clampConnector"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//environment/Environment/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//environment/Environment/basePackage"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//environment/ClampConnector">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//environment/ClampConnector/port"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//environment/ClampConnector/baseConnector"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//environment/ClampConnector/port1Path"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//environment/ClampConnector/port2Path"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Dependability" resource="XML" disposableProviderFactory="true"
+ ecorePackage="eastadl.ecore#//dependability">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//dependability/ControllabilityClassKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/ControllabilityClassKind/c1"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/ControllabilityClassKind/c2"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/ControllabilityClassKind/c3"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/ControllabilityClassKind/c0"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//dependability/ExposureClassKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/ExposureClassKind/e1"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/ExposureClassKind/e2"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/ExposureClassKind/e3"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/ExposureClassKind/e4"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//dependability/SeverityClassKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/SeverityClassKind/s0"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/SeverityClassKind/s1"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/SeverityClassKind/s2"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/SeverityClassKind/s3"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//dependability/DevelopmentCategoryKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/DevelopmentCategoryKind/modificationOfExistingItem"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/DevelopmentCategoryKind/newItemDevelopment"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/HazardousEvent">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/HazardousEvent/baseClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/HazardousEvent/controllability"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/HazardousEvent/exposure"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/HazardousEvent/hazardClassification"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/HazardousEvent/severity"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/HazardousEvent/classificationAssumptions"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/HazardousEvent/hazard"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/HazardousEvent/traffic"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/HazardousEvent/environment"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/HazardousEvent/operationalSituationUseCase"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/HazardousEvent/operatingMode"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/HazardousEvent/externalMeasures"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/Hazard">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Hazard/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Hazard/malfunction"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Hazard/item"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/FeatureFlaw">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/FeatureFlaw/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/FeatureFlaw/item"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/FeatureFlaw/nonFulfilledRequirement"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/Item">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Item/baseClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/Item/developmentCategory"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Item/vehicleFeature"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/Dependability">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/basePackage"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/functionalSafetyConcept"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/safetyGoal"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/technicalSafetyConcept"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/hazardousEvent"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/featureFlaw"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/item"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/eaDatatype"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/faultFailure"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/quantitativeSafetyConstraint"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/safetyConstraint"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/safetyCase"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/Dependability/errorModelType"/>
+ </genClasses>
+ <nestedGenPackages prefix="Errormodel" resource="XML" disposableProviderFactory="true"
+ ecorePackage="eastadl.ecore#//dependability/errormodel">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//dependability/errormodel/ErrorBehaviorKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/errormodel/ErrorBehaviorKind/hipHops"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/errormodel/ErrorBehaviorKind/altarica"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/errormodel/ErrorBehaviorKind/aadl"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/errormodel/ErrorBehaviorKind/other"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/errormodel/ErrorBehavior">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorBehavior/baseBehavior"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/errormodel/ErrorBehavior/failureLogic"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/errormodel/ErrorBehavior/type"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorBehavior/internalFault"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorBehavior/owner"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorBehavior/externalFailure"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorBehavior/externalFault"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorBehavior/processFault"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/errormodel/InternalFaultPrototype">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/InternalFaultPrototype/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/InternalFaultPrototype/baseEvent"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/errormodel/Anomaly">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/errormodel/Anomaly/genericDescription"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/Anomaly/baseProperty"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/Anomaly/type"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/errormodel/ErrorModelType">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/baseClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/errormodel/ErrorModelType/genericDescription"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/faultFailureConnector"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/part"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/failure"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/externalFault"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/internalFault"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/processFault"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/target"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/hwTarget"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelType/errorBehaviorDescription"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/errormodel/FaultFailurePropagationLink">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePropagationLink/baseConnector"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/errormodel/FaultFailurePropagationLink/immediatePropagation"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePropagationLink/toPort"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePropagationLink/fromPort"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePropagationLink/fromPortPath"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePropagationLink/toPortPath"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//dependability/errormodel/FaultFailurePort">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePort/basePort"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePort/functionTarget"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePort/hwTarget"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePort/functionTargetPath"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/FaultFailurePort/hwTargetPath"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/errormodel/ErrorModelPrototype">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelPrototype/baseProperty"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelPrototype/type"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelPrototype/target"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelPrototype/functionTarget"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelPrototype/hwTarget"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelPrototype/functionTargetPath"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ErrorModelPrototype/hwTargetPath"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/errormodel/FailureOutPort"/>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/errormodel/FaultInPort"/>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/errormodel/ProcessFaultPrototype">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/errormodel/ProcessFaultPrototype/baseEvent"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Safetyrequirement" resource="XML" disposableProviderFactory="true"
+ ecorePackage="eastadl.ecore#//dependability/safetyrequirement">
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetyrequirement/FunctionalSafetyConcept">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyrequirement/FunctionalSafetyConcept/functionalSafetyRequirement"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetyrequirement/SafetyGoal">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyrequirement/SafetyGoal/derivedFrom"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/safetyrequirement/SafetyGoal/safeStates"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyrequirement/SafetyGoal/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyrequirement/SafetyGoal/requirement"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/safetyrequirement/SafetyGoal/hazardClassification"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyrequirement/SafetyGoal/safeModes"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetyrequirement/TechnicalSafetyConcept">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyrequirement/TechnicalSafetyConcept/technicalSafetyRequirement"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Safetyconstraints" resource="XML" disposableProviderFactory="true"
+ ecorePackage="eastadl.ecore#//dependability/safetyconstraints">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//dependability/safetyconstraints/AsilKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/safetyconstraints/AsilKind/asilA"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/safetyconstraints/AsilKind/asilD"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/safetyconstraints/AsilKind/asilC"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/safetyconstraints/AsilKind/asilB"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/safetyconstraints/AsilKind/qm"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetyconstraints/FaultFailure">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyconstraints/FaultFailure/baseClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/safetyconstraints/FaultFailure/faultFailureValue"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyconstraints/FaultFailure/anomaly"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetyconstraints/SafetyConstraint">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/safetyconstraints/SafetyConstraint/asilValue"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyconstraints/SafetyConstraint/constrainedFaultFailure"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyconstraints/SafetyConstraint/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyconstraints/SafetyConstraint/baseConstraint"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetyconstraints/QuantitativeSafetyConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyconstraints/QuantitativeSafetyConstraint/constrainedFaultFailure"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/safetyconstraints/QuantitativeSafetyConstraint/failureRate"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/safetyconstraints/QuantitativeSafetyConstraint/repairRate"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyconstraints/QuantitativeSafetyConstraint/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetyconstraints/QuantitativeSafetyConstraint/baseConstraint"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Safetycase" resource="XML" disposableProviderFactory="true"
+ ecorePackage="eastadl.ecore#//dependability/safetycase">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//dependability/safetycase/LifecycleStageKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/safetycase/LifecycleStageKind/preliminarySafetyCase"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/safetycase/LifecycleStageKind/interimSafetyCase"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//dependability/safetycase/LifecycleStageKind/operationalSafetyCase"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetycase/SafetyCase">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/SafetyCase/safetyCase"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/safetycase/SafetyCase/stage"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//dependability/safetycase/SafetyCase/context"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/SafetyCase/ground"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/SafetyCase/warrant"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/SafetyCase/claim"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/SafetyCase/baseClass"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetycase/Ground">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Ground/safetyEvidence"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Ground/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Ground/justification"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetycase/Warrant">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Warrant/decomposedGoal"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Warrant/evidence"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Warrant/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Warrant/justification"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//dependability/safetycase/Claim">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Claim/safetyRequirement"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Claim/supportedArgument"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Claim/goalDecompositionStrategy"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Claim/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Claim/justification"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//dependability/safetycase/Claim/evidence"/>
+ </genClasses>
+ </nestedGenPackages>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Annex" disposableProviderFactory="true" ecorePackage="eastadl.ecore#//annex">
+ <genDataTypes ecoreDataType="eastadl.ecore#//annex/Dummy"/>
+ <nestedGenPackages prefix="Needs" resource="XML" disposableProviderFactory="true"
+ ecorePackage="eastadl.ecore#//annex/needs">
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/Stakeholder">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/Stakeholder/baseClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/Stakeholder/responsibilities"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/Stakeholder/successCriteria"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/StakeholderNeed">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/StakeholderNeed/baseClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/StakeholderNeed/need"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/StakeholderNeed/priority"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/StakeholderNeed/stakeHolder"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/StakeholderNeed/problemStatement"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/ProblemStatement">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/ProblemStatement/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/ProblemStatement/affects"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/ProblemStatement/impact"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/ProblemStatement/problem"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/ProblemStatement/solutionBenefits"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/ProductPositioning">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/ProductPositioning/baseClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/ProductPositioning/drivingNeeds"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/ProductPositioning/keyCapabilities"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/ProductPositioning/primaryCompetitiveAlternative"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/ProductPositioning/primaryDifferentiation"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/ProductPositioning/targetCustomers"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/BusinessOpportunity">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/BusinessOpportunity/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/BusinessOpportunity/problemStatement"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/BusinessOpportunity/productPositioning"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//annex/needs/BusinessOpportunity/businessOpportunity"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="eastadl.ecore#//annex/needs/Concept"/>
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/Mission"/>
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/VehicleSystem">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/VehicleSystem/fulfills"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/VehicleSystem/hasAn"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/VehicleSystem/has"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/Architecture">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/Architecture/describedBy"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/ArchitecturalDescription">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/ArchitecturalDescription/aggregates"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//annex/needs/ArchitecturalDescription/identifies"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//annex/needs/ArchitecturalModel"/>
+ </nestedGenPackages>
+ </nestedGenPackages>
+ <nestedGenPackages prefix="Genericconstraints" resource="XML" disposableProviderFactory="true"
+ ecorePackage="eastadl.ecore#//genericconstraints">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="eastadl.ecore#//genericconstraints/GenericConstraintKind">
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/powerConsumption"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/other"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/pieceCost"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/weight"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/standard"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/cableLength"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/developmentCost"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/functionAllocationDifferentNodes"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/functionAllocationSameNode"/>
+ <genEnumLiterals ecoreEnumLiteral="eastadl.ecore#//genericconstraints/GenericConstraintKind/powerSupplyIndependent"/>
+ </genEnums>
+ <genClasses ecoreClass="eastadl.ecore#//genericconstraints/GenericConstraint">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//genericconstraints/GenericConstraint/designConstraintType"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//genericconstraints/GenericConstraint/baseConstraint"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//genericconstraints/GenericConstraint/genericConstraintValue"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//genericconstraints/GenericConstraint/baseClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//genericconstraints/GenericConstraint/target"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//genericconstraints/GenericConstraint/mode"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//genericconstraints/GenericConstraintSet">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//genericconstraints/GenericConstraintSet/genericConstraint"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//genericconstraints/GenericConstraintSet/basePackage"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//genericconstraints/GenericConstraintSet/baseClass"/>
+ </genClasses>
+ <genClasses ecoreClass="eastadl.ecore#//genericconstraints/TakeRateConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference eastadl.ecore#//genericconstraints/TakeRateConstraint/source"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eastadl.ecore#//genericconstraints/TakeRateConstraint/takeRate"/>
+ </genClasses>
+ </nestedGenPackages>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/plugin.properties b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/plugin.properties
new file mode 100644
index 00000000000..0bb0a577fab
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/plugin.properties
@@ -0,0 +1,14 @@
+#################################################################################
+# Copyright (c) 2010 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the 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:
+# Sara TUCCI sara.mraidha@cea.fr - Initial API and implementation
+# Chokri MRAIDHA chokri.mraidha@cea.fr - Initial API and implementation
+##################################################################################================
+
+pluginName = UML Profile for East-ADL (Incubation)
+providerName = Eclipse Modeling Project
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/plugin.xml b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/plugin.xml
new file mode 100644
index 00000000000..7ad4da4d575
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/plugin.xml
@@ -0,0 +1,1045 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+
+
+<plugin>
+
+ <extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ uri="http://www.papyrusuml.org/EAST-ADL2/1"
+ location="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_i-WJIDxIEdyqfK4bFJstMQ"/>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ uri="http://www.papyrusuml.org/EAST-ADL2/Variability/1"
+ location="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_i-WL-TxIEdyqfK4bFJstMQ"/>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ uri="http://www.papyrusuml.org/EAST-ADL2/Behavior/1"
+ location="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_i-WMfjxIEdyqfK4bFJstMQ"/>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ uri="http://www.papyrusuml.org/EAST-ADL2/Dependability/ErrorModel/1"
+ location="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_i-WMfzxIEdyqfK4bFJstMQ"/>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ uri="http://www.papyrusuml.org/EAST-ADL2/Requirements/1"
+ location="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_i-WLPzxIEdyqfK4bFJstMQ"/>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ uri="http://www.papyrusuml.org/EAST-ADL2/Dependability/SafetyRequirement/1"
+ location="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_ZNvgwN4lEdyW6f_GAa5b1w"/>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ uri="http://www.papyrusuml.org/EAST-ADL2/Dependability/SafetyCase/1"
+ location="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_Tb650N4qEdyW6f_GAa5b1w"/>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ uri="http://www.papyrusuml.org/EAST-ADL2/Structure/1"
+ location="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_i-WNKzxIEdyqfK4bFJstMQ"/>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ uri="http://www.papyrusuml.org/EAST-ADL2/Structure/FunctionModeling/1"
+ location="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_i-WP9DxIEdyqfK4bFJstMQ"/>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ uri="http://www.papyrusuml.org/EAST-ADL2/Structure/FeatureModeling/1"
+ location="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_i-f62DxIEdyqfK4bFJstMQ"/>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ uri="http://www.papyrusuml.org/EAST-ADL2/Environment/1"
+ location="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_i-f77zxIEdyqfK4bFJstMQ"/>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ uri="http://www.papyrusuml.org/EAST-ADL2/Structure/SystemModeling/1"
+ location="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_i-f8CzxIEdyqfK4bFJstMQ"/>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ uri="http://www.papyrusuml.org/EAST-ADL2/Structure/HardwareModeling/1"
+ location="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_V5LXIHJVEdyx6oOkwavytg"/>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ uri="http://www.papyrusuml.org/EAST-ADL2/Structure/VehicleFeatureModeling/1"
+ location="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_VtDYsNl5EdyxEqZvsyllRw"/>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ uri="http://www.papyrusuml.org/EAST-ADL2/Support/1"
+ location="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_i-WLITxIEdyqfK4bFJstMQ"/>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ uri="http://www.papyrusuml.org/EAST-ADL2/Requirements/VerificationValidation/1"
+ location="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_i-WKtDxIEdyqfK4bFJstMQ"/>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ uri="http://www.papyrusuml.org/EAST-ADL2/Infrastructure/UserAttributes/1"
+ location="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_2M5XsNu0EdyN-KVwISucrA"/>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ uri="http://www.papyrusuml.org/EAST-ADL2/Infrastructure/1"
+ location="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_i-WNLDxIEdyqfK4bFJstMQ"/>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ uri="http://www.papyrusuml.org/EAST-ADL2/Infrastructure/Datatypes/1"
+ location="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_i-WNLTxIEdyqfK4bFJstMQ"/>
+ </extension>
+
+ <extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ uri="http://www.papyrusuml.org/EAST-ADL2/Infrastructure/Elements/1"
+ location="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_i-WNZjxIEdyqfK4bFJstMQ"/>
+ </extension>
+
+ <extension
+ point="org.eclipse.emf.ecore.uri_mapping">
+ <mapping
+ source="pathmap://EAST-ADL2_PROFILES/"
+ target="platform:/plugin/org.eclipse.papyrus.eastadl/model/"/>
+ </extension>
+ <extension
+ point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile">
+ <profile
+ description="UML Profile for EAST-ADL2"
+ iconpath="resources/icons/EASTADL.gif"
+ name="EAST-ADL2"
+ path="pathmap://EAST-ADL2_PROFILES/eastadl.profile.uml"
+ provider="CEA LIST"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.papyrusuml.org/EAST-ADL2/1"
+ class = "org.eclipse.papyrus.eastadl.EastadlPackage"
+ genModel = "model/eastadl.genmodel" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="EAST-ADL2"
+ class="org.eclipse.papyrus.eastadl.util.EastadlResourceFactoryImpl" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated eastadl -->
+ <package
+ uri="http://www.papyrusuml.org/EAST-ADL2/1"
+ class="org.eclipse.papyrus.eastadl.EastadlPackage"
+ genModel="model/eastadl.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.papyrusuml.org/EAST-ADL2/Variability/1"
+ class = "org.eclipse.papyrus.eastadl.variability.VariabilityPackage"
+ genModel = "model/eastadl.genmodel" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="Variability"
+ class="org.eclipse.papyrus.eastadl.variability.util.VariabilityResourceFactoryImpl" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.papyrusuml.org/EAST-ADL2/Infrastructure/1"
+ class = "org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage"
+ genModel = "model/eastadl.genmodel" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="Infrastructure"
+ class="org.eclipse.papyrus.eastadl.infrastructure.util.InfrastructureResourceFactoryImpl" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.papyrusuml.org/EAST-ADL2/Infrastructure/Datatypes/1"
+ class = "org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage"
+ genModel = "model/eastadl.genmodel" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="Datatypes"
+ class="org.eclipse.papyrus.eastadl.infrastructure.datatypes.util.DatatypesResourceFactoryImpl" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.papyrusuml.org/EAST-ADL2/Infrastructure/Elements/1"
+ class = "org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage"
+ genModel = "model/eastadl.genmodel" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="Elements"
+ class="org.eclipse.papyrus.eastadl.infrastructure.elements.util.ElementsResourceFactoryImpl" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.papyrusuml.org/EAST-ADL2/Requirements/VerificationValidation/1"
+ class = "org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage"
+ genModel = "model/eastadl.genmodel" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="VerificationValidation"
+ class="org.eclipse.papyrus.eastadl.requirements.verificationvalidation.util.VerificationvalidationResourceFactoryImpl" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated eastadl -->
+ <package
+ uri="http://www.papyrusuml.org/EAST-ADL2/Timing/1"
+ class="org.eclipse.papyrus.eastadl.timing.TimingPackage"
+ genModel="model/eastadl.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <!-- @generated eastadl -->
+ <parser
+ type="timing"
+ class="org.eclipse.papyrus.eastadl.timing.util.TimingResourceFactoryImpl"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated eastadl -->
+ <package
+ uri="http://www.papyrusuml.org/EAST-ADL2/Timing/TimingConstraints/1"
+ class="org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage"
+ genModel="model/eastadl.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <!-- @generated eastadl -->
+ <parser
+ type="timingconstraints"
+ class="org.eclipse.papyrus.eastadl.timing.timingconstraints.util.TimingconstraintsResourceFactoryImpl"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated eastadl -->
+ <package
+ uri="http://www.papyrusuml.org/EAST-ADL2/Timing/Events/1"
+ class="org.eclipse.papyrus.eastadl.timing.events.EventsPackage"
+ genModel="model/eastadl.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <!-- @generated eastadl -->
+ <parser
+ type="events"
+ class="org.eclipse.papyrus.eastadl.timing.events.util.EventsResourceFactoryImpl"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated eastadl -->
+ <package
+ uri="http://www.papyrusuml.org/EAST-ADL2/Interchange/1"
+ class="org.eclipse.papyrus.eastadl.interchange.InterchangePackage"
+ genModel="model/eastadl.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <!-- @generated eastadl -->
+ <parser
+ type="interchange"
+ class="org.eclipse.papyrus.eastadl.interchange.util.InterchangeResourceFactoryImpl"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.papyrusuml.org/EAST-ADL2/Requirements/1"
+ class = "org.eclipse.papyrus.eastadl.requirements.RequirementsPackage"
+ genModel = "model/eastadl.genmodel" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="Requirements"
+ class="org.eclipse.papyrus.eastadl.requirements.util.RequirementsResourceFactoryImpl" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.papyrusuml.org/EAST-ADL2/Dependability/SafetyRequirement/1"
+ class = "org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage"
+ genModel = "model/eastadl.genmodel" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="SafetyRequirement"
+ class="org.eclipse.papyrus.eastadl.dependability.safetyrequirement.util.SafetyrequirementResourceFactoryImpl" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated eastadl -->
+ <package
+ uri="http://www.papyrusuml.org/EAST-ADL2/Dependability/SafetyConstraints/1"
+ class="org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage"
+ genModel="model/eastadl.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <!-- @generated eastadl -->
+ <parser
+ type="safetyconstraints"
+ class="org.eclipse.papyrus.eastadl.dependability.safetyconstraints.util.SafetyconstraintsResourceFactoryImpl"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.papyrusuml.org/EAST-ADL2/Dependability/SafetyCase/1"
+ class = "org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage"
+ genModel = "model/eastadl.genmodel" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="SafetyCase"
+ class="org.eclipse.papyrus.eastadl.dependability.safetycase.util.SafetycaseResourceFactoryImpl" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated eastadl -->
+ <package
+ uri="http://www.papyrusuml.org/EAST-ADL2/Annex/1"
+ class="org.eclipse.papyrus.eastadl.annex.AnnexPackage"
+ genModel="model/eastadl.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated eastadl -->
+ <package
+ uri="http://www.papyrusuml.org/EAST-ADL2/Annex/Needs/1"
+ class="org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage"
+ genModel="model/eastadl.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <!-- @generated eastadl -->
+ <parser
+ type="needs"
+ class="org.eclipse.papyrus.eastadl.annex.needs.util.NeedsResourceFactoryImpl"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated eastadl -->
+ <package
+ uri="http://www.papyrusuml.org/EAST-ADL2/GenericConstraints/1"
+ class="org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage"
+ genModel="model/eastadl.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <!-- @generated eastadl -->
+ <parser
+ type="genericconstraints"
+ class="org.eclipse.papyrus.eastadl.genericconstraints.util.GenericconstraintsResourceFactoryImpl"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.papyrusuml.org/EAST-ADL2/Structure/1"
+ class = "org.eclipse.papyrus.eastadl.structure.StructurePackage"
+ genModel = "model/eastadl.genmodel" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="Structure"
+ class="org.eclipse.papyrus.eastadl.structure.util.StructureResourceFactoryImpl" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.papyrusuml.org/EAST-ADL2/Structure/FeatureModeling/1"
+ class = "org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage"
+ genModel = "model/eastadl.genmodel" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="FeatureModeling"
+ class="org.eclipse.papyrus.eastadl.structure.featuremodeling.util.FeaturemodelingResourceFactoryImpl" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.papyrusuml.org/EAST-ADL2/Environment/1"
+ class = "org.eclipse.papyrus.eastadl.environment.EnvironmentPackage"
+ genModel = "model/eastadl.genmodel" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="Environment"
+ class="org.eclipse.papyrus.eastadl.environment.util.EnvironmentResourceFactoryImpl" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated eastadl -->
+ <package
+ uri="http://www.papyrusuml.org/EAST-ADL2/Dependability/1"
+ class="org.eclipse.papyrus.eastadl.dependability.DependabilityPackage"
+ genModel="model/eastadl.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <!-- @generated eastadl -->
+ <parser
+ type="dependability"
+ class="org.eclipse.papyrus.eastadl.dependability.util.DependabilityResourceFactoryImpl"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.papyrusuml.org/EAST-ADL2/Structure/SystemModeling/1"
+ class = "org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage"
+ genModel = "model/eastadl.genmodel" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="SystemModeling"
+ class="org.eclipse.papyrus.eastadl.structure.systemmodeling.util.SystemmodelingResourceFactoryImpl" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.papyrusuml.org/EAST-ADL2/Structure/HardwareModeling/1"
+ class = "org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage"
+ genModel = "model/eastadl.genmodel" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="HardwareModeling"
+ class="org.eclipse.papyrus.eastadl.structure.hardwaremodeling.util.HardwaremodelingResourceFactoryImpl" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.papyrusuml.org/EAST-ADL2/Structure/VehicleFeatureModeling/1"
+ class = "org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage"
+ genModel = "model/eastadl.genmodel" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="VehicleFeatureModeling"
+ class="org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.util.VehiclefeaturemodelingResourceFactoryImpl" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.papyrusuml.org/EAST-ADL2/Structure/FunctionModeling/1"
+ class = "org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage"
+ genModel = "model/eastadl.genmodel" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="FunctionModeling"
+ class="org.eclipse.papyrus.eastadl.structure.functionmodeling.util.FunctionmodelingResourceFactoryImpl" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.papyrusuml.org/EAST-ADL2/Infrastructure/UserAttributes/1"
+ class = "org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage"
+ genModel = "model/eastadl.genmodel" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="UserAttributes"
+ class="org.eclipse.papyrus.eastadl.infrastructure.userattributes.util.UserattributesResourceFactoryImpl" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.papyrusuml.org/EAST-ADL2/Behavior/1"
+ class = "org.eclipse.papyrus.eastadl.behavior.BehaviorPackage"
+ genModel = "model/eastadl.genmodel" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="Behavior"
+ class="org.eclipse.papyrus.eastadl.behavior.util.BehaviorResourceFactoryImpl" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.papyrusuml.org/EAST-ADL2/Dependability/ErrorModel/1"
+ class = "org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage"
+ genModel = "model/eastadl.genmodel" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="ErrorModel"
+ class="org.eclipse.papyrus.eastadl.dependability.errormodel.util.ErrormodelResourceFactoryImpl" />
+ </extension>
+
+
+
+
+<extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ location="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_KfvdINj2Ed6rlulM-6rbhg"
+ uri="http://www.papyrusuml.org/EAST-ADL2/Timing/Events/1">
+ </profile>
+ </extension>
+ <extension
+ point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ class="org.eclipse.papyrus.eastadl.timing.events.util.EventsResourceFactoryImpl"
+ type="Events">
+ </parser>
+ </extension>
+ <extension
+ point="org.eclipse.emf.ecore.generated_package">
+ <package
+ class="org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl"
+ uri="http://www.papyrusuml.org/EAST-ADL2/Timing/Events/1">
+ </package>
+ </extension>
+
+<extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ location="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_f0woANj4Ed6rlulM-6rbhg"
+ uri="http://www.papyrusuml.org/EAST-ADL2/Interchange/1">
+ </profile>
+ </extension>
+ <extension
+ point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ class="org.eclipse.papyrus.eastadl.interchange.util.InterchangeResourceFactoryImpl"
+ type="Interchange">
+ </parser>
+ </extension>
+ <extension
+ point="org.eclipse.emf.ecore.generated_package">
+ <package
+ class="org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl"
+ uri="http://www.papyrusuml.org/EAST-ADL2/Interchange/1">
+ </package>
+ </extension>
+
+<extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ location="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_N7DvcNjgEd6wXIBypQTswA"
+ uri="http://www.papyrusuml.org/EAST-ADL2/Timing/1">
+ </profile>
+ </extension>
+ <extension
+ point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ class="org.eclipse.papyrus.eastadl.timing.util.TimingResourceFactoryImpl"
+ type="Timing">
+ </parser>
+ </extension>
+ <extension
+ point="org.eclipse.emf.ecore.generated_package">
+ <package
+ class="org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl"
+ uri="http://www.papyrusuml.org/EAST-ADL2/Timing/1">
+ </package>
+ </extension>
+
+<extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ location="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_a_kcsNjiEd6wXIBypQTswA"
+ uri="http://www.papyrusuml.org/EAST-ADL2/Timing/TimingConstraints/1">
+ </profile>
+ </extension>
+ <extension
+ point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ class="org.eclipse.papyrus.eastadl.timing.timingconstraints.util.TimingconstraintsResourceFactoryImpl"
+ type="TimingConstraints">
+ </parser>
+ </extension>
+ <extension
+ point="org.eclipse.emf.ecore.generated_package">
+ <package
+ class="org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl"
+ uri="http://www.papyrusuml.org/EAST-ADL2/Timing/TimingConstraints/1">
+ </package>
+ </extension>
+<extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ location="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_LJxzMEn1Ed-CwvH3DORXbA"
+ uri="http://www.papyrusuml.org/EAST-ADL2/Dependability/1">
+ </profile>
+ </extension>
+ <extension
+ point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ class="org.eclipse.papyrus.eastadl.dependability.util.DependabilityResourceFactoryImpl"
+ type="Dependability">
+ </parser>
+ </extension>
+ <extension
+ point="org.eclipse.emf.ecore.generated_package">
+ <package
+ class="org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl"
+ uri="http://www.papyrusuml.org/EAST-ADL2/Dependability/1">
+ </package>
+ </extension>
+ <extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ location="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_HR2l4ErmEd-squZ2Pzs1Iw"
+ uri="http://www.papyrusuml.org/EAST-ADL2/Annex/1">
+ </profile>
+ </extension>
+ <extension
+ point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ class="org.eclipse.papyrus.eastadl.annex.impl.AnnexFactoryImpl"
+ type="Annex">
+ </parser>
+ </extension>
+ <extension
+ point="org.eclipse.emf.ecore.generated_package">
+ <package
+ class="org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl"
+ uri="http://www.papyrusuml.org/EAST-ADL2/Annex/1">
+ </package>
+ </extension>
+<extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ location="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_OTomkErmEd-squZ2Pzs1Iw"
+ uri="http://www.papyrusuml.org/EAST-ADL2/Annex/Needs/1">
+ </profile>
+ </extension>
+ <extension
+ point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ class="org.eclipse.papyrus.eastadl.annex.needs.util.NeedsResourceFactoryImpl"
+ type="Needs">
+ </parser>
+ </extension>
+ <extension
+ point="org.eclipse.emf.ecore.generated_package">
+ <package
+ class="org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl"
+ uri="http://www.papyrusuml.org/EAST-ADL2/Annex/Needs/1">
+ </package>
+ </extension>
+<extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ location="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_tZKz0ErpEd-899EX5XYvlQ"
+ uri="http://www.papyrusuml.org/EAST-ADL2/GenericConstraints/1">
+ </profile>
+ </extension>
+ <extension
+ point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ class="org.eclipse.papyrus.eastadl.genericconstraints.util.GenericconstraintsResourceFactoryImpl"
+ type="GenericConstraints">
+ </parser>
+ </extension>
+ <extension
+ point="org.eclipse.emf.ecore.generated_package">
+ <package
+ class="org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl"
+ uri="http://www.papyrusuml.org/EAST-ADL2/GenericConstraints/1">
+ </package>
+ </extension>
+<extension
+ point="org.eclipse.uml2.uml.generated_package">
+ <profile
+ location="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_bEdtYErpEd-899EX5XYvlQ"
+ uri="http://www.papyrusuml.org/EAST-ADL2/Dependability/SafetyConstraints/1">
+ </profile>
+ </extension>
+ <extension
+ point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ class="org.eclipse.papyrus.eastadl.dependability.safetyconstraints.util.SafetyconstraintsResourceFactoryImpl"
+ type="SafetyConstraints">
+ </parser>
+ </extension>
+ <extension
+ point="org.eclipse.emf.ecore.generated_package">
+ <package
+ class="org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl"
+ uri="http://www.papyrusuml.org/EAST-ADL2/Dependability/SafetyConstraints/1">
+ </package>
+ </extension>
+
+ <extension
+ id="Eastald_Composite_ErrorModel"
+ name="Eastald_Composite_ErrorModel"
+ point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition">
+ <paletteDefinition
+ ID="ErrorModel"
+ class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
+ name="ErrorModel"
+ path="/resources/palettes/Palette_Composite_ErrorModel.xml"
+ provider="CEA LIST">
+ <Priority
+ name="Medium">
+ </Priority>
+ <editor
+ id="org.eclipse.papyrus.uml.diagram.composite">
+ </editor>
+ </paletteDefinition>
+ </extension>
+ <extension
+ id="Eastald_Class_ErrorModel"
+ name="Eastald_Class_ErrorModel"
+ point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition">
+ <paletteDefinition
+ ID="ErrorModel"
+ class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
+ name="ErrorModel"
+ path="/resources/palettes/Palette_Class_ErrorModel.xml"
+ provider="CEA LIST">
+ <Priority
+ name="Medium">
+ </Priority>
+ <editor
+ id="org.eclipse.papyrus.uml.diagram.clazz">
+ </editor>
+ </paletteDefinition>
+ </extension>
+
+ <extension
+ id="Eastald_Composite_FeatureModeling"
+ name="Eastald_Composite_FeatureModeling"
+ point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition">
+ <paletteDefinition
+ ID="FeatureModeling"
+ class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
+ name="FeatureModeling"
+ path="/resources/palettes/Palette_Composite_FeatureModeling.xml"
+ provider="CEA LIST">
+ <Priority
+ name="Medium">
+ </Priority>
+ <editor
+ id="org.eclipse.papyrus.uml.diagram.composite">
+ </editor>
+ </paletteDefinition>
+ </extension>
+ <extension
+ id="Eastald_Class_FeatureModeling"
+ name="Eastald_Class_FeatureModeling"
+ point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition">
+ <paletteDefinition
+ ID="FeatureModeling"
+ class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
+ name="FeatureModeling"
+ path="/resources/palettes/Palette_Class_FeatureModeling.xml"
+ provider="CEA LIST">
+ <Priority
+ name="Medium">
+ </Priority>
+ <editor
+ id="org.eclipse.papyrus.uml.diagram.clazz">
+ </editor>
+ </paletteDefinition>
+ </extension>
+ <extension
+ id="Eastald_Composite_FunctionModeling"
+ name="Eastald_Composite_FunctionModeling"
+ point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition">
+ <paletteDefinition
+ ID="FunctionModeling"
+ class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
+ name="FunctionModeling"
+ path="/resources/palettes/Palette_Composite_FunctionModeling.xml"
+ provider="CEA LIST">
+ <Priority
+ name="Medium">
+ </Priority>
+ <editor
+ id="org.eclipse.papyrus.uml.diagram.composite">
+ </editor>
+ </paletteDefinition>
+ </extension>
+ <extension
+ id="Eastald_Class_FunctionModeling"
+ name="Eastald_Class_FunctionModeling"
+ point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition">
+ <paletteDefinition
+ ID="FunctionModeling"
+ class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
+ name="FunctionModeling"
+ path="/resources/palettes/Palette_Class_FunctionModeling.xml"
+ provider="CEA LIST">
+ <Priority
+ name="Medium">
+ </Priority>
+ <editor
+ id="org.eclipse.papyrus.uml.diagram.clazz">
+ </editor>
+ </paletteDefinition>
+ </extension>
+ <extension
+ id="Eastald_Composite_HardwareModeling"
+ name="Eastald_Composite_HardwareModeling"
+ point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition">
+ <paletteDefinition
+ ID="HardwareModeling"
+ class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
+ name="HardwareModeling"
+ path="/resources/palettes/Palette_Composite_HardwareModeling.xml"
+ provider="CEA LIST">
+ <Priority
+ name="Medium">
+ </Priority>
+ <editor
+ id="org.eclipse.papyrus.uml.diagram.composite">
+ </editor>
+ </paletteDefinition>
+ </extension>
+ <extension
+ id="Eastald_Class_HardwareModeling"
+ name="Eastald_Class_HardwareModeling"
+ point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition">
+ <paletteDefinition
+ ID="HardwareModeling"
+ class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
+ name="HardwareModeling"
+ path="/resources/palettes/Palette_Class_HardwareModeling.xml"
+ provider="CEA LIST">
+ <Priority
+ name="Medium">
+ </Priority>
+ <editor
+ id="org.eclipse.papyrus.uml.diagram.clazz">
+ </editor>
+ </paletteDefinition>
+ </extension>
+ <extension
+ id="Eastald_Composite_Requirements"
+ name="Eastald_Composite_Requirements"
+ point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition">
+ <paletteDefinition
+ ID="Requirements"
+ class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
+ name="Requirements"
+ path="/resources/palettes/Palette_Composite_Requirements.xml"
+ provider="CEA LIST">
+ <Priority
+ name="Medium">
+ </Priority>
+ <editor
+ id="org.eclipse.papyrus.uml.diagram.composite">
+ </editor>
+ </paletteDefinition>
+ </extension>
+ <extension
+ id="Eastald_Class_Requirements"
+ name="Eastald_Class_Requirements"
+ point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition">
+ <paletteDefinition
+ ID="Requirements"
+ class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
+ name="Requirements"
+ path="/resources/palettes/Palette_Class_Requirements.xml"
+ provider="CEA LIST">
+ <Priority
+ name="Medium">
+ </Priority>
+ <editor
+ id="org.eclipse.papyrus.uml.diagram.clazz">
+ </editor>
+ </paletteDefinition>
+ </extension>
+ <extension
+ id="Eastald_Composite_SystemModeling"
+ name="Eastald_Composite_SystemModeling"
+ point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition">
+ <paletteDefinition
+ ID="SystemModeling"
+ class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
+ name="SystemModeling"
+ path="/resources/palettes/Palette_Composite_SystemModeling.xml"
+ provider="CEA LIST">
+ <Priority
+ name="Medium">
+ </Priority>
+ <editor
+ id="org.eclipse.papyrus.uml.diagram.composite">
+ </editor>
+ </paletteDefinition>
+ </extension>
+ <extension
+ id="Eastald_Class_SystemModeling"
+ name="Eastald_Class_SystemModeling"
+ point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition">
+ <paletteDefinition
+ ID="SystemModeling"
+ class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
+ name="SystemModeling"
+ path="/resources/palettes/Palette_Class_SystemModeling.xml"
+ provider="CEA LIST">
+ <Priority
+ name="Medium">
+ </Priority>
+ <editor
+ id="org.eclipse.papyrus.uml.diagram.clazz">
+ </editor>
+ </paletteDefinition>
+ </extension>
+ <extension
+ id="Eastald_Composite_Timing"
+ name="Eastald_Composite_Timing"
+ point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition">
+ <paletteDefinition
+ ID="Timing"
+ class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
+ name="Timing"
+ path="/resources/palettes/Palette_Composite_Timing.xml"
+ provider="CEA LIST">
+ <Priority
+ name="Medium">
+ </Priority>
+ <editor
+ id="org.eclipse.papyrus.uml.diagram.composite">
+ </editor>
+ </paletteDefinition>
+ </extension>
+ <extension
+ id="Eastald_Class_Timing"
+ name="Eastald_Class_Timing"
+ point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition">
+ <paletteDefinition
+ ID="Timing"
+ class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
+ name="Timing"
+ path="/resources/palettes/Palette_Class_Timing.xml"
+ provider="CEA LIST">
+ <Priority
+ name="Medium">
+ </Priority>
+ <editor
+ id="org.eclipse.papyrus.uml.diagram.clazz">
+ </editor>
+ </paletteDefinition>
+ </extension>
+ <extension
+ id="Eastald_Composite_VerificationValidation"
+ name="Eastald_Composite_VerificationValidation"
+ point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition">
+ <paletteDefinition
+ ID="VerificationValidation"
+ class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
+ name="VerificationValidation"
+ path="/resources/palettes/Palette_Composite_VerificationValidation.xml"
+ provider="CEA LIST">
+ <Priority
+ name="Medium">
+ </Priority>
+ <editor
+ id="org.eclipse.papyrus.uml.diagram.composite">
+ </editor>
+ </paletteDefinition>
+ </extension>
+ <extension
+ id="Eastald_Class_VerificationValidation"
+ name="Eastald_Class_VerificationValidation"
+ point="org.eclipse.papyrus.uml.diagram.common.paletteDefinition">
+ <paletteDefinition
+ ID="VerificationValidation"
+ class="org.eclipse.papyrus.uml.diagram.common.service.PluginPaletteProvider"
+ name="VerificationValidation"
+ path="/resources/palettes/Palette_Class_VerificationValidation.xml"
+ provider="CEA LIST">
+ <Priority
+ name="Medium">
+ </Priority>
+ <editor
+ id="org.eclipse.papyrus.uml.diagram.clazz">
+ </editor>
+ </paletteDefinition>
+ </extension>
+ <extension
+ point="org.eclipse.papyrus.uml.diagram.wizards.templates">
+ <template
+ di_file="resources/templates/initialmodel.di"
+ file="resources/templates/initialmodel.uml"
+ id="org.eclipse.papyrus.eastadl.EeastadlModelWithStructure"
+ language="uml"
+ name="An EAST-ADL model with applied profile and system structure"
+ notation_file="resources/templates/initialmodel.notation">
+ </template>
+ </extension>
+
+
+</plugin>
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/EASTADL.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/EASTADL.gif
new file mode 100644
index 00000000000..b5336527aa6
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/EASTADL.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/behavior/FunctionBehavior.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/behavior/FunctionBehavior.gif
new file mode 100644
index 00000000000..eaaac9bbe39
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/behavior/FunctionBehavior.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/behavior/FunctionTrigger.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/behavior/FunctionTrigger.gif
new file mode 100644
index 00000000000..e5b72a43f1c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/behavior/FunctionTrigger.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/dependability/errormodel/ErrorBehavior.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/dependability/errormodel/ErrorBehavior.gif
new file mode 100644
index 00000000000..eb8ffc36e9d
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/dependability/errormodel/ErrorBehavior.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/dependability/errormodel/ErrorModelPrototype.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/dependability/errormodel/ErrorModelPrototype.gif
new file mode 100644
index 00000000000..84f9d0ab6a6
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/dependability/errormodel/ErrorModelPrototype.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/dependability/errormodel/ErrorModelType.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/dependability/errormodel/ErrorModelType.gif
new file mode 100644
index 00000000000..6ebbb212d21
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/dependability/errormodel/ErrorModelType.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/dependability/errormodel/FailureOutPort.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/dependability/errormodel/FailureOutPort.gif
new file mode 100644
index 00000000000..ac750ef0d4c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/dependability/errormodel/FailureOutPort.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/dependability/errormodel/FaultInPort.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/dependability/errormodel/FaultInPort.gif
new file mode 100644
index 00000000000..be7845f0471
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/dependability/errormodel/FaultInPort.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/environment/Environment.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/environment/Environment.gif
new file mode 100644
index 00000000000..74c48d27072
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/environment/Environment.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/genericconstraints/GenericConstraint.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/genericconstraints/GenericConstraint.gif
new file mode 100644
index 00000000000..fba239103c7
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/genericconstraints/GenericConstraint.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/infrastructure/datatypes/EADatatype.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/infrastructure/datatypes/EADatatype.gif
new file mode 100644
index 00000000000..19494be1958
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/infrastructure/datatypes/EADatatype.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/infrastructure/elements/Realization.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/infrastructure/elements/Realization.gif
new file mode 100644
index 00000000000..b8e252aed91
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/infrastructure/elements/Realization.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/ActuatorLatency.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/ActuatorLatency.gif
new file mode 100644
index 00000000000..2a89b7cb82e
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/ActuatorLatency.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/BusDelay.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/BusDelay.gif
new file mode 100644
index 00000000000..27a1726a6e8
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/BusDelay.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/ConnectorDelay.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/ConnectorDelay.gif
new file mode 100644
index 00000000000..baad71c392b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/ConnectorDelay.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/DelayRequirement.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/DelayRequirement.gif
new file mode 100644
index 00000000000..02950a7a035
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/DelayRequirement.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/DeriveRequirement.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/DeriveRequirement.gif
new file mode 100644
index 00000000000..44b7df59bd1
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/DeriveRequirement.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/FunctionalRequirement.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/FunctionalRequirement.gif
new file mode 100644
index 00000000000..12cac6f6503
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/FunctionalRequirement.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/QualityRequirement.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/QualityRequirement.gif
new file mode 100644
index 00000000000..00d2c4de505
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/QualityRequirement.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/Refine.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/Refine.gif
new file mode 100644
index 00000000000..aa30150fb64
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/Refine.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/Requirement.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/Requirement.gif
new file mode 100644
index 00000000000..3b9489d2ba4
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/Requirement.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/RequirementsRelatedInformation.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/RequirementsRelatedInformation.gif
new file mode 100644
index 00000000000..6067192d807
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/RequirementsRelatedInformation.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/SensorLatency.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/SensorLatency.gif
new file mode 100644
index 00000000000..a9246c7be05
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/SensorLatency.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/verificationvalidation/VVCase.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/verificationvalidation/VVCase.gif
new file mode 100644
index 00000000000..c5c53d979ac
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/verificationvalidation/VVCase.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/verificationvalidation/VVProcedure.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/verificationvalidation/VVProcedure.gif
new file mode 100644
index 00000000000..51461131483
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/requirements/verificationvalidation/VVProcedure.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/featuremodeling/Feature.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/featuremodeling/Feature.gif
new file mode 100644
index 00000000000..b2d508d2984
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/featuremodeling/Feature.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/AnalysisFunctionPrototype.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/AnalysisFunctionPrototype.gif
new file mode 100644
index 00000000000..77e918da951
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/AnalysisFunctionPrototype.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/AnalysisFunctionType_component.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/AnalysisFunctionType_component.gif
new file mode 100644
index 00000000000..f8b8d084f4d
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/AnalysisFunctionType_component.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/AnalysisFunctionType_elementary.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/AnalysisFunctionType_elementary.gif
new file mode 100644
index 00000000000..b359f4b2a46
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/AnalysisFunctionType_elementary.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/DesignFunctionPrototype.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/DesignFunctionPrototype.gif
new file mode 100644
index 00000000000..47266637ee1
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/DesignFunctionPrototype.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/DesignFunctionType_component.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/DesignFunctionType_component.gif
new file mode 100644
index 00000000000..95d8960439d
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/DesignFunctionType_component.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/DesignFunctionType_elementary.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/DesignFunctionType_elementary.gif
new file mode 100644
index 00000000000..7b98f0b179c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/DesignFunctionType_elementary.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionAllocation.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionAllocation.gif
new file mode 100644
index 00000000000..db0e329771d
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionAllocation.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionClientServerPort.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionClientServerPort.gif
new file mode 100644
index 00000000000..b8bcc9adb9f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionClientServerPort.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionFlowPort_IN.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionFlowPort_IN.gif
new file mode 100644
index 00000000000..e2b32c65cac
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionFlowPort_IN.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionFlowPort_INOUT.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionFlowPort_INOUT.gif
new file mode 100644
index 00000000000..e0ae29b0e86
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionFlowPort_INOUT.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionFlowPort_OUT.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionFlowPort_OUT.gif
new file mode 100644
index 00000000000..0b46aa5ea10
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionFlowPort_OUT.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionPowerPort.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionPowerPort.gif
new file mode 100644
index 00000000000..4a94cea9979
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionPowerPort.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionPrototype.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionPrototype.gif
new file mode 100644
index 00000000000..c11e6c779b4
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionPrototype.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionType_component.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionType_component.gif
new file mode 100644
index 00000000000..414530ff8e7
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionType_component.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionType_elementary.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionType_elementary.gif
new file mode 100644
index 00000000000..381d1b2b94c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionType_elementary.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionalAnalysisArchitecture.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionalAnalysisArchitecture.gif
new file mode 100644
index 00000000000..8a4c813ee87
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionalAnalysisArchitecture.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionalDevice.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionalDevice.gif
new file mode 100644
index 00000000000..801fef58b2e
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionalDevice.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/LocalDeviceManager.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/LocalDeviceManager.gif
new file mode 100644
index 00000000000..9a0f7b21380
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/LocalDeviceManager.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/PortGroup_IN.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/PortGroup_IN.gif
new file mode 100644
index 00000000000..7af8f3c2de6
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/PortGroup_IN.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/PortGroup_INOUT.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/PortGroup_INOUT.gif
new file mode 100644
index 00000000000..daa33156a3f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/PortGroup_INOUT.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/PortGroup_OUT.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/PortGroup_OUT.gif
new file mode 100644
index 00000000000..67d31fc4f66
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/PortGroup_OUT.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/Actuator.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/Actuator.gif
new file mode 100644
index 00000000000..49f5824f2cb
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/Actuator.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/CommunicationHardwarePin.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/CommunicationHardwarePin.gif
new file mode 100644
index 00000000000..4241eccb59e
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/CommunicationHardwarePin.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/HardwareComponentPrototype.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/HardwareComponentPrototype.gif
new file mode 100644
index 00000000000..f017380531e
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/HardwareComponentPrototype.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/IOHardwarePin.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/IOHardwarePin.gif
new file mode 100644
index 00000000000..f33ca743d9b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/IOHardwarePin.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/LogicalBus.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/LogicalBus.gif
new file mode 100644
index 00000000000..653d3fa6b78
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/LogicalBus.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/Node.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/Node.gif
new file mode 100644
index 00000000000..5aeafa4533d
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/Node.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/PowerHardwarePin.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/PowerHardwarePin.gif
new file mode 100644
index 00000000000..46ba21ccaac
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/PowerHardwarePin.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/PowerSupply.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/PowerSupply.gif
new file mode 100644
index 00000000000..20fb2618e62
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/PowerSupply.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/Sensor.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/Sensor.gif
new file mode 100644
index 00000000000..4d98d070086
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/Sensor.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/systemmodeling/AnalysisLevel.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/systemmodeling/AnalysisLevel.gif
new file mode 100644
index 00000000000..9bfbf85d55c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/systemmodeling/AnalysisLevel.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/systemmodeling/DesignLevel.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/systemmodeling/DesignLevel.gif
new file mode 100644
index 00000000000..d132f48521b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/systemmodeling/DesignLevel.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/systemmodeling/ImplementationLevel.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/systemmodeling/ImplementationLevel.gif
new file mode 100644
index 00000000000..49bf1275f85
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/systemmodeling/ImplementationLevel.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/systemmodeling/VehicleLevel.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/systemmodeling/VehicleLevel.gif
new file mode 100644
index 00000000000..2d41c087de7
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/systemmodeling/VehicleLevel.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/vehiclefeaturemodeling/VehicleFeature.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/vehiclefeaturemodeling/VehicleFeature.gif
new file mode 100644
index 00000000000..4955550e739
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/structure/vehiclefeaturemodeling/VehicleFeature.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/timing/ExecutionTimeConstraint.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/timing/ExecutionTimeConstraint.gif
new file mode 100644
index 00000000000..3bb3af452ea
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/timing/ExecutionTimeConstraint.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/timing/PrecedenceConstraint.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/timing/PrecedenceConstraint.gif
new file mode 100644
index 00000000000..8b61824df75
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/timing/PrecedenceConstraint.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/timing/timingconstraints/DelayConstraint.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/timing/timingconstraints/DelayConstraint.gif
new file mode 100644
index 00000000000..226e146c78f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/timing/timingconstraints/DelayConstraint.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/timing/timingconstraints/InputSynchronizationConstraint.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/timing/timingconstraints/InputSynchronizationConstraint.gif
new file mode 100644
index 00000000000..b4a08dfbe7f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/timing/timingconstraints/InputSynchronizationConstraint.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/timing/timingconstraints/OutputSynchronizationConstraint.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/timing/timingconstraints/OutputSynchronizationConstraint.gif
new file mode 100644
index 00000000000..3e4882b15f9
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/timing/timingconstraints/OutputSynchronizationConstraint.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/timing/timingconstraints/PeriodicEventConstraint.gif b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/timing/timingconstraints/PeriodicEventConstraint.gif
new file mode 100644
index 00000000000..226e146c78f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/icons/timing/timingconstraints/PeriodicEventConstraint.gif
Binary files differ
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_ErrorModel.xml b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_ErrorModel.xml
new file mode 100644
index 00000000000..3485e95c438
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_ErrorModel.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><paletteDefinition><content><drawer iconpath="/icons/drawer.gif" id="Drawer__1281003435518" name="ErrorModel"><aspectTool description="ErrorModelType" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/dependability/errormodel/ErrorModelType.gif" id="clazz.tool.class_1281003486395" name="ErrorModelType" refToolId="clazz.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Dependability::ErrorModel::ErrorModelType"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="ErrorModelPrototype" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/dependability/errormodel/ErrorModelPrototype.gif" id="clazz.tool.property_1281003493830" name="ErrorModelPrototype" refToolId="clazz.tool.property"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Dependability::ErrorModel::ErrorModelPrototype"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool></drawer></content></paletteDefinition> \ No newline at end of file
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_FeatureModeling.xml b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_FeatureModeling.xml
new file mode 100644
index 00000000000..125edca067a
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_FeatureModeling.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><paletteDefinition><content><drawer iconpath="/icons/drawer.gif" id="Drawer__1281001521823" name="FeatureModeling"><aspectTool description="Feature" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/featuremodeling/Feature.gif" id="clazz.tool.class_1281001602244" name="Feature" refToolId="clazz.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::FeatureModeling::Feature"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="VehicleFeature" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/vehiclefeaturemodeling/VehicleFeature.gif" id="clazz.tool.class_1281001614954" name="VehicleFeature" refToolId="clazz.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::VehicleFeatureModeling::VehicleFeature"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="VehicleLevel" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/systemmodeling/VehicleLevel.gif" id="clazz.tool.class_1281001622092" name="VehicleLevel" refToolId="clazz.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::SystemModeling::VehicleLevel"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool></drawer></content></paletteDefinition> \ No newline at end of file
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_FunctionModeling.xml b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_FunctionModeling.xml
new file mode 100644
index 00000000000..500be6d165b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_FunctionModeling.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><paletteDefinition><content><drawer iconpath="/icons/drawer.gif" id="Drawer__1281001731839" name="FunctionModeling"><aspectTool description="AnalysisFunctionType" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/AnalysisFunctionType_component.gif" id="clazz.tool.class_1281001776348" name="AnalysisFunctionType" refToolId="clazz.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::FunctionModeling::AnalysisFunctionType"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="AnalysisFunctionPrototype" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/AnalysisFunctionPrototype.gif" id="clazz.tool.property_1281001789866" name="AnalysisFunctionPrototype" refToolId="clazz.tool.property"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::FunctionModeling::AnalysisFunctionPrototype"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="DesignFunctionType" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/DesignFunctionType_component.gif" id="clazz.tool.class_1281001797516" name="DesignFunctionType" refToolId="clazz.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::FunctionModeling::DesignFunctionType"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="DesignFunctionPrototype" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/DesignFunctionPrototype.gif" id="clazz.tool.property_1281001801586" name="DesignFunctionPrototype" refToolId="clazz.tool.property"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::FunctionModeling::DesignFunctionPrototype"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="FunctionalDevice" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionalDevice.gif" id="clazz.tool.class_1281001820082" name="FunctionalDevice" refToolId="clazz.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::FunctionModeling::FunctionalDevice"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><separator id="Separator_1281001965434"/><aspectTool description="FunctionTrigger" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/behavior/FunctionTrigger.gif" id="clazz.tool.class_1281002003843" name="FunctionTrigger" refToolId="clazz.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Behavior::FunctionTrigger"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><separator id="Separator_1281002058726"/><aspectTool description="FunctionAllocation" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionAllocation.gif" id="clazz.tool.dependency_1281002127741" name="FunctionAllocation" refToolId="clazz.tool.dependency"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::FunctionModeling::FunctionAllocation"/></stereotypesToApply></postAction><postAction displayKind="TextIconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool></drawer></content></paletteDefinition> \ No newline at end of file
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_HardwareModeling.xml b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_HardwareModeling.xml
new file mode 100644
index 00000000000..ec97b23568b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_HardwareModeling.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><paletteDefinition><content><drawer iconpath="/icons/drawer.gif" id="Drawer__1281002327930" name="HardwareModeling"><aspectTool description="Sensor" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/Sensor.gif" id="clazz.tool.class_1281002365909" name="Sensor" refToolId="clazz.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::HardwareModeling::Sensor"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="Actuator" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/Actuator.gif" id="clazz.tool.class_1281002373969" name="Actuator" refToolId="clazz.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::HardwareModeling::Actuator"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="Node" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/Node.gif" id="clazz.tool.class_1281002385229" name="Node" refToolId="clazz.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::HardwareModeling::Node"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="PowerSupply" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/PowerSupply.gif" id="clazz.tool.class_1281002394595" name="PowerSupply" refToolId="clazz.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::HardwareModeling::PowerSupply"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="HardwareComponentPrototype" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/HardwareComponentPrototype.gif" id="clazz.tool.property_1281002412138" name="HardwareComponentPrototype" refToolId="clazz.tool.property"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::HardwareModeling::HardwareComponentPrototype"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="LogicalBus" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/LogicalBus.gif" id="clazz.tool.class_1281002423318" name="LogicalBus" refToolId="clazz.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::HardwareModeling::LogicalBus"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool></drawer></content></paletteDefinition> \ No newline at end of file
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_Requirements.xml b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_Requirements.xml
new file mode 100644
index 00000000000..a6843aed48a
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_Requirements.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><paletteDefinition><content><drawer iconpath="/icons/drawer.gif" id="Drawer__1281002721353" name="Requirements"><aspectTool description="Requirement" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/requirements/Requirement.gif" id="clazz.tool.class_1281002754171" name="Requirement" refToolId="clazz.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Requirements::Requirement"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="RequirementsRelatedInformation" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/requirements/RequirementsRelatedInformation.gif" id="clazz.tool.class_1281002761628" name="RequirementsRelatedInformation" refToolId="clazz.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Requirements::RequirementsRelatedInformation"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="QualityRequirement" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/requirements/QualityRequirement.gif" id="clazz.tool.class_1281002769572" name="QualityRequirement" refToolId="clazz.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Requirements::QualityRequirement"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><separator id="Separator_1281002783388"/><aspectTool description="Satisfy" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Realization.gif" id="clazz.tool.realization_1281002820651" name="Satisfy" refToolId="clazz.tool.realization"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Requirements::Satisfy"/></stereotypesToApply></postAction></aspectTool><aspectTool description="Refine" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/requirements/Refine.gif" id="clazz.tool.dependency_1281002844565" name="Refine" refToolId="clazz.tool.dependency"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Requirements::Refine"/></stereotypesToApply></postAction><postAction displayKind="TextIconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="DeriveRequirement" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/requirements/DeriveRequirement.gif" id="clazz.tool.abstraction_1281002870888" name="DeriveRequirement" refToolId="clazz.tool.abstraction"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Requirements::DeriveRequirement"/></stereotypesToApply></postAction><postAction displayKind="TextIconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="Realization" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/infrastructure/elements/Realization.gif" id="clazz.tool.realization_1281002896376" name="Realization" refToolId="clazz.tool.realization"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Infrastructure::Elements::Realization"/></stereotypesToApply></postAction><postAction displayKind="TextIconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="Verify" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Abstraction.gif" id="clazz.tool.abstraction_1281003005161" name="Verify" refToolId="clazz.tool.abstraction"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Requirements::VerificationValidation::Verify"/></stereotypesToApply></postAction></aspectTool></drawer></content></paletteDefinition> \ No newline at end of file
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_SystemModeling.xml b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_SystemModeling.xml
new file mode 100644
index 00000000000..7faf83a2056
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_SystemModeling.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><paletteDefinition><content><drawer iconpath="/icons/drawer.gif" id="Drawer__1281001023162" name="SystemModeling"><aspectTool description="AnalysisLevel" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/systemmodeling/AnalysisLevel.gif" id="clazz.tool.class_1281001252060" name="AnalysisLevel" refToolId="clazz.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::SystemModeling::AnalysisLevel"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="DesignLevel" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/systemmodeling/DesignLevel.gif" id="clazz.tool.class_1281001256958" name="DesignLevel" refToolId="clazz.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::SystemModeling::DesignLevel"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="ImplementationLevel" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/systemmodeling/ImplementationLevel.gif" id="clazz.tool.class_1281001261535" name="ImplementationLevel" refToolId="clazz.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::SystemModeling::ImplementationLevel"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool></drawer></content></paletteDefinition> \ No newline at end of file
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_Timing.xml b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_Timing.xml
new file mode 100644
index 00000000000..9a6eae4c315
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_Timing.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><paletteDefinition><content><drawer iconpath="/icons/drawer.gif" id="Drawer__1281003191216" name="Timing"><aspectTool description="PrecedenceConstraint" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/timing/PrecedenceConstraint.gif" id="clazz.tool.class_1281003240458" name="PrecedenceConstraint" refToolId="clazz.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Timing::PrecedenceConstraint"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="ExecutionTimeConstraint" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/timing/ExecutionTimeConstraint.gif" id="clazz.tool.class_1281003247996" name="ExecutionTimeConstraint" refToolId="clazz.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Timing::ExecutionTimeConstraint"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="InputSynchronizationConstraint" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/timing/timingconstraints/InputSynchronizationConstraint.gif" id="clazz.tool.class_1281003276991" name="InputSynchronizationConstraint" refToolId="clazz.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Timing::TimingConstraints::InputSynchronizationConstraint"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="OutputSynchronizationConstraint" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/timing/timingconstraints/OutputSynchronizationConstraint.gif" id="clazz.tool.class_1281003281693" name="OutputSynchronizationConstraint" refToolId="clazz.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Timing::TimingConstraints::OutputSynchronizationConstraint"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="PeriodicEventConstraint" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/timing/timingconstraints/PeriodicEventConstraint.gif" id="clazz.tool.class_1281003287473" name="PeriodicEventConstraint" refToolId="clazz.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Timing::TimingConstraints::PeriodicEventConstraint"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool></drawer></content></paletteDefinition> \ No newline at end of file
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_VerificationValidation.xml b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_VerificationValidation.xml
new file mode 100644
index 00000000000..e5a0a0cfaec
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Class_VerificationValidation.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><paletteDefinition><content><drawer iconpath="/icons/drawer.gif" id="Drawer__1281003663473" name="VerificationValidation"><aspectTool description="VVCase" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/requirements/verificationvalidation/VVCase.gif" id="clazz.tool.class_1281003690012" name="VVCase" refToolId="clazz.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Requirements::VerificationValidation::VVCase"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="VVProcedure" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/requirements/verificationvalidation/VVProcedure.gif" id="clazz.tool.class_1281003695174" name="VVProcedure" refToolId="clazz.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Requirements::VerificationValidation::VVProcedure"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool></drawer></content></paletteDefinition> \ No newline at end of file
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_ErrorModel.xml b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_ErrorModel.xml
new file mode 100644
index 00000000000..e0b802882f0
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_ErrorModel.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><paletteDefinition><content><drawer iconpath="/icons/drawer.gif" id="Drawer__1281003435518" name="ErrorModel"><aspectTool description="ErrorModelType" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/dependability/errormodel/ErrorModelType.gif" id="composite.tool.class_1281003486395" name="ErrorModelType" refToolId="composite.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Dependability::ErrorModel::ErrorModelType"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="ErrorModelPrototype" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/dependability/errormodel/ErrorModelPrototype.gif" id="composite.tool.property_1281003493830" name="ErrorModelPrototype" refToolId="composite.tool.property"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Dependability::ErrorModel::ErrorModelPrototype"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><separator id="Separator_1281003495803"/><aspectTool description="ErrorBehavior" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/dependability/errormodel/ErrorBehavior.gif" id="composite.tool.opaquebehavior_1281003510336" name="ErrorBehavior" refToolId="composite.tool.opaquebehavior"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Dependability::ErrorModel::ErrorBehavior"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><separator id="Separator_1281003511972"/><aspectTool description="FaultInPort" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/dependability/errormodel/FaultInPort.gif" id="composite.tool.port_1281003528437" name="FaultInPort" refToolId="composite.tool.port"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Dependability::ErrorModel::FaultInPort"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="FailureOutPort" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/dependability/errormodel/FailureOutPort.gif" id="composite.tool.port_1281003536508" name="FailureOutPort" refToolId="composite.tool.port"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Dependability::ErrorModel::FailureOutPort"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><separator id="Separator_1281003537996"/><aspectTool description="Create an element with a stereotype" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Connector.gif" id="composite.tool.connector_1281003548887" name="FaultFailurePropagationLink" refToolId="composite.tool.connector"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Dependability::ErrorModel::FaultFailurePropagationLink"/></stereotypesToApply></postAction></aspectTool></drawer></content></paletteDefinition> \ No newline at end of file
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_FeatureModeling.xml b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_FeatureModeling.xml
new file mode 100644
index 00000000000..2aa2d5cb1a4
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_FeatureModeling.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><paletteDefinition><content><drawer iconpath="/icons/drawer.gif" id="Drawer__1281001521823" name="FeatureModeling"><aspectTool description="Feature" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/featuremodeling/Feature.gif" id="composite.tool.class_1281001602244" name="Feature" refToolId="composite.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::FeatureModeling::Feature"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="VehicleFeature" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/vehiclefeaturemodeling/VehicleFeature.gif" id="composite.tool.class_1281001614954" name="VehicleFeature" refToolId="composite.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::VehicleFeatureModeling::VehicleFeature"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="VehicleLevel" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/systemmodeling/VehicleLevel.gif" id="composite.tool.class_1281001622092" name="VehicleLevel" refToolId="composite.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::SystemModeling::VehicleLevel"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool></drawer></content></paletteDefinition> \ No newline at end of file
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_FunctionModeling.xml b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_FunctionModeling.xml
new file mode 100644
index 00000000000..9ff29b93f61
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_FunctionModeling.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><paletteDefinition><content><drawer iconpath="/icons/drawer.gif" id="Drawer__1281001731839" name="FunctionModeling"><aspectTool description="AnalysisFunctionType" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/AnalysisFunctionType_component.gif" id="composite.tool.class_1281001776348" name="AnalysisFunctionType" refToolId="composite.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::FunctionModeling::AnalysisFunctionType"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="AnalysisFunctionPrototype" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/AnalysisFunctionPrototype.gif" id="composite.tool.property_1281001789866" name="AnalysisFunctionPrototype" refToolId="composite.tool.property"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::FunctionModeling::AnalysisFunctionPrototype"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="DesignFunctionType" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/DesignFunctionType_component.gif" id="composite.tool.class_1281001797516" name="DesignFunctionType" refToolId="composite.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::FunctionModeling::DesignFunctionType"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="DesignFunctionPrototype" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/DesignFunctionPrototype.gif" id="composite.tool.property_1281001801586" name="DesignFunctionPrototype" refToolId="composite.tool.property"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::FunctionModeling::DesignFunctionPrototype"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="FunctionalDevice" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionalDevice.gif" id="composite.tool.class_1281001820082" name="FunctionalDevice" refToolId="composite.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::FunctionModeling::FunctionalDevice"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><separator id="Separator_1281001965434"/><aspectTool description="FunctionBehavior" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/behavior/FunctionBehavior.gif" id="composite.tool.opaquebehavior_1281001996254" name="FunctionBehavior" refToolId="composite.tool.opaquebehavior"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Behavior::FunctionBehavior"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="FunctionTrigger" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/behavior/FunctionTrigger.gif" id="composite.tool.class_1281002003843" name="FunctionTrigger" refToolId="composite.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Behavior::FunctionTrigger"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><separator id="Separator_1281002058726"/><aspectTool description="FunctionConnector" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Connector.gif" id="composite.tool.connector_1281002074417" name="FunctionConnector" refToolId="composite.tool.connector"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::FunctionModeling::FunctionConnector"/></stereotypesToApply></postAction></aspectTool><aspectTool description="FunctionAllocation" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionAllocation.gif" id="composite.tool.dependency_1281002127741" name="FunctionAllocation" refToolId="composite.tool.dependency"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::FunctionModeling::FunctionAllocation"/></stereotypesToApply></postAction><postAction displayKind="TextIconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><separator id="Separator_1281002172831"/><aspectTool description="PortGroup" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/PortGroup_INOUT.gif" id="composite.tool.port_1281002197881" name="PortGroup" refToolId="composite.tool.port"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::FunctionModeling::PortGroup"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="FunctionFlowPort" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionFlowPort_INOUT.gif" id="composite.tool.port_1281002239118" name="FunctionFlowPort" refToolId="composite.tool.port"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::FunctionModeling::FunctionFlowPort"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="FunctionPowerPort" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionPowerPort.gif" id="composite.tool.port_1281002244306" name="FunctionPowerPort" refToolId="composite.tool.port"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::FunctionModeling::FunctionPowerPort"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="FunctionClientServerPort" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/functionmodeling/FunctionClientServerPort.gif" id="composite.tool.port_1281002249502" name="FunctionClientServerPort" refToolId="composite.tool.port"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::FunctionModeling::FunctionClientServerPort"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool></drawer></content></paletteDefinition> \ No newline at end of file
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_HardwareModeling.xml b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_HardwareModeling.xml
new file mode 100644
index 00000000000..15310f53d96
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_HardwareModeling.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><paletteDefinition><content><drawer iconpath="/icons/drawer.gif" id="Drawer__1281002327930" name="HardwareModeling"><aspectTool description="Sensor" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/Sensor.gif" id="composite.tool.class_1281002365909" name="Sensor" refToolId="composite.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::HardwareModeling::Sensor"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="Actuator" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/Actuator.gif" id="composite.tool.class_1281002373969" name="Actuator" refToolId="composite.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::HardwareModeling::Actuator"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="Node" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/Node.gif" id="composite.tool.class_1281002385229" name="Node" refToolId="composite.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::HardwareModeling::Node"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="PowerSupply" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/PowerSupply.gif" id="composite.tool.class_1281002394595" name="PowerSupply" refToolId="composite.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::HardwareModeling::PowerSupply"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="HardwareComponentPrototype" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/HardwareComponentPrototype.gif" id="composite.tool.property_1281002412138" name="HardwareComponentPrototype" refToolId="composite.tool.property"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::HardwareModeling::HardwareComponentPrototype"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="LogicalBus" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/LogicalBus.gif" id="composite.tool.class_1281002423318" name="LogicalBus" refToolId="composite.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::HardwareModeling::LogicalBus"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><separator id="Separator_1281002425778"/><aspectTool description="IOHardwarePin" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/IOHardwarePin.gif" id="composite.tool.port_1281002438514" name="IOHardwarePin" refToolId="composite.tool.port"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::HardwareModeling::IOHardwarePin"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="CommunicationHardwarePin" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/CommunicationHardwarePin.gif" id="composite.tool.port_1281002444251" name="CommunicationHardwarePin" refToolId="composite.tool.port"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::HardwareModeling::CommunicationHardwarePin"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="PowerHardwarePin" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/hardwaremodeling/PowerHardwarePin.gif" id="composite.tool.port_1281002454899" name="PowerHardwarePin" refToolId="composite.tool.port"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::HardwareModeling::PowerHardwarePin"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><separator id="Separator_1281002459685"/><aspectTool description="Create an element with a stereotype" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Connector.gif" id="composite.tool.connector_1281002466093" name="HardwareConnector" refToolId="composite.tool.connector"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::HardwareModeling::HardwareConnector"/></stereotypesToApply></postAction></aspectTool></drawer></content></paletteDefinition> \ No newline at end of file
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_Requirements.xml b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_Requirements.xml
new file mode 100644
index 00000000000..25ea63ce7e2
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_Requirements.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><paletteDefinition><content><drawer iconpath="/icons/drawer.gif" id="Drawer__1281002721353" name="Requirements"><aspectTool description="Requirement" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/requirements/Requirement.gif" id="composite.tool.class_1281002754171" name="Requirement" refToolId="composite.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Requirements::Requirement"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="RequirementsRelatedInformation" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/requirements/RequirementsRelatedInformation.gif" id="composite.tool.class_1281002761628" name="RequirementsRelatedInformation" refToolId="composite.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Requirements::RequirementsRelatedInformation"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="QualityRequirement" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/requirements/QualityRequirement.gif" id="composite.tool.class_1281002769572" name="QualityRequirement" refToolId="composite.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Requirements::QualityRequirement"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><separator id="Separator_1281002783388"/><aspectTool description="Satisfy" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Realization.gif" id="composite.tool.realization_1281002820651" name="Satisfy" refToolId="composite.tool.realization"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Requirements::Satisfy"/></stereotypesToApply></postAction></aspectTool><aspectTool description="Refine" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/requirements/Refine.gif" id="composite.tool.dependency_1281002844565" name="Refine" refToolId="composite.tool.dependency"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Requirements::Refine"/></stereotypesToApply></postAction><postAction displayKind="TextIconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="DeriveRequirement" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/requirements/DeriveRequirement.gif" id="composite.tool.abstraction_1281002870888" name="DeriveRequirement" refToolId="composite.tool.abstraction"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Requirements::DeriveRequirement"/></stereotypesToApply></postAction><postAction displayKind="TextIconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="Realization" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/infrastructure/elements/Realization.gif" id="composite.tool.realization_1281002896376" name="Realization" refToolId="composite.tool.realization"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Infrastructure::Elements::Realization"/></stereotypesToApply></postAction><postAction displayKind="TextIconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="Verify" iconpath="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Abstraction.gif" id="composite.tool.abstraction_1281003005161" name="Verify" refToolId="composite.tool.abstraction"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Requirements::VerificationValidation::Verify"/></stereotypesToApply></postAction></aspectTool></drawer></content></paletteDefinition> \ No newline at end of file
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_SystemModeling.xml b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_SystemModeling.xml
new file mode 100644
index 00000000000..e52d9e8dd96
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_SystemModeling.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><paletteDefinition><content><drawer iconpath="/icons/drawer.gif" id="Drawer__1281001023162" name="SystemModeling"><aspectTool description="AnalysisLevel" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/systemmodeling/AnalysisLevel.gif" id="composite.tool.class_1281001252060" name="AnalysisLevel" refToolId="composite.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::SystemModeling::AnalysisLevel"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="DesignLevel" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/systemmodeling/DesignLevel.gif" id="composite.tool.class_1281001256958" name="DesignLevel" refToolId="composite.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::SystemModeling::DesignLevel"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="ImplementationLevel" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/structure/systemmodeling/ImplementationLevel.gif" id="composite.tool.class_1281001261535" name="ImplementationLevel" refToolId="composite.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Structure::SystemModeling::ImplementationLevel"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool></drawer></content></paletteDefinition> \ No newline at end of file
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_Timing.xml b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_Timing.xml
new file mode 100644
index 00000000000..66b40cc24cc
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_Timing.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><paletteDefinition><content><drawer iconpath="/icons/drawer.gif" id="Drawer__1281003191216" name="Timing"><aspectTool description="PrecedenceConstraint" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/timing/PrecedenceConstraint.gif" id="composite.tool.class_1281003240458" name="PrecedenceConstraint" refToolId="composite.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Timing::PrecedenceConstraint"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="ExecutionTimeConstraint" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/timing/ExecutionTimeConstraint.gif" id="composite.tool.class_1281003247996" name="ExecutionTimeConstraint" refToolId="composite.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Timing::ExecutionTimeConstraint"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="InputSynchronizationConstraint" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/timing/timingconstraints/InputSynchronizationConstraint.gif" id="composite.tool.class_1281003276991" name="InputSynchronizationConstraint" refToolId="composite.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Timing::TimingConstraints::InputSynchronizationConstraint"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="OutputSynchronizationConstraint" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/timing/timingconstraints/OutputSynchronizationConstraint.gif" id="composite.tool.class_1281003281693" name="OutputSynchronizationConstraint" refToolId="composite.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Timing::TimingConstraints::OutputSynchronizationConstraint"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="PeriodicEventConstraint" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/timing/timingconstraints/PeriodicEventConstraint.gif" id="composite.tool.class_1281003287473" name="PeriodicEventConstraint" refToolId="composite.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Timing::TimingConstraints::PeriodicEventConstraint"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool></drawer></content></paletteDefinition> \ No newline at end of file
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_VerificationValidation.xml b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_VerificationValidation.xml
new file mode 100644
index 00000000000..d6f18f1d187
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/palettes/Palette_Composite_VerificationValidation.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><paletteDefinition><content><drawer iconpath="/icons/drawer.gif" id="Drawer__1281003663473" name="VerificationValidation"><aspectTool description="VVCase" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/requirements/verificationvalidation/VVCase.gif" id="composite.tool.class_1281003690012" name="VVCase" refToolId="composite.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Requirements::VerificationValidation::VVCase"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool><aspectTool description="VVProcedure" iconpath="platform:/plugin/org.eclipse.papyrus.eastadl/resources/icons/requirements/verificationvalidation/VVProcedure.gif" id="composite.tool.class_1281003695174" name="VVProcedure" refToolId="composite.tool.class"><postAction id="org.eclipse.papyrus.applystereotypeactionprovider"><stereotypesToApply><stereotype stereotypeName="EAST-ADL2::Requirements::VerificationValidation::VVProcedure"/></stereotypesToApply></postAction><postAction displayKind="IconStereotype" displayPlace="Compartment" id="org.eclipse.papyrus.postaction.changeStereotypeDisplayProvider"/></aspectTool></drawer></content></paletteDefinition> \ No newline at end of file
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/templates/initialmodel.di b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/templates/initialmodel.di
new file mode 100644
index 00000000000..489572133e0
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/templates/initialmodel.di
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="ASCII"?>
+<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="initialmodel.notation#_LKCY4JDOEeCiKJG1YPqrlA"/>
+ </availablePage>
+ </pageList>
+ <sashModel currentSelection="//@sashModel/@windows.0/@children.0">
+ <windows>
+ <children xsi:type="di:TabFolder">
+ <children>
+ <emfPageIdentifier href="initialmodel.notation#_LKCY4JDOEeCiKJG1YPqrlA"/>
+ </children>
+ </children>
+ </windows>
+ </sashModel>
+</di:SashWindowsMngr>
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/templates/initialmodel.notation b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/templates/initialmodel.notation
new file mode 100644
index 00000000000..9b57e0ea962
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/templates/initialmodel.notation
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" 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/3.0.0/UML" xmi:id="_LKCY4JDOEeCiKJG1YPqrlA" type="CompositeStructure" name="SystemDiagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_MVuv8JDOEeCiKJG1YPqrlA" type="2073" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MVuv8pDOEeCiKJG1YPqrlA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MVuv85DOEeCiKJG1YPqrlA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MVuv9JDOEeCiKJG1YPqrlA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MVuv9ZDOEeCiKJG1YPqrlA" key="displayNameLabelIcon_value" value="true"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MVuv9pDOEeCiKJG1YPqrlA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MVuv95DOEeCiKJG1YPqrlA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BGok0JDPEeCiKJG1YPqrlA" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Brb7AJDPEeCiKJG1YPqrlA" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Brb7AZDPEeCiKJG1YPqrlA" key="StereotypeList" value="EAST-ADL2::Structure::SystemModeling::SystemModel,EAST-ADL2::Structure::SystemModeling::SystemModel,EAST-ADL2::Structure::SystemModeling::SystemModel,EAST-ADL2::Structure::SystemModeling::SystemModel"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Brb7ApDPEeCiKJG1YPqrlA" key="PropStereoDisplay" value="EAST-ADL2::Structure::SystemModeling::SystemModel.implementationLevel,EAST-ADL2::Structure::SystemModeling::SystemModel.analysisLevel,EAST-ADL2::Structure::SystemModeling::SystemModel.designLevel,EAST-ADL2::Structure::SystemModeling::SystemModel.vehicleLevel"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Brb7A5DPEeCiKJG1YPqrlA" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Brb7BJDPEeCiKJG1YPqrlA" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_MVuv-JDOEeCiKJG1YPqrlA" type="5156"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_MVuv-ZDOEeCiKJG1YPqrlA" type="7073">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MVuv-pDOEeCiKJG1YPqrlA"/>
+ </children>
+ <element xmi:type="uml:Class" href="initialmodel.uml#_QOV6JpDGEeCiKJG1YPqrlA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MVuv8ZDOEeCiKJG1YPqrlA" x="70" y="25" width="411" height="141"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_u5NyIJDOEeCiKJG1YPqrlA" type="2073" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u5NyIpDOEeCiKJG1YPqrlA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u5NyI5DOEeCiKJG1YPqrlA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u5NyJJDOEeCiKJG1YPqrlA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u5NyJZDOEeCiKJG1YPqrlA" key="displayNameLabelIcon_value" value="true"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_u5NyJpDOEeCiKJG1YPqrlA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_u5NyJ5DOEeCiKJG1YPqrlA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xJmgYJDOEeCiKJG1YPqrlA" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Hd4awJDPEeCiKJG1YPqrlA" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Hd4awZDPEeCiKJG1YPqrlA" key="StereotypeList" value="EAST-ADL2::Structure::SystemModeling::AnalysisLevel"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Hd4awpDPEeCiKJG1YPqrlA" key="PropStereoDisplay" value="EAST-ADL2::Structure::SystemModeling::AnalysisLevel.functionalAnalysisArchitecture"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Hd4aw5DPEeCiKJG1YPqrlA" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Hd4axJDPEeCiKJG1YPqrlA" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_u5NyKJDOEeCiKJG1YPqrlA" type="5156"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_u5NyKZDOEeCiKJG1YPqrlA" type="7073">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u5NyKpDOEeCiKJG1YPqrlA"/>
+ </children>
+ <element xmi:type="uml:Class" href="initialmodel.uml#_QOV6J5DGEeCiKJG1YPqrlA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u5NyIZDOEeCiKJG1YPqrlA" x="70" y="285" width="259" height="86"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Sh1QYJDPEeCiKJG1YPqrlA" type="2073" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Sh1QYpDPEeCiKJG1YPqrlA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Sh1QY5DPEeCiKJG1YPqrlA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Sh1QZJDPEeCiKJG1YPqrlA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Sh1QZZDPEeCiKJG1YPqrlA" key="displayNameLabelIcon_value" value="true"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Sh1QZpDPEeCiKJG1YPqrlA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Sh1QZ5DPEeCiKJG1YPqrlA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_akrFcJDPEeCiKJG1YPqrlA" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l0_jIJDPEeCiKJG1YPqrlA" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l0_jIZDPEeCiKJG1YPqrlA" key="StereotypeList" value="EAST-ADL2::Structure::SystemModeling::DesignLevel,EAST-ADL2::Structure::SystemModeling::DesignLevel,EAST-ADL2::Structure::SystemModeling::DesignLevel,EAST-ADL2::Structure::SystemModeling::DesignLevel"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l0_jIpDPEeCiKJG1YPqrlA" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l0_jI5DPEeCiKJG1YPqrlA" key="PropStereoDisplay" value="EAST-ADL2::Structure::SystemModeling::DesignLevel.functionalDesignArchitecture,EAST-ADL2::Structure::SystemModeling::DesignLevel.hardwareDesignArchitecture,EAST-ADL2::Structure::SystemModeling::DesignLevel.allocation"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l0_jJJDPEeCiKJG1YPqrlA" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Sh1QaJDPEeCiKJG1YPqrlA" type="5156"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Sh1QaZDPEeCiKJG1YPqrlA" type="7073">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Sh1QapDPEeCiKJG1YPqrlA"/>
+ </children>
+ <element xmi:type="uml:Class" href="initialmodel.uml#_QOV6LJDGEeCiKJG1YPqrlA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Sh1QYZDPEeCiKJG1YPqrlA" x="70" y="380" width="259" height="106"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_TvLNQJDPEeCiKJG1YPqrlA" type="2073" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TvLNQpDPEeCiKJG1YPqrlA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TvLNQ5DPEeCiKJG1YPqrlA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TvLNRJDPEeCiKJG1YPqrlA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TvLNRZDPEeCiKJG1YPqrlA" key="displayNameLabelIcon_value" value="true"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TvLNRpDPEeCiKJG1YPqrlA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TvLNR5DPEeCiKJG1YPqrlA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_TvLNSJDPEeCiKJG1YPqrlA" type="5156"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TvLNSZDPEeCiKJG1YPqrlA" type="7073">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TvLNSpDPEeCiKJG1YPqrlA"/>
+ </children>
+ <element xmi:type="uml:Class" href="initialmodel.uml#_QOV6NZDGEeCiKJG1YPqrlA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TvLNQZDPEeCiKJG1YPqrlA" x="70" y="495" width="259" height="46"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_p85MoJDPEeCiKJG1YPqrlA" type="2073" fontHeight="8" transparency="0" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_p85MopDPEeCiKJG1YPqrlA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_p85Mo5DPEeCiKJG1YPqrlA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_p85MpJDPEeCiKJG1YPqrlA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_p85MpZDPEeCiKJG1YPqrlA" key="displayNameLabelIcon_value" value="true"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_p85MppDPEeCiKJG1YPqrlA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_p85Mp5DPEeCiKJG1YPqrlA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xZlAoJDPEeCiKJG1YPqrlA" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xaBskJDPEeCiKJG1YPqrlA" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xaBskZDPEeCiKJG1YPqrlA" key="StereotypeList" value="EAST-ADL2::Structure::SystemModeling::VehicleLevel"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xaBskpDPEeCiKJG1YPqrlA" key="PropStereoDisplay" value="EAST-ADL2::Structure::SystemModeling::VehicleLevel.technicalFeatureModel"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xaBsk5DPEeCiKJG1YPqrlA" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xaBslJDPEeCiKJG1YPqrlA" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_p85MqJDPEeCiKJG1YPqrlA" type="5156"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_p9CWkJDPEeCiKJG1YPqrlA" type="7073">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p9CWkZDPEeCiKJG1YPqrlA"/>
+ </children>
+ <element xmi:type="uml:Class" href="initialmodel.uml#_Csw8gJDMEeCiKJG1YPqrlA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p85MoZDPEeCiKJG1YPqrlA" x="70" y="190" width="259" height="86"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_LKCY4ZDOEeCiKJG1YPqrlA"/>
+ <element xmi:type="uml:Model" href="initialmodel.uml#_QOV6JJDGEeCiKJG1YPqrlA"/>
+</notation:Diagram>
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/templates/initialmodel.uml b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/templates/initialmodel.uml
new file mode 100644
index 00000000000..081193fcd56
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/resources/templates/initialmodel.uml
@@ -0,0 +1,289 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Behavior="http://www.papyrusuml.org/EAST-ADL2/Behavior/1" xmlns:Dependability="http://www.papyrusuml.org/EAST-ADL2/Dependability/1" xmlns:Elements="http://www.papyrusuml.org/EAST-ADL2/Infrastructure/Elements/1" xmlns:FeatureModeling="http://www.papyrusuml.org/EAST-ADL2/Structure/FeatureModeling/1" xmlns:FunctionModeling="http://www.papyrusuml.org/EAST-ADL2/Structure/FunctionModeling/1" xmlns:GenericConstraints="http://www.papyrusuml.org/EAST-ADL2/GenericConstraints/1" xmlns:HardwareModeling="http://www.papyrusuml.org/EAST-ADL2/Structure/HardwareModeling/1" xmlns:SystemModeling="http://www.papyrusuml.org/EAST-ADL2/Structure/SystemModeling/1" xmlns:Timing="http://www.papyrusuml.org/EAST-ADL2/Timing/1" xmlns:Variability="http://www.papyrusuml.org/EAST-ADL2/Variability/1" xmlns:VerificationValidation="http://www.papyrusuml.org/EAST-ADL2/Requirements/VerificationValidation/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/3.0.0/UML" xsi:schemaLocation="http://www.papyrusuml.org/EAST-ADL2/Behavior/1 http://www.papyrusuml.org/EAST-ADL2/1#//behavior http://www.papyrusuml.org/EAST-ADL2/Dependability/1 http://www.papyrusuml.org/EAST-ADL2/1#//dependability http://www.papyrusuml.org/EAST-ADL2/Infrastructure/Elements/1 http://www.papyrusuml.org/EAST-ADL2/1#//infrastructure/elements http://www.papyrusuml.org/EAST-ADL2/Structure/FeatureModeling/1 http://www.papyrusuml.org/EAST-ADL2/1#//structure/featuremodeling http://www.papyrusuml.org/EAST-ADL2/Structure/FunctionModeling/1 http://www.papyrusuml.org/EAST-ADL2/1#//structure/functionmodeling http://www.papyrusuml.org/EAST-ADL2/GenericConstraints/1 http://www.papyrusuml.org/EAST-ADL2/1#//genericconstraints http://www.papyrusuml.org/EAST-ADL2/Structure/HardwareModeling/1 http://www.papyrusuml.org/EAST-ADL2/1#//structure/hardwaremodeling http://www.papyrusuml.org/EAST-ADL2/Structure/SystemModeling/1 http://www.papyrusuml.org/EAST-ADL2/1#//structure/systemmodeling http://www.papyrusuml.org/EAST-ADL2/Timing/1 http://www.papyrusuml.org/EAST-ADL2/1#//timing http://www.papyrusuml.org/EAST-ADL2/Variability/1 http://www.papyrusuml.org/EAST-ADL2/1#//variability http://www.papyrusuml.org/EAST-ADL2/Requirements/VerificationValidation/1 http://www.papyrusuml.org/EAST-ADL2/1#//requirements/verificationvalidation">
+ <uml:Model xmi:id="_QOV6JJDGEeCiKJG1YPqrlA" name="model">
+ <packageImport xmi:id="_QOV6JZDGEeCiKJG1YPqrlA">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:Package" xmi:id="_Veu1cJDGEeCiKJG1YPqrlA" name="2_VehicleLevelElements">
+ <packagedElement xmi:type="uml:Class" xmi:id="_nEnfUJDMEeCiKJG1YPqrlA" name="MyTechnicalFeatureModel"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_Xv4_wJDGEeCiKJG1YPqrlA" name="3_AnalysisLevelElements">
+ <packagedElement xmi:type="uml:Class" xmi:id="_QOV6NpDGEeCiKJG1YPqrlA" name="MyFunctionalAnalysisArchitecture"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_YFD-gJDGEeCiKJG1YPqrlA" name="4_DesignLevelElements">
+ <packagedElement xmi:type="uml:Package" xmi:id="_hRBXwJDGEeCiKJG1YPqrlA" name="FunctionalElements">
+ <packagedElement xmi:type="uml:Class" xmi:id="_QOV6N5DGEeCiKJG1YPqrlA" name="MyFunctionalDesignArchitecture"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_h6dWUJDGEeCiKJG1YPqrlA" name="HardwareElements">
+ <packagedElement xmi:type="uml:Class" xmi:id="_QOV6OJDGEeCiKJG1YPqrlA" name="MyHardwareDesignArchitecture"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_d011sJDPEeCiKJG1YPqrlA" name="MyAllocation"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_Yf45UJDGEeCiKJG1YPqrlA" name="1_CommonDatatypes"/>
+ <packagedElement xmi:type="uml:Package" xmi:id="_wy1f0JDGEeCiKJG1YPqrlA" name="5_ImplementationLevelElements">
+ <packagedElement xmi:type="uml:Package" xmi:id="_wy1f0ZDGEeCiKJG1YPqrlA" name="FunctionalElements"/>
+ <packagedElement xmi:type="uml:Package" xmi:id="_wy1f05DGEeCiKJG1YPqrlA" name="HardwareElements"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_CqR4MJKYEeCSSNvmR1q1Ag" name="6_EAST-ADLExtensionElements">
+ <packagedElement xmi:type="uml:Package" xmi:id="_KNXHwJKbEeCSSNvmR1q1Ag" name="GenericConstraints">
+ <packagedElement xmi:type="uml:Class" xmi:id="_NHFG4JKbEeCSSNvmR1q1Ag" name="MyGenericConstraintSet"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_-ATKcJKZEeCSSNvmR1q1Ag" name="Interchange"/>
+ <packagedElement xmi:type="uml:Package" xmi:id="_-Dr9AJKWEeCSSNvmR1q1Ag" name="TimingElements">
+ <packagedElement xmi:type="uml:Class" xmi:id="_J95PwJKYEeCSSNvmR1q1Ag" name="MyTiming"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_-jVGYJKWEeCSSNvmR1q1Ag" name="VariabilityElements">
+ <packagedElement xmi:type="uml:Class" xmi:id="_RYXdQJKYEeCSSNvmR1q1Ag" name="MyVariability"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_-9KisJKWEeCSSNvmR1q1Ag" name="DependabilityElements">
+ <packagedElement xmi:type="uml:Class" xmi:id="_Rt9SwJKYEeCSSNvmR1q1Ag" name="MyDependability"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="__9D5cJKWEeCSSNvmR1q1Ag" name="RequirementsElements">
+ <packagedElement xmi:type="uml:Class" xmi:id="_SW5iEJKYEeCSSNvmR1q1Ag" name="MyTiming"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_DgI-oJKXEeCSSNvmR1q1Ag" name="BehavioralElements">
+ <packagedElement xmi:type="uml:Class" xmi:id="_SxP7wJKYEeCSSNvmR1q1Ag" name="MyBehavior"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_D1C3oJKXEeCSSNvmR1q1Ag" name="VerificationValidationElements">
+ <packagedElement xmi:type="uml:Class" xmi:id="_TE53kJKYEeCSSNvmR1q1Ag" name="MyVerificationValidation"/>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_y64qUJKbEeCSSNvmR1q1Ag" name="0_TopPackage">
+ <packagedElement xmi:type="uml:Class" xmi:id="_QOV6JpDGEeCiKJG1YPqrlA" name="SystemModel"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_Csw8gJDMEeCiKJG1YPqrlA" name="MyVehicleLevel"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_QOV6J5DGEeCiKJG1YPqrlA" name="MyAnalysisLevel">
+ <ownedAttribute xmi:id="_QOV6KJDGEeCiKJG1YPqrlA" name="faa" visibility="public" type="_QOV6NpDGEeCiKJG1YPqrlA">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_QOV6KZDGEeCiKJG1YPqrlA" value="1"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_QOV6KpDGEeCiKJG1YPqrlA" value="1"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_QOV6K5DGEeCiKJG1YPqrlA">
+ <value xsi:nil="true"/>
+ </defaultValue>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_QOV6LJDGEeCiKJG1YPqrlA" name="MyDesignLevel">
+ <ownedAttribute xmi:id="_QOV6LZDGEeCiKJG1YPqrlA" name="fda" visibility="public" type="_QOV6N5DGEeCiKJG1YPqrlA">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_QOV6LpDGEeCiKJG1YPqrlA" value="1"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_QOV6L5DGEeCiKJG1YPqrlA" value="1"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_QOV6MJDGEeCiKJG1YPqrlA">
+ <value xsi:nil="true"/>
+ </defaultValue>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_QOV6MZDGEeCiKJG1YPqrlA" name="hda" visibility="public" type="_QOV6OJDGEeCiKJG1YPqrlA">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_QOV6MpDGEeCiKJG1YPqrlA" value="1"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_QOV6M5DGEeCiKJG1YPqrlA" value="1"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_QOV6NJDGEeCiKJG1YPqrlA">
+ <value xsi:nil="true"/>
+ </defaultValue>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_QOV6NZDGEeCiKJG1YPqrlA" name="MyImplementationLevel"/>
+ </packagedElement>
+ <profileApplication xmi:id="_QOV6OZDGEeCiKJG1YPqrlA">
+ <eAnnotations xmi:id="_QOV6OpDGEeCiKJG1YPqrlA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.papyrusuml.org/EAST-ADL2/1#/"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_i-WJIDxIEdyqfK4bFJstMQ"/>
+ </profileApplication>
+ <profileApplication xmi:id="_QOV6O5DGEeCiKJG1YPqrlA">
+ <eAnnotations xmi:id="_QOV6PJDGEeCiKJG1YPqrlA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.papyrusuml.org/EAST-ADL2/1#//variability"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_i-WL-TxIEdyqfK4bFJstMQ"/>
+ </profileApplication>
+ <profileApplication xmi:id="_QOfD0JDGEeCiKJG1YPqrlA">
+ <eAnnotations xmi:id="_QOfD0ZDGEeCiKJG1YPqrlA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.papyrusuml.org/EAST-ADL2/1#//behavior"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_i-WMfjxIEdyqfK4bFJstMQ"/>
+ </profileApplication>
+ <profileApplication xmi:id="_QOfD0pDGEeCiKJG1YPqrlA">
+ <eAnnotations xmi:id="_QOfD05DGEeCiKJG1YPqrlA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.papyrusuml.org/EAST-ADL2/1#//requirements/verificationvalidation"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_i-WKtDxIEdyqfK4bFJstMQ"/>
+ </profileApplication>
+ <profileApplication xmi:id="_QOfD1JDGEeCiKJG1YPqrlA">
+ <eAnnotations xmi:id="_QOfD1ZDGEeCiKJG1YPqrlA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.papyrusuml.org/EAST-ADL2/1#//requirements"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_i-WLPzxIEdyqfK4bFJstMQ"/>
+ </profileApplication>
+ <profileApplication xmi:id="_QOfD1pDGEeCiKJG1YPqrlA">
+ <eAnnotations xmi:id="_QOfD15DGEeCiKJG1YPqrlA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.papyrusuml.org/EAST-ADL2/1#//structure/functionmodeling"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_i-WP9DxIEdyqfK4bFJstMQ"/>
+ </profileApplication>
+ <profileApplication xmi:id="_QOfD2JDGEeCiKJG1YPqrlA">
+ <eAnnotations xmi:id="_QOfD2ZDGEeCiKJG1YPqrlA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.papyrusuml.org/EAST-ADL2/1#//structure/featuremodeling"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_i-f62DxIEdyqfK4bFJstMQ"/>
+ </profileApplication>
+ <profileApplication xmi:id="_QOfD2pDGEeCiKJG1YPqrlA">
+ <eAnnotations xmi:id="_QOfD25DGEeCiKJG1YPqrlA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.papyrusuml.org/EAST-ADL2/1#//structure/systemmodeling"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_i-f8CzxIEdyqfK4bFJstMQ"/>
+ </profileApplication>
+ <profileApplication xmi:id="_QOfD3JDGEeCiKJG1YPqrlA">
+ <eAnnotations xmi:id="_QOfD3ZDGEeCiKJG1YPqrlA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.papyrusuml.org/EAST-ADL2/1#//structure/hardwaremodeling"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_V5LXIHJVEdyx6oOkwavytg"/>
+ </profileApplication>
+ <profileApplication xmi:id="_QOfD3pDGEeCiKJG1YPqrlA">
+ <eAnnotations xmi:id="_QOfD35DGEeCiKJG1YPqrlA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.papyrusuml.org/EAST-ADL2/1#//structure/vehiclefeaturemodeling"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_VtDYsNl5EdyxEqZvsyllRw"/>
+ </profileApplication>
+ <profileApplication xmi:id="_QOfD4JDGEeCiKJG1YPqrlA">
+ <eAnnotations xmi:id="_QOfD4ZDGEeCiKJG1YPqrlA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.papyrusuml.org/EAST-ADL2/1#//structure"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_i-WNKzxIEdyqfK4bFJstMQ"/>
+ </profileApplication>
+ <profileApplication xmi:id="_QOfD4pDGEeCiKJG1YPqrlA">
+ <eAnnotations xmi:id="_QOfD45DGEeCiKJG1YPqrlA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.papyrusuml.org/EAST-ADL2/1#//infrastructure/datatypes"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_i-WNLTxIEdyqfK4bFJstMQ"/>
+ </profileApplication>
+ <profileApplication xmi:id="_QOfD5JDGEeCiKJG1YPqrlA">
+ <eAnnotations xmi:id="_QOfD5ZDGEeCiKJG1YPqrlA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.papyrusuml.org/EAST-ADL2/1#//infrastructure/elements"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_i-WNZjxIEdyqfK4bFJstMQ"/>
+ </profileApplication>
+ <profileApplication xmi:id="_QOfD5pDGEeCiKJG1YPqrlA">
+ <eAnnotations xmi:id="_QOfD55DGEeCiKJG1YPqrlA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.papyrusuml.org/EAST-ADL2/1#//infrastructure/userattributes"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_2M5XsNu0EdyN-KVwISucrA"/>
+ </profileApplication>
+ <profileApplication xmi:id="_QOfD6JDGEeCiKJG1YPqrlA">
+ <eAnnotations xmi:id="_QOfD6ZDGEeCiKJG1YPqrlA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.papyrusuml.org/EAST-ADL2/1#//infrastructure"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_i-WNLDxIEdyqfK4bFJstMQ"/>
+ </profileApplication>
+ <profileApplication xmi:id="_QOfD6pDGEeCiKJG1YPqrlA">
+ <eAnnotations xmi:id="_QOfD65DGEeCiKJG1YPqrlA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.papyrusuml.org/EAST-ADL2/1#//timing/timingconstraints"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_a_kcsNjiEd6wXIBypQTswA"/>
+ </profileApplication>
+ <profileApplication xmi:id="_QOfD7JDGEeCiKJG1YPqrlA">
+ <eAnnotations xmi:id="_QOfD7ZDGEeCiKJG1YPqrlA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.papyrusuml.org/EAST-ADL2/1#//timing/events"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_KfvdINj2Ed6rlulM-6rbhg"/>
+ </profileApplication>
+ <profileApplication xmi:id="_QOfD7pDGEeCiKJG1YPqrlA">
+ <eAnnotations xmi:id="_QOfD75DGEeCiKJG1YPqrlA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.papyrusuml.org/EAST-ADL2/1#//timing"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_N7DvcNjgEd6wXIBypQTswA"/>
+ </profileApplication>
+ <profileApplication xmi:id="_QOfD8JDGEeCiKJG1YPqrlA">
+ <eAnnotations xmi:id="_QOfD8ZDGEeCiKJG1YPqrlA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.papyrusuml.org/EAST-ADL2/1#//interchange"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_f0woANj4Ed6rlulM-6rbhg"/>
+ </profileApplication>
+ <profileApplication xmi:id="_QOfD8pDGEeCiKJG1YPqrlA">
+ <eAnnotations xmi:id="_QOfD85DGEeCiKJG1YPqrlA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.papyrusuml.org/EAST-ADL2/1#//environment"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_i-f77zxIEdyqfK4bFJstMQ"/>
+ </profileApplication>
+ <profileApplication xmi:id="_QOfD9JDGEeCiKJG1YPqrlA">
+ <eAnnotations xmi:id="_QOfD9ZDGEeCiKJG1YPqrlA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.papyrusuml.org/EAST-ADL2/1#//dependability/errormodel"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_i-WMfzxIEdyqfK4bFJstMQ"/>
+ </profileApplication>
+ <profileApplication xmi:id="_QOfD9pDGEeCiKJG1YPqrlA">
+ <eAnnotations xmi:id="_QOfD95DGEeCiKJG1YPqrlA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.papyrusuml.org/EAST-ADL2/1#//dependability/safetyrequirement"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_ZNvgwN4lEdyW6f_GAa5b1w"/>
+ </profileApplication>
+ <profileApplication xmi:id="_QOfD-JDGEeCiKJG1YPqrlA">
+ <eAnnotations xmi:id="_QOfD-ZDGEeCiKJG1YPqrlA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.papyrusuml.org/EAST-ADL2/1#//dependability/safetycase"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_Tb650N4qEdyW6f_GAa5b1w"/>
+ </profileApplication>
+ <profileApplication xmi:id="_QOfD-pDGEeCiKJG1YPqrlA">
+ <eAnnotations xmi:id="_QOfD-5DGEeCiKJG1YPqrlA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.papyrusuml.org/EAST-ADL2/1#//dependability/safetyconstraints"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_bEdtYErpEd-899EX5XYvlQ"/>
+ </profileApplication>
+ <profileApplication xmi:id="_QOfD_JDGEeCiKJG1YPqrlA">
+ <eAnnotations xmi:id="_QOfD_ZDGEeCiKJG1YPqrlA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.papyrusuml.org/EAST-ADL2/1#//dependability"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_LJxzMEn1Ed-CwvH3DORXbA"/>
+ </profileApplication>
+ <profileApplication xmi:id="_QOfD_pDGEeCiKJG1YPqrlA">
+ <eAnnotations xmi:id="_QOfD_5DGEeCiKJG1YPqrlA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.papyrusuml.org/EAST-ADL2/1#//annex/needs"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_OTomkErmEd-squZ2Pzs1Iw"/>
+ </profileApplication>
+ <profileApplication xmi:id="_QOfEAJDGEeCiKJG1YPqrlA">
+ <eAnnotations xmi:id="_QOfEAZDGEeCiKJG1YPqrlA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.papyrusuml.org/EAST-ADL2/1#//annex"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_HR2l4ErmEd-squZ2Pzs1Iw"/>
+ </profileApplication>
+ <profileApplication xmi:id="_QOfEApDGEeCiKJG1YPqrlA">
+ <eAnnotations xmi:id="_QOfEA5DGEeCiKJG1YPqrlA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.papyrusuml.org/EAST-ADL2/1#//genericconstraints"/>
+ </eAnnotations>
+ <appliedProfile href="platform:/plugin/org.eclipse.papyrus.eastadl/model/eastadl.profile.uml#_tZKz0ErpEd-899EX5XYvlQ"/>
+ </profileApplication>
+ </uml:Model>
+ <SystemModeling:SystemModel xmi:id="_QOfEBJDGEeCiKJG1YPqrlA" name="SystemModel" base_NamedElement="_QOV6JpDGEeCiKJG1YPqrlA" implementationLevel="_QOfEB5DGEeCiKJG1YPqrlA" analysisLevel="_QOfEBZDGEeCiKJG1YPqrlA" designLevel="_QOfEBpDGEeCiKJG1YPqrlA" vehicleLevel="_JtvE4JDMEeCiKJG1YPqrlA" base_Class="_QOV6JpDGEeCiKJG1YPqrlA"/>
+ <SystemModeling:AnalysisLevel xmi:id="_QOfEBZDGEeCiKJG1YPqrlA" name="MyAnalysisLevel" base_NamedElement="_QOV6J5DGEeCiKJG1YPqrlA" base_Class="_QOV6J5DGEeCiKJG1YPqrlA" functionalAnalysisArchitecture="_QOfEDZDGEeCiKJG1YPqrlA"/>
+ <SystemModeling:DesignLevel xmi:id="_QOfEBpDGEeCiKJG1YPqrlA" name="MyDesignLevel" base_NamedElement="_QOV6LJDGEeCiKJG1YPqrlA" base_Class="_QOV6LJDGEeCiKJG1YPqrlA" functionalDesignArchitecture="_QOfEC5DGEeCiKJG1YPqrlA" hardwareDesignArchitecture="_QOfEDJDGEeCiKJG1YPqrlA" allocation="_guEFkJDPEeCiKJG1YPqrlA"/>
+ <SystemModeling:ImplementationLevel xmi:id="_QOfEB5DGEeCiKJG1YPqrlA" name="MyImplementationLevel" base_NamedElement="_QOV6NZDGEeCiKJG1YPqrlA" base_Class="_QOV6NZDGEeCiKJG1YPqrlA"/>
+ <FunctionModeling:AnalysisFunctionType xmi:id="_QOfECJDGEeCiKJG1YPqrlA" name="MyFunctionalAnalysisArchitecture" base_NamedElement="_QOV6NpDGEeCiKJG1YPqrlA" base_Class="_QOV6NpDGEeCiKJG1YPqrlA"/>
+ <FunctionModeling:DesignFunctionType xmi:id="_QOfECZDGEeCiKJG1YPqrlA" name="MyFunctionalDesignArchitecture" base_NamedElement="_QOV6N5DGEeCiKJG1YPqrlA" base_Class="_QOV6N5DGEeCiKJG1YPqrlA"/>
+ <HardwareModeling:HardwareComponentType xmi:id="_QOfECpDGEeCiKJG1YPqrlA" name="MyHardwareDesignArchitecture" base_NamedElement="_QOV6OJDGEeCiKJG1YPqrlA" base_Class="_QOV6OJDGEeCiKJG1YPqrlA"/>
+ <FunctionModeling:DesignFunctionPrototype xmi:id="_QOfEC5DGEeCiKJG1YPqrlA" name="fda" base_NamedElement="_QOV6LZDGEeCiKJG1YPqrlA" base_Property="_QOV6LZDGEeCiKJG1YPqrlA"/>
+ <HardwareModeling:HardwareComponentPrototype xmi:id="_QOfEDJDGEeCiKJG1YPqrlA" name="hda" base_NamedElement="_QOV6MZDGEeCiKJG1YPqrlA" base_Property="_QOV6MZDGEeCiKJG1YPqrlA"/>
+ <FunctionModeling:AnalysisFunctionPrototype xmi:id="_QOfEDZDGEeCiKJG1YPqrlA" name="faa" base_NamedElement="_QOV6KJDGEeCiKJG1YPqrlA" base_Property="_QOV6KJDGEeCiKJG1YPqrlA"/>
+ <SystemModeling:VehicleLevel xmi:id="_JtvE4JDMEeCiKJG1YPqrlA" name="MyVehicleLevel" base_NamedElement="_Csw8gJDMEeCiKJG1YPqrlA" base_Class="_Csw8gJDMEeCiKJG1YPqrlA" technicalFeatureModel="_y_3JUJDMEeCiKJG1YPqrlA"/>
+ <FeatureModeling:FeatureModel xmi:id="_y_3JUJDMEeCiKJG1YPqrlA" name="MyTechnicalFeatureModel" base_NamedElement="_nEnfUJDMEeCiKJG1YPqrlA" base_Class="_nEnfUJDMEeCiKJG1YPqrlA"/>
+ <FunctionModeling:Allocation xmi:id="_guEFkJDPEeCiKJG1YPqrlA" name="MyAllocation" base_NamedElement="_d011sJDPEeCiKJG1YPqrlA" base_Class="_d011sJDPEeCiKJG1YPqrlA"/>
+ <Timing:Timing xmi:id="_OTG8gJKYEeCSSNvmR1q1Ag" name="MyTiming" base_NamedElement="_J95PwJKYEeCSSNvmR1q1Ag" base_Class="_J95PwJKYEeCSSNvmR1q1Ag"/>
+ <Variability:Variability xmi:id="_WffvIJKYEeCSSNvmR1q1Ag" name="MyVariability" base_NamedElement="_RYXdQJKYEeCSSNvmR1q1Ag" base_Class="_RYXdQJKYEeCSSNvmR1q1Ag"/>
+ <Dependability:Dependability xmi:id="_ayOvoJKYEeCSSNvmR1q1Ag" name="MyDependability" base_NamedElement="_Rt9SwJKYEeCSSNvmR1q1Ag" base_Class="_Rt9SwJKYEeCSSNvmR1q1Ag"/>
+ <Behavior:Behavior xmi:id="_kq-9cJKYEeCSSNvmR1q1Ag" name="MyBehavior" base_NamedElement="_SxP7wJKYEeCSSNvmR1q1Ag" base_Class="_SxP7wJKYEeCSSNvmR1q1Ag"/>
+ <VerificationValidation:VerificationValidation xmi:id="_8G1HYJKZEeCSSNvmR1q1Ag" name="MyVerificationValidation" base_NamedElement="_TE53kJKYEeCSSNvmR1q1Ag" base_Class="_TE53kJKYEeCSSNvmR1q1Ag"/>
+ <GenericConstraints:GenericConstraintSet xmi:id="_P6-x4JKbEeCSSNvmR1q1Ag" name="MyGenericConstraintSet" base_NamedElement="_NHFG4JKbEeCSSNvmR1q1Ag" base_Class="_NHFG4JKbEeCSSNvmR1q1Ag"/>
+ <Elements:EAPackage xmi:id="_LTIW4LbsEeGj_4Ff6T2dHw" name="model" base_NamedElement="_QOV6JJDGEeCiKJG1YPqrlA" subPackages="_LU870LbsEeGj_4Ff6T2dHw _LU-xALbsEeGj_4Ff6T2dHw _LU_YELbsEeGj_4Ff6T2dHw _LVBNQLbsEeGj_4Ff6T2dHw _LVB0ULbsEeGj_4Ff6T2dHw _LVDCcLbsEeGj_4Ff6T2dHw _LVGs0LbsEeGj_4Ff6T2dHw" base_Package="_QOV6JJDGEeCiKJG1YPqrlA"/>
+ <Elements:EAPackage xmi:id="_LU870LbsEeGj_4Ff6T2dHw" name="2_VehicleLevelElements" base_NamedElement="_Veu1cJDGEeCiKJG1YPqrlA" base_Package="_Veu1cJDGEeCiKJG1YPqrlA"/>
+ <Elements:EAPackage xmi:id="_LU-xALbsEeGj_4Ff6T2dHw" name="3_AnalysisLevelElements" base_NamedElement="_Xv4_wJDGEeCiKJG1YPqrlA" base_Package="_Xv4_wJDGEeCiKJG1YPqrlA"/>
+ <Elements:EAPackage xmi:id="_LU_YELbsEeGj_4Ff6T2dHw" name="4_DesignLevelElements" base_NamedElement="_YFD-gJDGEeCiKJG1YPqrlA" subPackages="_LU__ILbsEeGj_4Ff6T2dHw _LVAmMLbsEeGj_4Ff6T2dHw" base_Package="_YFD-gJDGEeCiKJG1YPqrlA"/>
+ <Elements:EAPackage xmi:id="_LU__ILbsEeGj_4Ff6T2dHw" name="FunctionalElements" base_NamedElement="_hRBXwJDGEeCiKJG1YPqrlA" base_Package="_hRBXwJDGEeCiKJG1YPqrlA"/>
+ <Elements:EAPackage xmi:id="_LVAmMLbsEeGj_4Ff6T2dHw" name="HardwareElements" base_NamedElement="_h6dWUJDGEeCiKJG1YPqrlA" base_Package="_h6dWUJDGEeCiKJG1YPqrlA"/>
+ <Elements:EAPackage xmi:id="_LVBNQLbsEeGj_4Ff6T2dHw" name="1_CommonDatatypes" base_NamedElement="_Yf45UJDGEeCiKJG1YPqrlA" base_Package="_Yf45UJDGEeCiKJG1YPqrlA"/>
+ <Elements:EAPackage xmi:id="_LVB0ULbsEeGj_4Ff6T2dHw" name="5_ImplementationLevelElements" base_NamedElement="_wy1f0JDGEeCiKJG1YPqrlA" subPackages="_LVCbYLbsEeGj_4Ff6T2dHw _LVCbYbbsEeGj_4Ff6T2dHw" base_Package="_wy1f0JDGEeCiKJG1YPqrlA"/>
+ <Elements:EAPackage xmi:id="_LVCbYLbsEeGj_4Ff6T2dHw" name="FunctionalElements" base_NamedElement="_wy1f0ZDGEeCiKJG1YPqrlA" base_Package="_wy1f0ZDGEeCiKJG1YPqrlA"/>
+ <Elements:EAPackage xmi:id="_LVCbYbbsEeGj_4Ff6T2dHw" name="HardwareElements" base_NamedElement="_wy1f05DGEeCiKJG1YPqrlA" base_Package="_wy1f05DGEeCiKJG1YPqrlA"/>
+ <Elements:EAPackage xmi:id="_LVDCcLbsEeGj_4Ff6T2dHw" name="6_EAST-ADLExtensionElements" base_NamedElement="_CqR4MJKYEeCSSNvmR1q1Ag" subPackages="_LVDpgLbsEeGj_4Ff6T2dHw _LVDpgbbsEeGj_4Ff6T2dHw _LVEQkLbsEeGj_4Ff6T2dHw _LVE3oLbsEeGj_4Ff6T2dHw _LVE3obbsEeGj_4Ff6T2dHw _LVFesLbsEeGj_4Ff6T2dHw _LVGFwLbsEeGj_4Ff6T2dHw _LVGFwbbsEeGj_4Ff6T2dHw" base_Package="_CqR4MJKYEeCSSNvmR1q1Ag"/>
+ <Elements:EAPackage xmi:id="_LVDpgLbsEeGj_4Ff6T2dHw" name="GenericConstraints" base_NamedElement="_KNXHwJKbEeCSSNvmR1q1Ag" base_Package="_KNXHwJKbEeCSSNvmR1q1Ag"/>
+ <Elements:EAPackage xmi:id="_LVDpgbbsEeGj_4Ff6T2dHw" name="Interchange" base_NamedElement="_-ATKcJKZEeCSSNvmR1q1Ag" base_Package="_-ATKcJKZEeCSSNvmR1q1Ag"/>
+ <Elements:EAPackage xmi:id="_LVEQkLbsEeGj_4Ff6T2dHw" name="TimingElements" base_NamedElement="_-Dr9AJKWEeCSSNvmR1q1Ag" base_Package="_-Dr9AJKWEeCSSNvmR1q1Ag"/>
+ <Elements:EAPackage xmi:id="_LVE3oLbsEeGj_4Ff6T2dHw" name="VariabilityElements" base_NamedElement="_-jVGYJKWEeCSSNvmR1q1Ag" base_Package="_-jVGYJKWEeCSSNvmR1q1Ag"/>
+ <Elements:EAPackage xmi:id="_LVE3obbsEeGj_4Ff6T2dHw" name="DependabilityElements" base_NamedElement="_-9KisJKWEeCSSNvmR1q1Ag" base_Package="_-9KisJKWEeCSSNvmR1q1Ag"/>
+ <Elements:EAPackage xmi:id="_LVFesLbsEeGj_4Ff6T2dHw" name="RequirementsElements" base_NamedElement="__9D5cJKWEeCSSNvmR1q1Ag" base_Package="__9D5cJKWEeCSSNvmR1q1Ag"/>
+ <Elements:EAPackage xmi:id="_LVGFwLbsEeGj_4Ff6T2dHw" name="BehavioralElements" base_NamedElement="_DgI-oJKXEeCSSNvmR1q1Ag" base_Package="_DgI-oJKXEeCSSNvmR1q1Ag"/>
+ <Elements:EAPackage xmi:id="_LVGFwbbsEeGj_4Ff6T2dHw" name="VerificationValidationElements" base_NamedElement="_D1C3oJKXEeCSSNvmR1q1Ag" base_Package="_D1C3oJKXEeCSSNvmR1q1Ag"/>
+ <Elements:EAPackage xmi:id="_LVGs0LbsEeGj_4Ff6T2dHw" name="0_TopPackage" base_NamedElement="_y64qUJKbEeCSSNvmR1q1Ag" base_Package="_y64qUJKbEeCSSNvmR1q1Ag"/>
+</xmi:XMI>
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/EastadlFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/EastadlFactory.java
new file mode 100644
index 00000000000..e6260c46caf
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/EastadlFactory.java
@@ -0,0 +1,43 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl;
+
+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.eclipse.papyrus.eastadl.EastadlPackage
+ * @generated
+ */
+public interface EastadlFactory extends EFactory {
+
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EastadlFactory eINSTANCE = org.eclipse.papyrus.eastadl.impl.EastadlFactoryImpl.init();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ EastadlPackage getEastadlPackage();
+
+} // EastadlFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/EastadlPackage.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/EastadlPackage.java
new file mode 100644
index 00000000000..205cd78b630
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/EastadlPackage.java
@@ -0,0 +1,119 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl;
+
+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.eclipse.papyrus.eastadl.EastadlFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface EastadlPackage extends EPackage {
+
+ /**
+ * <!-- 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.eclipse.papyrus.eastadl.dummy <em>dummy</em>}' enum.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dummy
+ * @see org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl#getdummy()
+ * @generated
+ */
+ EEnum DUMMY = eINSTANCE.getdummy();
+
+ }
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "eastadl";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.papyrusuml.org/EAST-ADL2/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "EAST-ADL2";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EastadlPackage eINSTANCE = org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dummy <em>dummy</em>}' enum.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dummy
+ * @see org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl#getdummy()
+ * @generated
+ */
+ int DUMMY = 0;
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.eastadl.dummy <em>dummy</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>dummy</em>'.
+ * @see org.eclipse.papyrus.eastadl.dummy
+ * @generated
+ */
+ EEnum 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
+ */
+ EastadlFactory getEastadlFactory();
+
+} // EastadlPackage
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/AnnexFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/AnnexFactory.java
new file mode 100644
index 00000000000..ed812fd7839
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/AnnexFactory.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex;
+
+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.eclipse.papyrus.eastadl.annex.AnnexPackage
+ * @generated
+ */
+public interface AnnexFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ AnnexFactory eINSTANCE = org.eclipse.papyrus.eastadl.annex.impl.AnnexFactoryImpl.init();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ AnnexPackage getAnnexPackage();
+
+} //AnnexFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/AnnexPackage.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/AnnexPackage.java
new file mode 100644
index 00000000000..e19f868dc94
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/AnnexPackage.java
@@ -0,0 +1,125 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex;
+
+import org.eclipse.emf.ecore.EDataType;
+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.eclipse.papyrus.eastadl.annex.AnnexFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface AnnexPackage extends EPackage {
+ /**
+ * <!-- 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 '<em>Dummy</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.String
+ * @see org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl#getDummy()
+ * @generated
+ */
+ EDataType DUMMY = eINSTANCE.getDummy();
+
+ }
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "annex";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.papyrusuml.org/EAST-ADL2/Annex/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "Annex";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ AnnexPackage eINSTANCE = org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl.init();
+
+
+ /**
+ * The meta object id for the '<em>Dummy</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.String
+ * @see org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl#getDummy()
+ * @generated
+ */
+ int DUMMY = 0;
+
+ /**
+ * 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
+ */
+ AnnexFactory getAnnexFactory();
+
+ /**
+ * Returns the meta object for data type '{@link java.lang.String <em>Dummy</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>Dummy</em>'.
+ * @see java.lang.String
+ * @model instanceClass="java.lang.String"
+ * @generated
+ */
+ EDataType getDummy();
+
+} //AnnexPackage
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/impl/AnnexFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/impl/AnnexFactoryImpl.java
new file mode 100644
index 00000000000..260f41f9763
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/impl/AnnexFactoryImpl.java
@@ -0,0 +1,145 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.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.eclipse.papyrus.eastadl.annex.AnnexFactory;
+import org.eclipse.papyrus.eastadl.annex.AnnexPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AnnexFactoryImpl extends EFactoryImpl implements AnnexFactory {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static AnnexPackage getPackage() {
+ return AnnexPackage.eINSTANCE;
+ }
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static AnnexFactory init() {
+ try {
+ AnnexFactory theAnnexFactory = (AnnexFactory)EPackage.Registry.INSTANCE.getEFactory(AnnexPackage.eNS_URI);
+ if (theAnnexFactory != null) {
+ return theAnnexFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new AnnexFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AnnexFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertDummyToString(EDataType eDataType, Object instanceValue) {
+ return super.convertToString(eDataType, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case AnnexPackage.DUMMY:
+ return convertDummyToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- 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
+ */
+ public String createDummyFromString(EDataType eDataType, String initialValue) {
+ return (String)super.createFromString(eDataType, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case AnnexPackage.DUMMY:
+ return createDummyFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AnnexPackage getAnnexPackage() {
+ return (AnnexPackage)getEPackage();
+ }
+
+} //AnnexFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/impl/AnnexPackageImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/impl/AnnexPackageImpl.java
new file mode 100644
index 00000000000..75b4cc3330f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/impl/AnnexPackageImpl.java
@@ -0,0 +1,313 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.impl;
+
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.eastadl.EastadlPackage;
+import org.eclipse.papyrus.eastadl.annex.AnnexFactory;
+import org.eclipse.papyrus.eastadl.annex.AnnexPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.StructurePackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AnnexPackageImpl extends EPackageImpl implements AnnexPackage {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EDataType dummyEDataType = null;
+
+ /**
+ * <!-- 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 AnnexPackage#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 AnnexPackage init() {
+ if (isInited) return (AnnexPackage)EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI);
+
+ // Obtain or create and register package
+ AnnexPackageImpl theAnnexPackage = (AnnexPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof AnnexPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new AnnexPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ SysmlPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EastadlPackageImpl theEastadlPackage = (EastadlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) instanceof EastadlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) : EastadlPackage.eINSTANCE);
+ VariabilityPackageImpl theVariabilityPackage = (VariabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) instanceof VariabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) : VariabilityPackage.eINSTANCE);
+ InfrastructurePackageImpl theInfrastructurePackage = (InfrastructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) instanceof InfrastructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) : InfrastructurePackage.eINSTANCE);
+ DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) instanceof DatatypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) : DatatypesPackage.eINSTANCE);
+ UserattributesPackageImpl theUserattributesPackage = (UserattributesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) instanceof UserattributesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) : UserattributesPackage.eINSTANCE);
+ ElementsPackageImpl theElementsPackage = (ElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) instanceof ElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) : ElementsPackage.eINSTANCE);
+ StructurePackageImpl theStructurePackage = (StructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) instanceof StructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) : StructurePackage.eINSTANCE);
+ FunctionmodelingPackageImpl theFunctionmodelingPackage = (FunctionmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) instanceof FunctionmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) : FunctionmodelingPackage.eINSTANCE);
+ HardwaremodelingPackageImpl theHardwaremodelingPackage = (HardwaremodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) instanceof HardwaremodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) : HardwaremodelingPackage.eINSTANCE);
+ SystemmodelingPackageImpl theSystemmodelingPackage = (SystemmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) instanceof SystemmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) : SystemmodelingPackage.eINSTANCE);
+ VehiclefeaturemodelingPackageImpl theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) instanceof VehiclefeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) : VehiclefeaturemodelingPackage.eINSTANCE);
+ FeaturemodelingPackageImpl theFeaturemodelingPackage = (FeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) instanceof FeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) : FeaturemodelingPackage.eINSTANCE);
+ BehaviorPackageImpl theBehaviorPackage = (BehaviorPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) instanceof BehaviorPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) : BehaviorPackage.eINSTANCE);
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) : RequirementsPackage.eINSTANCE);
+ VerificationvalidationPackageImpl theVerificationvalidationPackage = (VerificationvalidationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) instanceof VerificationvalidationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) : VerificationvalidationPackage.eINSTANCE);
+ TimingPackageImpl theTimingPackage = (TimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) instanceof TimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) : TimingPackage.eINSTANCE);
+ TimingconstraintsPackageImpl theTimingconstraintsPackage = (TimingconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) instanceof TimingconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) : TimingconstraintsPackage.eINSTANCE);
+ EventsPackageImpl theEventsPackage = (EventsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+ InterchangePackageImpl theInterchangePackage = (InterchangePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) instanceof InterchangePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) : InterchangePackage.eINSTANCE);
+ EnvironmentPackageImpl theEnvironmentPackage = (EnvironmentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) instanceof EnvironmentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) : EnvironmentPackage.eINSTANCE);
+ DependabilityPackageImpl theDependabilityPackage = (DependabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) instanceof DependabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) : DependabilityPackage.eINSTANCE);
+ ErrormodelPackageImpl theErrormodelPackage = (ErrormodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) instanceof ErrormodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) : ErrormodelPackage.eINSTANCE);
+ SafetyrequirementPackageImpl theSafetyrequirementPackage = (SafetyrequirementPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) instanceof SafetyrequirementPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) : SafetyrequirementPackage.eINSTANCE);
+ SafetyconstraintsPackageImpl theSafetyconstraintsPackage = (SafetyconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) instanceof SafetyconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) : SafetyconstraintsPackage.eINSTANCE);
+ SafetycasePackageImpl theSafetycasePackage = (SafetycasePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) instanceof SafetycasePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) : SafetycasePackage.eINSTANCE);
+ NeedsPackageImpl theNeedsPackage = (NeedsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) instanceof NeedsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) : NeedsPackage.eINSTANCE);
+ GenericconstraintsPackageImpl theGenericconstraintsPackage = (GenericconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) instanceof GenericconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) : GenericconstraintsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theAnnexPackage.createPackageContents();
+ theEastadlPackage.createPackageContents();
+ theVariabilityPackage.createPackageContents();
+ theInfrastructurePackage.createPackageContents();
+ theDatatypesPackage.createPackageContents();
+ theUserattributesPackage.createPackageContents();
+ theElementsPackage.createPackageContents();
+ theStructurePackage.createPackageContents();
+ theFunctionmodelingPackage.createPackageContents();
+ theHardwaremodelingPackage.createPackageContents();
+ theSystemmodelingPackage.createPackageContents();
+ theVehiclefeaturemodelingPackage.createPackageContents();
+ theFeaturemodelingPackage.createPackageContents();
+ theBehaviorPackage.createPackageContents();
+ theRequirementsPackage.createPackageContents();
+ theVerificationvalidationPackage.createPackageContents();
+ theTimingPackage.createPackageContents();
+ theTimingconstraintsPackage.createPackageContents();
+ theEventsPackage.createPackageContents();
+ theInterchangePackage.createPackageContents();
+ theEnvironmentPackage.createPackageContents();
+ theDependabilityPackage.createPackageContents();
+ theErrormodelPackage.createPackageContents();
+ theSafetyrequirementPackage.createPackageContents();
+ theSafetyconstraintsPackage.createPackageContents();
+ theSafetycasePackage.createPackageContents();
+ theNeedsPackage.createPackageContents();
+ theGenericconstraintsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theAnnexPackage.initializePackageContents();
+ theEastadlPackage.initializePackageContents();
+ theVariabilityPackage.initializePackageContents();
+ theInfrastructurePackage.initializePackageContents();
+ theDatatypesPackage.initializePackageContents();
+ theUserattributesPackage.initializePackageContents();
+ theElementsPackage.initializePackageContents();
+ theStructurePackage.initializePackageContents();
+ theFunctionmodelingPackage.initializePackageContents();
+ theHardwaremodelingPackage.initializePackageContents();
+ theSystemmodelingPackage.initializePackageContents();
+ theVehiclefeaturemodelingPackage.initializePackageContents();
+ theFeaturemodelingPackage.initializePackageContents();
+ theBehaviorPackage.initializePackageContents();
+ theRequirementsPackage.initializePackageContents();
+ theVerificationvalidationPackage.initializePackageContents();
+ theTimingPackage.initializePackageContents();
+ theTimingconstraintsPackage.initializePackageContents();
+ theEventsPackage.initializePackageContents();
+ theInterchangePackage.initializePackageContents();
+ theEnvironmentPackage.initializePackageContents();
+ theDependabilityPackage.initializePackageContents();
+ theErrormodelPackage.initializePackageContents();
+ theSafetyrequirementPackage.initializePackageContents();
+ theSafetyconstraintsPackage.initializePackageContents();
+ theSafetycasePackage.initializePackageContents();
+ theNeedsPackage.initializePackageContents();
+ theGenericconstraintsPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theAnnexPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(AnnexPackage.eNS_URI, theAnnexPackage);
+ return theAnnexPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * 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.eclipse.papyrus.eastadl.annex.AnnexPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private AnnexPackageImpl() {
+ super(eNS_URI, AnnexFactory.eINSTANCE);
+ }
+
+ /**
+ * 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 data types
+ dummyEDataType = createEDataType(DUMMY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AnnexFactory getAnnexFactory() {
+ return (AnnexFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EDataType getDummy() {
+ return dummyEDataType;
+ }
+
+ /**
+ * 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
+ NeedsPackage theNeedsPackage = (NeedsPackage)EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI);
+
+ // Add subpackages
+ getESubpackages().add(theNeedsPackage);
+
+ // Initialize data types
+ initEDataType(dummyEDataType, String.class, "Dummy", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+ }
+
+} //AnnexPackageImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/ArchitecturalDescription.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/ArchitecturalDescription.java
new file mode 100644
index 00000000000..bacfdd5eac5
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/ArchitecturalDescription.java
@@ -0,0 +1,74 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Architectural Description</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A collection of products to document an architecture. [IEEE 1471]
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.ArchitecturalDescription#getAggregates <em>Aggregates</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.ArchitecturalDescription#getIdentifies <em>Identifies</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getArchitecturalDescription()
+ * @model
+ * @generated
+ */
+public interface ArchitecturalDescription extends Concept {
+ /**
+ * Returns the value of the '<em><b>Aggregates</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.annex.needs.ArchitecturalModel}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Aggregates</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Aggregates</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getArchitecturalDescription_Aggregates()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<ArchitecturalModel> getAggregates();
+
+ /**
+ * Returns the value of the '<em><b>Identifies</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.annex.needs.Stakeholder}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Identifies</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>Identifies</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getArchitecturalDescription_Identifies()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<Stakeholder> getIdentifies();
+
+} // ArchitecturalDescription
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/ArchitecturalModel.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/ArchitecturalModel.java
new file mode 100644
index 00000000000..87fc61e5a93
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/ArchitecturalModel.java
@@ -0,0 +1,34 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Architectural Model</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A view may consist of one or more architectural models. Each such architectural model is developed using the methods established by its associated architectural viewpoint. An architectural model may participate in more than one view. [IEEE 1471]
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getArchitecturalModel()
+ * @model
+ * @generated
+ */
+public interface ArchitecturalModel extends Concept {
+} // ArchitecturalModel
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/Architecture.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/Architecture.java
new file mode 100644
index 00000000000..70367119502
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/Architecture.java
@@ -0,0 +1,66 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Architecture</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution. [IEEE 1471]
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.Architecture#getDescribedBy <em>Described By</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getArchitecture()
+ * @model
+ * @generated
+ */
+public interface Architecture extends Concept {
+ /**
+ * Returns the value of the '<em><b>Described By</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Described By</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Described By</em>' reference.
+ * @see #setDescribedBy(ArchitecturalDescription)
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getArchitecture_DescribedBy()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ ArchitecturalDescription getDescribedBy();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.annex.needs.Architecture#getDescribedBy <em>Described By</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Described By</em>' reference.
+ * @see #getDescribedBy()
+ * @generated
+ */
+ void setDescribedBy(ArchitecturalDescription value);
+
+} // Architecture
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/BusinessOpportunity.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/BusinessOpportunity.java
new file mode 100644
index 00000000000..f69417f3653
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/BusinessOpportunity.java
@@ -0,0 +1,130 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Business Opportunity</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The business opportunity represents a brief description of the business opportunity being met by developing the EE-System which establishes traceability from artifacts created later, for example to provide rationales to design decisions or trade-off analysis.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.BusinessOpportunity#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.BusinessOpportunity#getProblemStatement <em>Problem Statement</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.BusinessOpportunity#getProductPositioning <em>Product Positioning</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.BusinessOpportunity#getBusinessOpportunity <em>Business Opportunity</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getBusinessOpportunity()
+ * @model
+ * @generated
+ */
+public interface BusinessOpportunity extends TraceableSpecification {
+ /**
+ * 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.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getBusinessOpportunity_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.annex.needs.BusinessOpportunity#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>Business Opportunity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Business Opportunity</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Business Opportunity</em>' attribute.
+ * @see #setBusinessOpportunity(String)
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getBusinessOpportunity_BusinessOpportunity()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getBusinessOpportunity();
+
+ /**
+ * Returns the value of the '<em><b>Problem Statement</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Problem Statement</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>Problem Statement</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getBusinessOpportunity_ProblemStatement()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<ProblemStatement> getProblemStatement();
+
+ /**
+ * Returns the value of the '<em><b>Product Positioning</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Product Positioning</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>Product Positioning</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getBusinessOpportunity_ProductPositioning()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<ProductPositioning> getProductPositioning();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.annex.needs.BusinessOpportunity#getBusinessOpportunity <em>Business Opportunity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Business Opportunity</em>' attribute.
+ * @see #getBusinessOpportunity()
+ * @generated
+ */
+ void setBusinessOpportunity(String value);
+
+} // BusinessOpportunity
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/Concept.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/Concept.java
new file mode 100644
index 00000000000..96d2cfc90f8
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/Concept.java
@@ -0,0 +1,36 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs;
+
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Concept</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An abstract or general idea inferred or derived from specific instances. [Webster]
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getConcept()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Concept extends EAElement {
+} // Concept
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/Mission.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/Mission.java
new file mode 100644
index 00000000000..43fe557e4cc
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/Mission.java
@@ -0,0 +1,34 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Mission</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A mission is a use or operation for which a system is intended by one or more stakeholders to meet some set of objectives. [IEEE 1471]
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getMission()
+ * @model
+ * @generated
+ */
+public interface Mission extends Concept {
+} // Mission
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/NeedsFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/NeedsFactory.java
new file mode 100644
index 00000000000..c211edb816a
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/NeedsFactory.java
@@ -0,0 +1,136 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs;
+
+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.eclipse.papyrus.eastadl.annex.needs.NeedsPackage
+ * @generated
+ */
+public interface NeedsFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ NeedsFactory eINSTANCE = org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Business Opportunity</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Business Opportunity</em>'.
+ * @generated
+ */
+ BusinessOpportunity createBusinessOpportunity();
+
+ /**
+ * Returns a new object of class '<em>Mission</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Mission</em>'.
+ * @generated
+ */
+ Mission createMission();
+
+ /**
+ * Returns a new object of class '<em>Vehicle System</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Vehicle System</em>'.
+ * @generated
+ */
+ VehicleSystem createVehicleSystem();
+
+ /**
+ * Returns a new object of class '<em>Architecture</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Architecture</em>'.
+ * @generated
+ */
+ Architecture createArchitecture();
+
+ /**
+ * Returns a new object of class '<em>Architectural Description</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Architectural Description</em>'.
+ * @generated
+ */
+ ArchitecturalDescription createArchitecturalDescription();
+
+ /**
+ * Returns a new object of class '<em>Architectural Model</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Architectural Model</em>'.
+ * @generated
+ */
+ ArchitecturalModel createArchitecturalModel();
+
+ /**
+ * Returns a new object of class '<em>Problem Statement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Problem Statement</em>'.
+ * @generated
+ */
+ ProblemStatement createProblemStatement();
+
+ /**
+ * Returns a new object of class '<em>Product Positioning</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Product Positioning</em>'.
+ * @generated
+ */
+ ProductPositioning createProductPositioning();
+
+ /**
+ * Returns a new object of class '<em>Stakeholder</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Stakeholder</em>'.
+ * @generated
+ */
+ Stakeholder createStakeholder();
+
+ /**
+ * Returns a new object of class '<em>Stakeholder Need</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Stakeholder Need</em>'.
+ * @generated
+ */
+ StakeholderNeed createStakeholderNeed();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ NeedsPackage getNeedsPackage();
+
+} //NeedsFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/NeedsPackage.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/NeedsPackage.java
new file mode 100644
index 00000000000..76315510129
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/NeedsPackage.java
@@ -0,0 +1,1726 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs;
+
+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.eastadl.infrastructure.elements.ElementsPackage;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.annex.needs.NeedsFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface NeedsPackage extends EPackage {
+ /**
+ * <!-- 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.eclipse.papyrus.eastadl.annex.needs.impl.StakeholderNeedImpl <em>Stakeholder Need</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.StakeholderNeedImpl
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl#getStakeholderNeed()
+ * @generated
+ */
+ EClass STAKEHOLDER_NEED = eINSTANCE.getStakeholderNeed();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STAKEHOLDER_NEED__BASE_CLASS = eINSTANCE.getStakeholderNeed_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Need</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute STAKEHOLDER_NEED__NEED = eINSTANCE.getStakeholderNeed_Need();
+
+ /**
+ * The meta object literal for the '<em><b>Priority</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute STAKEHOLDER_NEED__PRIORITY = eINSTANCE.getStakeholderNeed_Priority();
+
+ /**
+ * The meta object literal for the '<em><b>Stake Holder</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STAKEHOLDER_NEED__STAKE_HOLDER = eINSTANCE.getStakeholderNeed_StakeHolder();
+
+ /**
+ * The meta object literal for the '<em><b>Problem Statement</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STAKEHOLDER_NEED__PROBLEM_STATEMENT = eINSTANCE.getStakeholderNeed_ProblemStatement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.annex.needs.impl.ProblemStatementImpl <em>Problem Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.ProblemStatementImpl
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl#getProblemStatement()
+ * @generated
+ */
+ EClass PROBLEM_STATEMENT = eINSTANCE.getProblemStatement();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PROBLEM_STATEMENT__BASE_CLASS = eINSTANCE.getProblemStatement_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Affects</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PROBLEM_STATEMENT__AFFECTS = eINSTANCE.getProblemStatement_Affects();
+
+ /**
+ * The meta object literal for the '<em><b>Impact</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PROBLEM_STATEMENT__IMPACT = eINSTANCE.getProblemStatement_Impact();
+
+ /**
+ * The meta object literal for the '<em><b>Problem</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PROBLEM_STATEMENT__PROBLEM = eINSTANCE.getProblemStatement_Problem();
+
+ /**
+ * The meta object literal for the '<em><b>Solution Benefits</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PROBLEM_STATEMENT__SOLUTION_BENEFITS = eINSTANCE.getProblemStatement_SolutionBenefits();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.annex.needs.impl.ProductPositioningImpl <em>Product Positioning</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.ProductPositioningImpl
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl#getProductPositioning()
+ * @generated
+ */
+ EClass PRODUCT_POSITIONING = eINSTANCE.getProductPositioning();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PRODUCT_POSITIONING__BASE_CLASS = eINSTANCE.getProductPositioning_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Driving Needs</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PRODUCT_POSITIONING__DRIVING_NEEDS = eINSTANCE.getProductPositioning_DrivingNeeds();
+
+ /**
+ * The meta object literal for the '<em><b>Key Capabilities</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PRODUCT_POSITIONING__KEY_CAPABILITIES = eINSTANCE.getProductPositioning_KeyCapabilities();
+
+ /**
+ * The meta object literal for the '<em><b>Primary Competitive Alternative</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PRODUCT_POSITIONING__PRIMARY_COMPETITIVE_ALTERNATIVE = eINSTANCE.getProductPositioning_PrimaryCompetitiveAlternative();
+
+ /**
+ * The meta object literal for the '<em><b>Primary Differentiation</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PRODUCT_POSITIONING__PRIMARY_DIFFERENTIATION = eINSTANCE.getProductPositioning_PrimaryDifferentiation();
+
+ /**
+ * The meta object literal for the '<em><b>Target Customers</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PRODUCT_POSITIONING__TARGET_CUSTOMERS = eINSTANCE.getProductPositioning_TargetCustomers();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.annex.needs.impl.BusinessOpportunityImpl <em>Business Opportunity</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.BusinessOpportunityImpl
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl#getBusinessOpportunity()
+ * @generated
+ */
+ EClass BUSINESS_OPPORTUNITY = eINSTANCE.getBusinessOpportunity();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BUSINESS_OPPORTUNITY__BASE_CLASS = eINSTANCE.getBusinessOpportunity_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Problem Statement</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BUSINESS_OPPORTUNITY__PROBLEM_STATEMENT = eINSTANCE.getBusinessOpportunity_ProblemStatement();
+
+ /**
+ * The meta object literal for the '<em><b>Product Positioning</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BUSINESS_OPPORTUNITY__PRODUCT_POSITIONING = eINSTANCE.getBusinessOpportunity_ProductPositioning();
+
+ /**
+ * The meta object literal for the '<em><b>Business Opportunity</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute BUSINESS_OPPORTUNITY__BUSINESS_OPPORTUNITY = eINSTANCE.getBusinessOpportunity_BusinessOpportunity();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.annex.needs.impl.ConceptImpl <em>Concept</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.ConceptImpl
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl#getConcept()
+ * @generated
+ */
+ EClass CONCEPT = eINSTANCE.getConcept();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.annex.needs.impl.MissionImpl <em>Mission</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.MissionImpl
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl#getMission()
+ * @generated
+ */
+ EClass MISSION = eINSTANCE.getMission();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.annex.needs.impl.VehicleSystemImpl <em>Vehicle System</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.VehicleSystemImpl
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl#getVehicleSystem()
+ * @generated
+ */
+ EClass VEHICLE_SYSTEM = eINSTANCE.getVehicleSystem();
+
+ /**
+ * The meta object literal for the '<em><b>Fulfills</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VEHICLE_SYSTEM__FULFILLS = eINSTANCE.getVehicleSystem_Fulfills();
+
+ /**
+ * The meta object literal for the '<em><b>Has An</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VEHICLE_SYSTEM__HAS_AN = eINSTANCE.getVehicleSystem_HasAn();
+
+ /**
+ * The meta object literal for the '<em><b>Has</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VEHICLE_SYSTEM__HAS = eINSTANCE.getVehicleSystem_Has();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.annex.needs.impl.ArchitectureImpl <em>Architecture</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.ArchitectureImpl
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl#getArchitecture()
+ * @generated
+ */
+ EClass ARCHITECTURE = eINSTANCE.getArchitecture();
+
+ /**
+ * The meta object literal for the '<em><b>Described By</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ARCHITECTURE__DESCRIBED_BY = eINSTANCE.getArchitecture_DescribedBy();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.annex.needs.impl.ArchitecturalDescriptionImpl <em>Architectural Description</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.ArchitecturalDescriptionImpl
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl#getArchitecturalDescription()
+ * @generated
+ */
+ EClass ARCHITECTURAL_DESCRIPTION = eINSTANCE.getArchitecturalDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Aggregates</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ARCHITECTURAL_DESCRIPTION__AGGREGATES = eINSTANCE.getArchitecturalDescription_Aggregates();
+
+ /**
+ * The meta object literal for the '<em><b>Identifies</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ARCHITECTURAL_DESCRIPTION__IDENTIFIES = eINSTANCE.getArchitecturalDescription_Identifies();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.annex.needs.impl.ArchitecturalModelImpl <em>Architectural Model</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.ArchitecturalModelImpl
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl#getArchitecturalModel()
+ * @generated
+ */
+ EClass ARCHITECTURAL_MODEL = eINSTANCE.getArchitecturalModel();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.annex.needs.impl.StakeholderImpl <em>Stakeholder</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.StakeholderImpl
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl#getStakeholder()
+ * @generated
+ */
+ EClass STAKEHOLDER = eINSTANCE.getStakeholder();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STAKEHOLDER__BASE_CLASS = eINSTANCE.getStakeholder_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Responsibilities</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute STAKEHOLDER__RESPONSIBILITIES = eINSTANCE.getStakeholder_Responsibilities();
+
+ /**
+ * The meta object literal for the '<em><b>Success Criteria</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute STAKEHOLDER__SUCCESS_CRITERIA = eINSTANCE.getStakeholder_SuccessCriteria();
+
+ }
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "needs";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.papyrusuml.org/EAST-ADL2/Annex/Needs/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "Needs";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ NeedsPackage eINSTANCE = org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.annex.needs.impl.StakeholderNeedImpl <em>Stakeholder Need</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.StakeholderNeedImpl
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl#getStakeholderNeed()
+ * @generated
+ */
+ int STAKEHOLDER_NEED = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.annex.needs.impl.ProblemStatementImpl <em>Problem Statement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.ProblemStatementImpl
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl#getProblemStatement()
+ * @generated
+ */
+ int PROBLEM_STATEMENT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.annex.needs.impl.ProductPositioningImpl <em>Product Positioning</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.ProductPositioningImpl
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl#getProductPositioning()
+ * @generated
+ */
+ int PRODUCT_POSITIONING = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.annex.needs.impl.BusinessOpportunityImpl <em>Business Opportunity</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.BusinessOpportunityImpl
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl#getBusinessOpportunity()
+ * @generated
+ */
+ int BUSINESS_OPPORTUNITY = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.annex.needs.impl.ConceptImpl <em>Concept</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.ConceptImpl
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl#getConcept()
+ * @generated
+ */
+ int CONCEPT = 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.annex.needs.impl.MissionImpl <em>Mission</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.MissionImpl
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl#getMission()
+ * @generated
+ */
+ int MISSION = 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.annex.needs.impl.ArchitectureImpl <em>Architecture</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.ArchitectureImpl
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl#getArchitecture()
+ * @generated
+ */
+ int ARCHITECTURE = 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.annex.needs.impl.ArchitecturalDescriptionImpl <em>Architectural Description</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.ArchitecturalDescriptionImpl
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl#getArchitecturalDescription()
+ * @generated
+ */
+ int ARCHITECTURAL_DESCRIPTION = 9;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.annex.needs.impl.ArchitecturalModelImpl <em>Architectural Model</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.ArchitecturalModelImpl
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl#getArchitecturalModel()
+ * @generated
+ */
+ int ARCHITECTURAL_MODEL = 10;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.annex.needs.impl.StakeholderImpl <em>Stakeholder</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.StakeholderImpl
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl#getStakeholder()
+ * @generated
+ */
+ int STAKEHOLDER = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STAKEHOLDER__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STAKEHOLDER__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STAKEHOLDER__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STAKEHOLDER__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STAKEHOLDER__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STAKEHOLDER__BASE_CLASS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Responsibilities</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STAKEHOLDER__RESPONSIBILITIES = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Success Criteria</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STAKEHOLDER__SUCCESS_CRITERIA = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 2;
+
+
+ /**
+ * The number of structural features of the '<em>Stakeholder</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STAKEHOLDER_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STAKEHOLDER_NEED__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STAKEHOLDER_NEED__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STAKEHOLDER_NEED__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STAKEHOLDER_NEED__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STAKEHOLDER_NEED__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STAKEHOLDER_NEED__BASE_CLASS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Need</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STAKEHOLDER_NEED__NEED = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Priority</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STAKEHOLDER_NEED__PRIORITY = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Stake Holder</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STAKEHOLDER_NEED__STAKE_HOLDER = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Problem Statement</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STAKEHOLDER_NEED__PROBLEM_STATEMENT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Stakeholder Need</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STAKEHOLDER_NEED_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROBLEM_STATEMENT__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROBLEM_STATEMENT__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROBLEM_STATEMENT__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROBLEM_STATEMENT__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROBLEM_STATEMENT__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROBLEM_STATEMENT__BASE_CLASS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Affects</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROBLEM_STATEMENT__AFFECTS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Impact</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROBLEM_STATEMENT__IMPACT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Problem</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROBLEM_STATEMENT__PROBLEM = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Solution Benefits</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROBLEM_STATEMENT__SOLUTION_BENEFITS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Problem Statement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROBLEM_STATEMENT_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRODUCT_POSITIONING__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRODUCT_POSITIONING__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRODUCT_POSITIONING__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRODUCT_POSITIONING__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRODUCT_POSITIONING__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRODUCT_POSITIONING__BASE_CLASS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Driving Needs</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRODUCT_POSITIONING__DRIVING_NEEDS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Key Capabilities</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRODUCT_POSITIONING__KEY_CAPABILITIES = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Primary Competitive Alternative</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRODUCT_POSITIONING__PRIMARY_COMPETITIVE_ALTERNATIVE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Primary Differentiation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRODUCT_POSITIONING__PRIMARY_DIFFERENTIATION = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Target Customers</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRODUCT_POSITIONING__TARGET_CUSTOMERS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Product Positioning</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRODUCT_POSITIONING_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_OPPORTUNITY__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_OPPORTUNITY__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_OPPORTUNITY__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_OPPORTUNITY__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_OPPORTUNITY__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_OPPORTUNITY__BASE_CLASS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Problem Statement</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_OPPORTUNITY__PROBLEM_STATEMENT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Product Positioning</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_OPPORTUNITY__PRODUCT_POSITIONING = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Business Opportunity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_OPPORTUNITY__BUSINESS_OPPORTUNITY = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Business Opportunity</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_OPPORTUNITY_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONCEPT__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONCEPT__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONCEPT__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The number of structural features of the '<em>Concept</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONCEPT_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MISSION__NAME = CONCEPT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MISSION__BASE_NAMED_ELEMENT = CONCEPT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MISSION__OWNED_COMMENT = CONCEPT__OWNED_COMMENT;
+
+ /**
+ * The number of structural features of the '<em>Mission</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MISSION_FEATURE_COUNT = CONCEPT_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.annex.needs.impl.VehicleSystemImpl <em>Vehicle System</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.VehicleSystemImpl
+ * @see org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl#getVehicleSystem()
+ * @generated
+ */
+ int VEHICLE_SYSTEM = 7;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_SYSTEM__NAME = CONCEPT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_SYSTEM__BASE_NAMED_ELEMENT = CONCEPT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_SYSTEM__OWNED_COMMENT = CONCEPT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Fulfills</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_SYSTEM__FULFILLS = CONCEPT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Has An</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_SYSTEM__HAS_AN = CONCEPT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Has</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_SYSTEM__HAS = CONCEPT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Vehicle System</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_SYSTEM_FEATURE_COUNT = CONCEPT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARCHITECTURE__NAME = CONCEPT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARCHITECTURE__BASE_NAMED_ELEMENT = CONCEPT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARCHITECTURE__OWNED_COMMENT = CONCEPT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Described By</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARCHITECTURE__DESCRIBED_BY = CONCEPT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Architecture</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARCHITECTURE_FEATURE_COUNT = CONCEPT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARCHITECTURAL_DESCRIPTION__NAME = CONCEPT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARCHITECTURAL_DESCRIPTION__BASE_NAMED_ELEMENT = CONCEPT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARCHITECTURAL_DESCRIPTION__OWNED_COMMENT = CONCEPT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Aggregates</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARCHITECTURAL_DESCRIPTION__AGGREGATES = CONCEPT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Identifies</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARCHITECTURAL_DESCRIPTION__IDENTIFIES = CONCEPT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Architectural Description</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARCHITECTURAL_DESCRIPTION_FEATURE_COUNT = CONCEPT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARCHITECTURAL_MODEL__NAME = CONCEPT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARCHITECTURAL_MODEL__BASE_NAMED_ELEMENT = CONCEPT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARCHITECTURAL_MODEL__OWNED_COMMENT = CONCEPT__OWNED_COMMENT;
+
+ /**
+ * The number of structural features of the '<em>Architectural Model</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARCHITECTURAL_MODEL_FEATURE_COUNT = CONCEPT_FEATURE_COUNT + 0;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.annex.needs.ArchitecturalDescription <em>Architectural Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Architectural Description</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.ArchitecturalDescription
+ * @generated
+ */
+ EClass getArchitecturalDescription();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.annex.needs.ArchitecturalDescription#getAggregates <em>Aggregates</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Aggregates</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.ArchitecturalDescription#getAggregates()
+ * @see #getArchitecturalDescription()
+ * @generated
+ */
+ EReference getArchitecturalDescription_Aggregates();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.annex.needs.ArchitecturalDescription#getIdentifies <em>Identifies</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Identifies</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.ArchitecturalDescription#getIdentifies()
+ * @see #getArchitecturalDescription()
+ * @generated
+ */
+ EReference getArchitecturalDescription_Identifies();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.annex.needs.ArchitecturalModel <em>Architectural Model</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Architectural Model</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.ArchitecturalModel
+ * @generated
+ */
+ EClass getArchitecturalModel();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.annex.needs.Architecture <em>Architecture</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Architecture</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.Architecture
+ * @generated
+ */
+ EClass getArchitecture();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.annex.needs.Architecture#getDescribedBy <em>Described By</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Described By</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.Architecture#getDescribedBy()
+ * @see #getArchitecture()
+ * @generated
+ */
+ EReference getArchitecture_DescribedBy();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.annex.needs.BusinessOpportunity <em>Business Opportunity</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Business Opportunity</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.BusinessOpportunity
+ * @generated
+ */
+ EClass getBusinessOpportunity();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.annex.needs.BusinessOpportunity#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.eclipse.papyrus.eastadl.annex.needs.BusinessOpportunity#getBase_Class()
+ * @see #getBusinessOpportunity()
+ * @generated
+ */
+ EReference getBusinessOpportunity_Base_Class();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.annex.needs.BusinessOpportunity#getBusinessOpportunity <em>Business Opportunity</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Business Opportunity</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.BusinessOpportunity#getBusinessOpportunity()
+ * @see #getBusinessOpportunity()
+ * @generated
+ */
+ EAttribute getBusinessOpportunity_BusinessOpportunity();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.annex.needs.BusinessOpportunity#getProblemStatement <em>Problem Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Problem Statement</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.BusinessOpportunity#getProblemStatement()
+ * @see #getBusinessOpportunity()
+ * @generated
+ */
+ EReference getBusinessOpportunity_ProblemStatement();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.annex.needs.BusinessOpportunity#getProductPositioning <em>Product Positioning</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Product Positioning</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.BusinessOpportunity#getProductPositioning()
+ * @see #getBusinessOpportunity()
+ * @generated
+ */
+ EReference getBusinessOpportunity_ProductPositioning();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.annex.needs.Concept <em>Concept</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Concept</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.Concept
+ * @generated
+ */
+ EClass getConcept();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.annex.needs.Mission <em>Mission</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Mission</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.Mission
+ * @generated
+ */
+ EClass getMission();
+
+ /**
+ * 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
+ */
+ NeedsFactory getNeedsFactory();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement <em>Problem Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Problem Statement</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement
+ * @generated
+ */
+ EClass getProblemStatement();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement#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.eclipse.papyrus.eastadl.annex.needs.ProblemStatement#getBase_Class()
+ * @see #getProblemStatement()
+ * @generated
+ */
+ EReference getProblemStatement_Base_Class();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement#getAffects <em>Affects</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Affects</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement#getAffects()
+ * @see #getProblemStatement()
+ * @generated
+ */
+ EReference getProblemStatement_Affects();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement#getImpact <em>Impact</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Impact</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement#getImpact()
+ * @see #getProblemStatement()
+ * @generated
+ */
+ EAttribute getProblemStatement_Impact();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement#getProblem <em>Problem</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Problem</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement#getProblem()
+ * @see #getProblemStatement()
+ * @generated
+ */
+ EAttribute getProblemStatement_Problem();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement#getSolutionBenefits <em>Solution Benefits</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Solution Benefits</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement#getSolutionBenefits()
+ * @see #getProblemStatement()
+ * @generated
+ */
+ EAttribute getProblemStatement_SolutionBenefits();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning <em>Product Positioning</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Product Positioning</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning
+ * @generated
+ */
+ EClass getProductPositioning();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning#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.eclipse.papyrus.eastadl.annex.needs.ProductPositioning#getBase_Class()
+ * @see #getProductPositioning()
+ * @generated
+ */
+ EReference getProductPositioning_Base_Class();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning#getDrivingNeeds <em>Driving Needs</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Driving Needs</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning#getDrivingNeeds()
+ * @see #getProductPositioning()
+ * @generated
+ */
+ EAttribute getProductPositioning_DrivingNeeds();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning#getKeyCapabilities <em>Key Capabilities</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Key Capabilities</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning#getKeyCapabilities()
+ * @see #getProductPositioning()
+ * @generated
+ */
+ EAttribute getProductPositioning_KeyCapabilities();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning#getPrimaryCompetitiveAlternative <em>Primary Competitive Alternative</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Primary Competitive Alternative</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning#getPrimaryCompetitiveAlternative()
+ * @see #getProductPositioning()
+ * @generated
+ */
+ EAttribute getProductPositioning_PrimaryCompetitiveAlternative();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning#getPrimaryDifferentiation <em>Primary Differentiation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Primary Differentiation</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning#getPrimaryDifferentiation()
+ * @see #getProductPositioning()
+ * @generated
+ */
+ EAttribute getProductPositioning_PrimaryDifferentiation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning#getTargetCustomers <em>Target Customers</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Target Customers</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning#getTargetCustomers()
+ * @see #getProductPositioning()
+ * @generated
+ */
+ EAttribute getProductPositioning_TargetCustomers();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.annex.needs.Stakeholder <em>Stakeholder</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Stakeholder</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.Stakeholder
+ * @generated
+ */
+ EClass getStakeholder();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.annex.needs.Stakeholder#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.eclipse.papyrus.eastadl.annex.needs.Stakeholder#getBase_Class()
+ * @see #getStakeholder()
+ * @generated
+ */
+ EReference getStakeholder_Base_Class();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.annex.needs.Stakeholder#getResponsibilities <em>Responsibilities</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Responsibilities</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.Stakeholder#getResponsibilities()
+ * @see #getStakeholder()
+ * @generated
+ */
+ EAttribute getStakeholder_Responsibilities();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.annex.needs.Stakeholder#getSuccessCriteria <em>Success Criteria</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Success Criteria</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.Stakeholder#getSuccessCriteria()
+ * @see #getStakeholder()
+ * @generated
+ */
+ EAttribute getStakeholder_SuccessCriteria();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.annex.needs.StakeholderNeed <em>Stakeholder Need</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Stakeholder Need</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.StakeholderNeed
+ * @generated
+ */
+ EClass getStakeholderNeed();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.annex.needs.StakeholderNeed#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.eclipse.papyrus.eastadl.annex.needs.StakeholderNeed#getBase_Class()
+ * @see #getStakeholderNeed()
+ * @generated
+ */
+ EReference getStakeholderNeed_Base_Class();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.annex.needs.StakeholderNeed#getNeed <em>Need</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Need</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.StakeholderNeed#getNeed()
+ * @see #getStakeholderNeed()
+ * @generated
+ */
+ EAttribute getStakeholderNeed_Need();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.annex.needs.StakeholderNeed#getPriority <em>Priority</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Priority</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.StakeholderNeed#getPriority()
+ * @see #getStakeholderNeed()
+ * @generated
+ */
+ EAttribute getStakeholderNeed_Priority();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.annex.needs.StakeholderNeed#getProblemStatement <em>Problem Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Problem Statement</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.StakeholderNeed#getProblemStatement()
+ * @see #getStakeholderNeed()
+ * @generated
+ */
+ EReference getStakeholderNeed_ProblemStatement();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.annex.needs.StakeholderNeed#getStakeHolder <em>Stake Holder</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Stake Holder</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.StakeholderNeed#getStakeHolder()
+ * @see #getStakeholderNeed()
+ * @generated
+ */
+ EReference getStakeholderNeed_StakeHolder();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.annex.needs.VehicleSystem <em>Vehicle System</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Vehicle System</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.VehicleSystem
+ * @generated
+ */
+ EClass getVehicleSystem();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.annex.needs.VehicleSystem#getFulfills <em>Fulfills</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Fulfills</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.VehicleSystem#getFulfills()
+ * @see #getVehicleSystem()
+ * @generated
+ */
+ EReference getVehicleSystem_Fulfills();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.annex.needs.VehicleSystem#getHas <em>Has</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Has</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.VehicleSystem#getHas()
+ * @see #getVehicleSystem()
+ * @generated
+ */
+ EReference getVehicleSystem_Has();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.annex.needs.VehicleSystem#getHasAn <em>Has An</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Has An</em>'.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.VehicleSystem#getHasAn()
+ * @see #getVehicleSystem()
+ * @generated
+ */
+ EReference getVehicleSystem_HasAn();
+
+} //NeedsPackage
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/ProblemStatement.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/ProblemStatement.java
new file mode 100644
index 00000000000..df53e6c2542
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/ProblemStatement.java
@@ -0,0 +1,169 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Problem Statement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The problem statement represents a brief statement summarizing the problem being solved which gives the opportunity to establish traceability from artifacts created later, for example to provide rationales to design decisions or trade-off analysis.
+ *
+ * The problem statement could be extended with further modeling of dependencies between different problems and deduction of root problems
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement#getAffects <em>Affects</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement#getImpact <em>Impact</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement#getProblem <em>Problem</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement#getSolutionBenefits <em>Solution Benefits</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getProblemStatement()
+ * @model
+ * @generated
+ */
+public interface ProblemStatement extends TraceableSpecification {
+ /**
+ * 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.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getProblemStatement_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement#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>Affects</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.annex.needs.Stakeholder}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Affects</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Affects</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getProblemStatement_Affects()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Stakeholder> getAffects();
+
+ /**
+ * Returns the value of the '<em><b>Impact</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Impact</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Impact</em>' attribute.
+ * @see #setImpact(String)
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getProblemStatement_Impact()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getImpact();
+
+ /**
+ * Returns the value of the '<em><b>Problem</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Problem</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Problem</em>' attribute.
+ * @see #setProblem(String)
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getProblemStatement_Problem()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getProblem();
+
+ /**
+ * Returns the value of the '<em><b>Solution Benefits</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Solution Benefits</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Solution Benefits</em>' attribute.
+ * @see #setSolutionBenefits(String)
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getProblemStatement_SolutionBenefits()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getSolutionBenefits();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement#getImpact <em>Impact</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Impact</em>' attribute.
+ * @see #getImpact()
+ * @generated
+ */
+ void setImpact(String value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement#getProblem <em>Problem</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Problem</em>' attribute.
+ * @see #getProblem()
+ * @generated
+ */
+ void setProblem(String value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement#getSolutionBenefits <em>Solution Benefits</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Solution Benefits</em>' attribute.
+ * @see #getSolutionBenefits()
+ * @generated
+ */
+ void setSolutionBenefits(String value);
+
+} // ProblemStatement
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/ProductPositioning.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/ProductPositioning.java
new file mode 100644
index 00000000000..190d0d1b8e2
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/ProductPositioning.java
@@ -0,0 +1,204 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs;
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Product Positioning</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The problem positioning represents an overall brief statement summarizing, at the highest level, the unique position the product intends to fill in the marketplace which gives the opportunity to establish traceability from artifacts created later, for example to provide rationales to design decisions or trade-off analysis.
+ *
+ * Positioning is assumed to belong to a particular context, typically a system, but also for a smaller part of a system.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning#getDrivingNeeds <em>Driving Needs</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning#getKeyCapabilities <em>Key Capabilities</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning#getPrimaryCompetitiveAlternative <em>Primary Competitive Alternative</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning#getPrimaryDifferentiation <em>Primary Differentiation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning#getTargetCustomers <em>Target Customers</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getProductPositioning()
+ * @model
+ * @generated
+ */
+public interface ProductPositioning extends TraceableSpecification {
+ /**
+ * 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.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getProductPositioning_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning#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>Driving Needs</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Driving Needs</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Driving Needs</em>' attribute.
+ * @see #setDrivingNeeds(String)
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getProductPositioning_DrivingNeeds()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getDrivingNeeds();
+
+ /**
+ * Returns the value of the '<em><b>Key Capabilities</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Key Capabilities</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Key Capabilities</em>' attribute.
+ * @see #setKeyCapabilities(String)
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getProductPositioning_KeyCapabilities()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getKeyCapabilities();
+
+ /**
+ * Returns the value of the '<em><b>Primary Competitive Alternative</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Primary Competitive Alternative</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Primary Competitive Alternative</em>' attribute.
+ * @see #setPrimaryCompetitiveAlternative(String)
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getProductPositioning_PrimaryCompetitiveAlternative()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getPrimaryCompetitiveAlternative();
+
+ /**
+ * Returns the value of the '<em><b>Primary Differentiation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Primary Differentiation</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Primary Differentiation</em>' attribute.
+ * @see #setPrimaryDifferentiation(String)
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getProductPositioning_PrimaryDifferentiation()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getPrimaryDifferentiation();
+
+ /**
+ * Returns the value of the '<em><b>Target Customers</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Target Customers</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Target Customers</em>' attribute.
+ * @see #setTargetCustomers(String)
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getProductPositioning_TargetCustomers()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getTargetCustomers();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning#getDrivingNeeds <em>Driving Needs</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Driving Needs</em>' attribute.
+ * @see #getDrivingNeeds()
+ * @generated
+ */
+ void setDrivingNeeds(String value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning#getKeyCapabilities <em>Key Capabilities</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Key Capabilities</em>' attribute.
+ * @see #getKeyCapabilities()
+ * @generated
+ */
+ void setKeyCapabilities(String value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning#getPrimaryCompetitiveAlternative <em>Primary Competitive Alternative</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Primary Competitive Alternative</em>' attribute.
+ * @see #getPrimaryCompetitiveAlternative()
+ * @generated
+ */
+ void setPrimaryCompetitiveAlternative(String value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning#getPrimaryDifferentiation <em>Primary Differentiation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Primary Differentiation</em>' attribute.
+ * @see #getPrimaryDifferentiation()
+ * @generated
+ */
+ void setPrimaryDifferentiation(String value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning#getTargetCustomers <em>Target Customers</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Target Customers</em>' attribute.
+ * @see #getTargetCustomers()
+ * @generated
+ */
+ void setTargetCustomers(String value);
+
+} // ProductPositioning
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/Stakeholder.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/Stakeholder.java
new file mode 100644
index 00000000000..9e557e5b28b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/Stakeholder.java
@@ -0,0 +1,121 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs;
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Stakeholder</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The stakeholder represents various roles with regard to the creation and use of architectural descriptions. Stakeholders include clients, users, the architect, developers, and evaluators. [IEEE 1471]
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.Stakeholder#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.Stakeholder#getResponsibilities <em>Responsibilities</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.Stakeholder#getSuccessCriteria <em>Success Criteria</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getStakeholder()
+ * @model
+ * @generated
+ */
+public interface Stakeholder extends TraceableSpecification {
+ /**
+ * 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.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getStakeholder_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.annex.needs.Stakeholder#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>Responsibilities</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Responsibilities</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Responsibilities</em>' attribute.
+ * @see #setResponsibilities(String)
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getStakeholder_Responsibilities()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" ordered="false"
+ * @generated
+ */
+ String getResponsibilities();
+
+ /**
+ * Returns the value of the '<em><b>Success Criteria</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Success Criteria</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Success Criteria</em>' attribute.
+ * @see #setSuccessCriteria(String)
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getStakeholder_SuccessCriteria()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" ordered="false"
+ * @generated
+ */
+ String getSuccessCriteria();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.annex.needs.Stakeholder#getResponsibilities <em>Responsibilities</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Responsibilities</em>' attribute.
+ * @see #getResponsibilities()
+ * @generated
+ */
+ void setResponsibilities(String value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.annex.needs.Stakeholder#getSuccessCriteria <em>Success Criteria</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Success Criteria</em>' attribute.
+ * @see #getSuccessCriteria()
+ * @generated
+ */
+ void setSuccessCriteria(String value);
+
+} // Stakeholder
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/StakeholderNeed.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/StakeholderNeed.java
new file mode 100644
index 00000000000..64045969f60
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/StakeholderNeed.java
@@ -0,0 +1,157 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Stakeholder Need</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Stakeholder needs represent a list of the key problems as perceived by the stakeholder, and it gives the opportunity to establish traceability from artifacts created later, for example to provide rationales to design decisions or trade-off analysis.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.StakeholderNeed#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.StakeholderNeed#getNeed <em>Need</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.StakeholderNeed#getPriority <em>Priority</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.StakeholderNeed#getStakeHolder <em>Stake Holder</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.StakeholderNeed#getProblemStatement <em>Problem Statement</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getStakeholderNeed()
+ * @model
+ * @generated
+ */
+public interface StakeholderNeed extends TraceableSpecification {
+ /**
+ * 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.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getStakeholderNeed_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.annex.needs.StakeholderNeed#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>Need</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Need</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Need</em>' attribute.
+ * @see #setNeed(String)
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getStakeholderNeed_Need()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getNeed();
+
+ /**
+ * Returns the value of the '<em><b>Priority</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Priority</em>' attribute.
+ * @see #setPriority(int)
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getStakeholderNeed_Priority()
+ * @model unique="false" dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+ * @generated
+ */
+ int getPriority();
+
+ /**
+ * Returns the value of the '<em><b>Problem Statement</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Problem Statement</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>Problem Statement</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getStakeholderNeed_ProblemStatement()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<ProblemStatement> getProblemStatement();
+
+ /**
+ * Returns the value of the '<em><b>Stake Holder</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.annex.needs.Stakeholder}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Stake Holder</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>Stake Holder</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getStakeholderNeed_StakeHolder()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<Stakeholder> getStakeHolder();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.annex.needs.StakeholderNeed#getNeed <em>Need</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Need</em>' attribute.
+ * @see #getNeed()
+ * @generated
+ */
+ void setNeed(String value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.annex.needs.StakeholderNeed#getPriority <em>Priority</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Priority</em>' attribute.
+ * @see #getPriority()
+ * @generated
+ */
+ void setPriority(int value);
+
+} // StakeholderNeed
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/VehicleSystem.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/VehicleSystem.java
new file mode 100644
index 00000000000..864fd8f2c07
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/VehicleSystem.java
@@ -0,0 +1,101 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Vehicle System</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A collection of components organized to accomplish a specific function or set of functions. [IEEE 1471]
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.VehicleSystem#getFulfills <em>Fulfills</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.VehicleSystem#getHasAn <em>Has An</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.VehicleSystem#getHas <em>Has</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getVehicleSystem()
+ * @model
+ * @generated
+ */
+public interface VehicleSystem extends Concept {
+ /**
+ * Returns the value of the '<em><b>Fulfills</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.annex.needs.Mission}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Fulfills</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>Fulfills</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getVehicleSystem_Fulfills()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<Mission> getFulfills();
+
+ /**
+ * Returns the value of the '<em><b>Has</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.annex.needs.Stakeholder}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Has</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>Has</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getVehicleSystem_Has()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<Stakeholder> getHas();
+
+ /**
+ * Returns the value of the '<em><b>Has An</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Has An</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Has An</em>' reference.
+ * @see #setHasAn(Architecture)
+ * @see org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#getVehicleSystem_HasAn()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Architecture getHasAn();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.annex.needs.VehicleSystem#getHasAn <em>Has An</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Has An</em>' reference.
+ * @see #getHasAn()
+ * @generated
+ */
+ void setHasAn(Architecture value);
+
+} // VehicleSystem
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/ArchitecturalDescriptionImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/ArchitecturalDescriptionImpl.java
new file mode 100644
index 00000000000..9a04e2b5fe1
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/ArchitecturalDescriptionImpl.java
@@ -0,0 +1,178 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs.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.eastadl.annex.needs.ArchitecturalDescription;
+import org.eclipse.papyrus.eastadl.annex.needs.ArchitecturalModel;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.Stakeholder;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Architectural Description</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.impl.ArchitecturalDescriptionImpl#getAggregates <em>Aggregates</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.impl.ArchitecturalDescriptionImpl#getIdentifies <em>Identifies</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ArchitecturalDescriptionImpl extends ConceptImpl implements ArchitecturalDescription {
+ /**
+ * The cached value of the '{@link #getAggregates() <em>Aggregates</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAggregates()
+ * @generated
+ * @ordered
+ */
+ protected EList<ArchitecturalModel> aggregates;
+
+ /**
+ * The cached value of the '{@link #getIdentifies() <em>Identifies</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIdentifies()
+ * @generated
+ * @ordered
+ */
+ protected EList<Stakeholder> identifies;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ArchitecturalDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NeedsPackage.ARCHITECTURAL_DESCRIPTION__AGGREGATES:
+ return getAggregates();
+ case NeedsPackage.ARCHITECTURAL_DESCRIPTION__IDENTIFIES:
+ return getIdentifies();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NeedsPackage.ARCHITECTURAL_DESCRIPTION__AGGREGATES:
+ return aggregates != null && !aggregates.isEmpty();
+ case NeedsPackage.ARCHITECTURAL_DESCRIPTION__IDENTIFIES:
+ return identifies != null && !identifies.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NeedsPackage.ARCHITECTURAL_DESCRIPTION__AGGREGATES:
+ getAggregates().clear();
+ getAggregates().addAll((Collection<? extends ArchitecturalModel>)newValue);
+ return;
+ case NeedsPackage.ARCHITECTURAL_DESCRIPTION__IDENTIFIES:
+ getIdentifies().clear();
+ getIdentifies().addAll((Collection<? extends Stakeholder>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeedsPackage.Literals.ARCHITECTURAL_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NeedsPackage.ARCHITECTURAL_DESCRIPTION__AGGREGATES:
+ getAggregates().clear();
+ return;
+ case NeedsPackage.ARCHITECTURAL_DESCRIPTION__IDENTIFIES:
+ getIdentifies().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ArchitecturalModel> getAggregates() {
+ if (aggregates == null) {
+ aggregates = new EObjectResolvingEList<ArchitecturalModel>(ArchitecturalModel.class, this, NeedsPackage.ARCHITECTURAL_DESCRIPTION__AGGREGATES);
+ }
+ return aggregates;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Stakeholder> getIdentifies() {
+ if (identifies == null) {
+ identifies = new EObjectResolvingEList<Stakeholder>(Stakeholder.class, this, NeedsPackage.ARCHITECTURAL_DESCRIPTION__IDENTIFIES);
+ }
+ return identifies;
+ }
+
+} //ArchitecturalDescriptionImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/ArchitecturalModelImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/ArchitecturalModelImpl.java
new file mode 100644
index 00000000000..7262943e948
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/ArchitecturalModelImpl.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.eastadl.annex.needs.ArchitecturalModel;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Architectural Model</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class ArchitecturalModelImpl extends ConceptImpl implements ArchitecturalModel {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ArchitecturalModelImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeedsPackage.Literals.ARCHITECTURAL_MODEL;
+ }
+
+} //ArchitecturalModelImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/ArchitectureImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/ArchitectureImpl.java
new file mode 100644
index 00000000000..a85a050ed5d
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/ArchitectureImpl.java
@@ -0,0 +1,167 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs.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.eastadl.annex.needs.ArchitecturalDescription;
+import org.eclipse.papyrus.eastadl.annex.needs.Architecture;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Architecture</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.impl.ArchitectureImpl#getDescribedBy <em>Described By</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ArchitectureImpl extends ConceptImpl implements Architecture {
+ /**
+ * The cached value of the '{@link #getDescribedBy() <em>Described By</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescribedBy()
+ * @generated
+ * @ordered
+ */
+ protected ArchitecturalDescription describedBy;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ArchitectureImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ArchitecturalDescription basicGetDescribedBy() {
+ return describedBy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NeedsPackage.ARCHITECTURE__DESCRIBED_BY:
+ if (resolve) return getDescribedBy();
+ return basicGetDescribedBy();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NeedsPackage.ARCHITECTURE__DESCRIBED_BY:
+ return describedBy != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NeedsPackage.ARCHITECTURE__DESCRIBED_BY:
+ setDescribedBy((ArchitecturalDescription)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeedsPackage.Literals.ARCHITECTURE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NeedsPackage.ARCHITECTURE__DESCRIBED_BY:
+ setDescribedBy((ArchitecturalDescription)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ArchitecturalDescription getDescribedBy() {
+ if (describedBy != null && describedBy.eIsProxy()) {
+ InternalEObject oldDescribedBy = (InternalEObject)describedBy;
+ describedBy = (ArchitecturalDescription)eResolveProxy(oldDescribedBy);
+ if (describedBy != oldDescribedBy) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, NeedsPackage.ARCHITECTURE__DESCRIBED_BY, oldDescribedBy, describedBy));
+ }
+ }
+ return describedBy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDescribedBy(ArchitecturalDescription newDescribedBy) {
+ ArchitecturalDescription oldDescribedBy = describedBy;
+ describedBy = newDescribedBy;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeedsPackage.ARCHITECTURE__DESCRIBED_BY, oldDescribedBy, describedBy));
+ }
+
+} //ArchitectureImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/BusinessOpportunityImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/BusinessOpportunityImpl.java
new file mode 100644
index 00000000000..0b41669ca15
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/BusinessOpportunityImpl.java
@@ -0,0 +1,478 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs.impl;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.TreeIterator;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.eastadl.annex.needs.BusinessOpportunity;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement;
+import org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Comment;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.PackageableElement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Business Opportunity</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.impl.BusinessOpportunityImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.impl.BusinessOpportunityImpl#getProblemStatement <em>Problem Statement</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.impl.BusinessOpportunityImpl#getProductPositioning <em>Product Positioning</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.impl.BusinessOpportunityImpl#getBusinessOpportunity <em>Business Opportunity</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BusinessOpportunityImpl extends TraceableSpecificationImpl implements BusinessOpportunity {
+ /**
+ * 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 cached value of the '{@link #getProblemStatement() <em>Problem Statement</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProblemStatement()
+ * @generated
+ * @ordered
+ */
+ protected EList<ProblemStatement> problemStatement;
+
+ /**
+ * The cached value of the '{@link #getProductPositioning() <em>Product Positioning</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProductPositioning()
+ * @generated
+ * @ordered
+ */
+ protected EList<ProductPositioning> productPositioning;
+
+ /**
+ * The default value of the '{@link #getBusinessOpportunity() <em>Business Opportunity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBusinessOpportunity()
+ * @generated
+ * @ordered
+ */
+ protected static final String BUSINESS_OPPORTUNITY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getBusinessOpportunity() <em>Business Opportunity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBusinessOpportunity()
+ * @generated
+ * @ordered
+ */
+ protected String businessOpportunity = BUSINESS_OPPORTUNITY_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BusinessOpportunityImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NeedsPackage.BUSINESS_OPPORTUNITY__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case NeedsPackage.BUSINESS_OPPORTUNITY__PROBLEM_STATEMENT:
+ return getProblemStatement();
+ case NeedsPackage.BUSINESS_OPPORTUNITY__PRODUCT_POSITIONING:
+ return getProductPositioning();
+ case NeedsPackage.BUSINESS_OPPORTUNITY__BUSINESS_OPPORTUNITY:
+ return getBusinessOpportunity();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NeedsPackage.BUSINESS_OPPORTUNITY__BASE_CLASS:
+ return base_Class != null;
+ case NeedsPackage.BUSINESS_OPPORTUNITY__PROBLEM_STATEMENT:
+ return problemStatement != null && !problemStatement.isEmpty();
+ case NeedsPackage.BUSINESS_OPPORTUNITY__PRODUCT_POSITIONING:
+ return productPositioning != null && !productPositioning.isEmpty();
+ case NeedsPackage.BUSINESS_OPPORTUNITY__BUSINESS_OPPORTUNITY:
+ return BUSINESS_OPPORTUNITY_EDEFAULT == null ? businessOpportunity != null : !BUSINESS_OPPORTUNITY_EDEFAULT.equals(businessOpportunity);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NeedsPackage.BUSINESS_OPPORTUNITY__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case NeedsPackage.BUSINESS_OPPORTUNITY__PROBLEM_STATEMENT:
+ getProblemStatement().clear();
+ getProblemStatement().addAll((Collection<? extends ProblemStatement>)newValue);
+ return;
+ case NeedsPackage.BUSINESS_OPPORTUNITY__PRODUCT_POSITIONING:
+ getProductPositioning().clear();
+ getProductPositioning().addAll((Collection<? extends ProductPositioning>)newValue);
+ return;
+ case NeedsPackage.BUSINESS_OPPORTUNITY__BUSINESS_OPPORTUNITY:
+ setBusinessOpportunity((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeedsPackage.Literals.BUSINESS_OPPORTUNITY;
+ }
+
+ /**
+ * <!-- 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, NeedsPackage.BUSINESS_OPPORTUNITY__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, NeedsPackage.BUSINESS_OPPORTUNITY__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NeedsPackage.BUSINESS_OPPORTUNITY__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case NeedsPackage.BUSINESS_OPPORTUNITY__PROBLEM_STATEMENT:
+ getProblemStatement().clear();
+ return;
+ case NeedsPackage.BUSINESS_OPPORTUNITY__PRODUCT_POSITIONING:
+ getProductPositioning().clear();
+ return;
+ case NeedsPackage.BUSINESS_OPPORTUNITY__BUSINESS_OPPORTUNITY:
+ setBusinessOpportunity(BUSINESS_OPPORTUNITY_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getBusinessOpportunity() {
+ return businessOpportunity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ProblemStatement> getProblemStatement() {
+ if (problemStatement == null) {
+ problemStatement = new EObjectResolvingEList<ProblemStatement>(ProblemStatement.class, this, NeedsPackage.BUSINESS_OPPORTUNITY__PROBLEM_STATEMENT);
+ }
+ return problemStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ProductPositioning> getProductPositioning() {
+ if (productPositioning == null) {
+ productPositioning = new EObjectResolvingEList<ProductPositioning>(ProductPositioning.class, this, NeedsPackage.BUSINESS_OPPORTUNITY__PRODUCT_POSITIONING);
+ }
+ return productPositioning;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBusinessOpportunity(String newBusinessOpportunity) {
+ String oldBusinessOpportunity = businessOpportunity;
+ businessOpportunity = newBusinessOpportunity;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeedsPackage.BUSINESS_OPPORTUNITY__BUSINESS_OPPORTUNITY, oldBusinessOpportunity, businessOpportunity));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (businessOpportunity: ");
+ result.append(businessOpportunity);
+ result.append(')');
+ return result.toString();
+ }
+
+ @Override
+ public PackageableElement getBase_PackageableElement() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void setBase_PackageableElement(PackageableElement value) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public String getName() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public EList<Comment> getOwnedComment() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public NamedElement getBase_NamedElement() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void setBase_NamedElement(NamedElement value) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void setName(String value) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public EClass eClass() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Resource eResource() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public EObject eContainer() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public EStructuralFeature eContainingFeature() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public EReference eContainmentFeature() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public EList<EObject> eContents() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public TreeIterator<EObject> eAllContents() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public boolean eIsProxy() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public EList<EObject> eCrossReferences() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Object eGet(EStructuralFeature feature) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Object eGet(EStructuralFeature feature, boolean resolve) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void eSet(EStructuralFeature feature, Object newValue) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public boolean eIsSet(EStructuralFeature feature) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public void eUnset(EStructuralFeature feature) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public Object eInvoke(EOperation operation, EList<?> arguments)
+ throws InvocationTargetException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public EList<Adapter> eAdapters() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public boolean eDeliver() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public void eSetDeliver(boolean deliver) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void eNotify(Notification notification) {
+ // TODO Auto-generated method stub
+
+ }
+
+} //BusinessOpportunityImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/ConceptImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/ConceptImpl.java
new file mode 100644
index 00000000000..48f247c1803
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/ConceptImpl.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.eastadl.annex.needs.Concept;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Concept</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class ConceptImpl extends EAElementImpl implements Concept {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConceptImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeedsPackage.Literals.CONCEPT;
+ }
+
+} //ConceptImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/MissionImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/MissionImpl.java
new file mode 100644
index 00000000000..014f4d37ebe
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/MissionImpl.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.eastadl.annex.needs.Mission;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Mission</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class MissionImpl extends ConceptImpl implements Mission {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MissionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeedsPackage.Literals.MISSION;
+ }
+
+} //MissionImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/NeedsFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/NeedsFactoryImpl.java
new file mode 100644
index 00000000000..9134cbd89b7
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/NeedsFactoryImpl.java
@@ -0,0 +1,216 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs.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.eclipse.papyrus.eastadl.annex.needs.ArchitecturalDescription;
+import org.eclipse.papyrus.eastadl.annex.needs.ArchitecturalModel;
+import org.eclipse.papyrus.eastadl.annex.needs.Architecture;
+import org.eclipse.papyrus.eastadl.annex.needs.BusinessOpportunity;
+import org.eclipse.papyrus.eastadl.annex.needs.Mission;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsFactory;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement;
+import org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning;
+import org.eclipse.papyrus.eastadl.annex.needs.Stakeholder;
+import org.eclipse.papyrus.eastadl.annex.needs.StakeholderNeed;
+import org.eclipse.papyrus.eastadl.annex.needs.VehicleSystem;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NeedsFactoryImpl extends EFactoryImpl implements NeedsFactory {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static NeedsPackage getPackage() {
+ return NeedsPackage.eINSTANCE;
+ }
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static NeedsFactory init() {
+ try {
+ NeedsFactory theNeedsFactory = (NeedsFactory)EPackage.Registry.INSTANCE.getEFactory(NeedsPackage.eNS_URI);
+ if (theNeedsFactory != null) {
+ return theNeedsFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new NeedsFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NeedsFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case NeedsPackage.STAKEHOLDER: return createStakeholder();
+ case NeedsPackage.STAKEHOLDER_NEED: return createStakeholderNeed();
+ case NeedsPackage.PROBLEM_STATEMENT: return createProblemStatement();
+ case NeedsPackage.PRODUCT_POSITIONING: return createProductPositioning();
+ case NeedsPackage.BUSINESS_OPPORTUNITY: return createBusinessOpportunity();
+ case NeedsPackage.MISSION: return createMission();
+ case NeedsPackage.VEHICLE_SYSTEM: return createVehicleSystem();
+ case NeedsPackage.ARCHITECTURE: return createArchitecture();
+ case NeedsPackage.ARCHITECTURAL_DESCRIPTION: return createArchitecturalDescription();
+ case NeedsPackage.ARCHITECTURAL_MODEL: return createArchitecturalModel();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BusinessOpportunity createBusinessOpportunity() {
+ BusinessOpportunityImpl businessOpportunity = new BusinessOpportunityImpl();
+ return businessOpportunity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Mission createMission() {
+ MissionImpl mission = new MissionImpl();
+ return mission;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VehicleSystem createVehicleSystem() {
+ VehicleSystemImpl vehicleSystem = new VehicleSystemImpl();
+ return vehicleSystem;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Architecture createArchitecture() {
+ ArchitectureImpl architecture = new ArchitectureImpl();
+ return architecture;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ArchitecturalDescription createArchitecturalDescription() {
+ ArchitecturalDescriptionImpl architecturalDescription = new ArchitecturalDescriptionImpl();
+ return architecturalDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ArchitecturalModel createArchitecturalModel() {
+ ArchitecturalModelImpl architecturalModel = new ArchitecturalModelImpl();
+ return architecturalModel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProblemStatement createProblemStatement() {
+ ProblemStatementImpl problemStatement = new ProblemStatementImpl();
+ return problemStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProductPositioning createProductPositioning() {
+ ProductPositioningImpl productPositioning = new ProductPositioningImpl();
+ return productPositioning;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Stakeholder createStakeholder() {
+ StakeholderImpl stakeholder = new StakeholderImpl();
+ return stakeholder;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StakeholderNeed createStakeholderNeed() {
+ StakeholderNeedImpl stakeholderNeed = new StakeholderNeedImpl();
+ return stakeholderNeed;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NeedsPackage getNeedsPackage() {
+ return (NeedsPackage)getEPackage();
+ }
+
+} //NeedsFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/NeedsPackageImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/NeedsPackageImpl.java
new file mode 100644
index 00000000000..be83c0e0310
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/NeedsPackageImpl.java
@@ -0,0 +1,902 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs.impl;
+
+import org.eclipse.emf.common.util.URI;
+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.eastadl.EastadlPackage;
+import org.eclipse.papyrus.eastadl.annex.AnnexPackage;
+import org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl;
+import org.eclipse.papyrus.eastadl.annex.needs.ArchitecturalDescription;
+import org.eclipse.papyrus.eastadl.annex.needs.ArchitecturalModel;
+import org.eclipse.papyrus.eastadl.annex.needs.Architecture;
+import org.eclipse.papyrus.eastadl.annex.needs.BusinessOpportunity;
+import org.eclipse.papyrus.eastadl.annex.needs.Concept;
+import org.eclipse.papyrus.eastadl.annex.needs.Mission;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsFactory;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement;
+import org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning;
+import org.eclipse.papyrus.eastadl.annex.needs.Stakeholder;
+import org.eclipse.papyrus.eastadl.annex.needs.StakeholderNeed;
+import org.eclipse.papyrus.eastadl.annex.needs.VehicleSystem;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.StructurePackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NeedsPackageImpl extends EPackageImpl implements NeedsPackage {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass stakeholderNeedEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass problemStatementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass productPositioningEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass businessOpportunityEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass conceptEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass missionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass vehicleSystemEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass architectureEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass architecturalDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass architecturalModelEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass stakeholderEClass = null;
+
+ /**
+ * <!-- 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 NeedsPackage#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 NeedsPackage init() {
+ if (isInited) return (NeedsPackage)EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI);
+
+ // Obtain or create and register package
+ NeedsPackageImpl theNeedsPackage = (NeedsPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof NeedsPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new NeedsPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ SysmlPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EastadlPackageImpl theEastadlPackage = (EastadlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) instanceof EastadlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) : EastadlPackage.eINSTANCE);
+ VariabilityPackageImpl theVariabilityPackage = (VariabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) instanceof VariabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) : VariabilityPackage.eINSTANCE);
+ InfrastructurePackageImpl theInfrastructurePackage = (InfrastructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) instanceof InfrastructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) : InfrastructurePackage.eINSTANCE);
+ DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) instanceof DatatypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) : DatatypesPackage.eINSTANCE);
+ UserattributesPackageImpl theUserattributesPackage = (UserattributesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) instanceof UserattributesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) : UserattributesPackage.eINSTANCE);
+ ElementsPackageImpl theElementsPackage = (ElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) instanceof ElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) : ElementsPackage.eINSTANCE);
+ StructurePackageImpl theStructurePackage = (StructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) instanceof StructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) : StructurePackage.eINSTANCE);
+ FunctionmodelingPackageImpl theFunctionmodelingPackage = (FunctionmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) instanceof FunctionmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) : FunctionmodelingPackage.eINSTANCE);
+ HardwaremodelingPackageImpl theHardwaremodelingPackage = (HardwaremodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) instanceof HardwaremodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) : HardwaremodelingPackage.eINSTANCE);
+ SystemmodelingPackageImpl theSystemmodelingPackage = (SystemmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) instanceof SystemmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) : SystemmodelingPackage.eINSTANCE);
+ VehiclefeaturemodelingPackageImpl theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) instanceof VehiclefeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) : VehiclefeaturemodelingPackage.eINSTANCE);
+ FeaturemodelingPackageImpl theFeaturemodelingPackage = (FeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) instanceof FeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) : FeaturemodelingPackage.eINSTANCE);
+ BehaviorPackageImpl theBehaviorPackage = (BehaviorPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) instanceof BehaviorPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) : BehaviorPackage.eINSTANCE);
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) : RequirementsPackage.eINSTANCE);
+ VerificationvalidationPackageImpl theVerificationvalidationPackage = (VerificationvalidationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) instanceof VerificationvalidationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) : VerificationvalidationPackage.eINSTANCE);
+ TimingPackageImpl theTimingPackage = (TimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) instanceof TimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) : TimingPackage.eINSTANCE);
+ TimingconstraintsPackageImpl theTimingconstraintsPackage = (TimingconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) instanceof TimingconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) : TimingconstraintsPackage.eINSTANCE);
+ EventsPackageImpl theEventsPackage = (EventsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+ InterchangePackageImpl theInterchangePackage = (InterchangePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) instanceof InterchangePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) : InterchangePackage.eINSTANCE);
+ EnvironmentPackageImpl theEnvironmentPackage = (EnvironmentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) instanceof EnvironmentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) : EnvironmentPackage.eINSTANCE);
+ DependabilityPackageImpl theDependabilityPackage = (DependabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) instanceof DependabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) : DependabilityPackage.eINSTANCE);
+ ErrormodelPackageImpl theErrormodelPackage = (ErrormodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) instanceof ErrormodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) : ErrormodelPackage.eINSTANCE);
+ SafetyrequirementPackageImpl theSafetyrequirementPackage = (SafetyrequirementPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) instanceof SafetyrequirementPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) : SafetyrequirementPackage.eINSTANCE);
+ SafetyconstraintsPackageImpl theSafetyconstraintsPackage = (SafetyconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) instanceof SafetyconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) : SafetyconstraintsPackage.eINSTANCE);
+ SafetycasePackageImpl theSafetycasePackage = (SafetycasePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) instanceof SafetycasePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) : SafetycasePackage.eINSTANCE);
+ AnnexPackageImpl theAnnexPackage = (AnnexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) instanceof AnnexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) : AnnexPackage.eINSTANCE);
+ GenericconstraintsPackageImpl theGenericconstraintsPackage = (GenericconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) instanceof GenericconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) : GenericconstraintsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theNeedsPackage.createPackageContents();
+ theEastadlPackage.createPackageContents();
+ theVariabilityPackage.createPackageContents();
+ theInfrastructurePackage.createPackageContents();
+ theDatatypesPackage.createPackageContents();
+ theUserattributesPackage.createPackageContents();
+ theElementsPackage.createPackageContents();
+ theStructurePackage.createPackageContents();
+ theFunctionmodelingPackage.createPackageContents();
+ theHardwaremodelingPackage.createPackageContents();
+ theSystemmodelingPackage.createPackageContents();
+ theVehiclefeaturemodelingPackage.createPackageContents();
+ theFeaturemodelingPackage.createPackageContents();
+ theBehaviorPackage.createPackageContents();
+ theRequirementsPackage.createPackageContents();
+ theVerificationvalidationPackage.createPackageContents();
+ theTimingPackage.createPackageContents();
+ theTimingconstraintsPackage.createPackageContents();
+ theEventsPackage.createPackageContents();
+ theInterchangePackage.createPackageContents();
+ theEnvironmentPackage.createPackageContents();
+ theDependabilityPackage.createPackageContents();
+ theErrormodelPackage.createPackageContents();
+ theSafetyrequirementPackage.createPackageContents();
+ theSafetyconstraintsPackage.createPackageContents();
+ theSafetycasePackage.createPackageContents();
+ theAnnexPackage.createPackageContents();
+ theGenericconstraintsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theNeedsPackage.initializePackageContents();
+ theEastadlPackage.initializePackageContents();
+ theVariabilityPackage.initializePackageContents();
+ theInfrastructurePackage.initializePackageContents();
+ theDatatypesPackage.initializePackageContents();
+ theUserattributesPackage.initializePackageContents();
+ theElementsPackage.initializePackageContents();
+ theStructurePackage.initializePackageContents();
+ theFunctionmodelingPackage.initializePackageContents();
+ theHardwaremodelingPackage.initializePackageContents();
+ theSystemmodelingPackage.initializePackageContents();
+ theVehiclefeaturemodelingPackage.initializePackageContents();
+ theFeaturemodelingPackage.initializePackageContents();
+ theBehaviorPackage.initializePackageContents();
+ theRequirementsPackage.initializePackageContents();
+ theVerificationvalidationPackage.initializePackageContents();
+ theTimingPackage.initializePackageContents();
+ theTimingconstraintsPackage.initializePackageContents();
+ theEventsPackage.initializePackageContents();
+ theInterchangePackage.initializePackageContents();
+ theEnvironmentPackage.initializePackageContents();
+ theDependabilityPackage.initializePackageContents();
+ theErrormodelPackage.initializePackageContents();
+ theSafetyrequirementPackage.initializePackageContents();
+ theSafetyconstraintsPackage.initializePackageContents();
+ theSafetycasePackage.initializePackageContents();
+ theAnnexPackage.initializePackageContents();
+ theGenericconstraintsPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theNeedsPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(NeedsPackage.eNS_URI, theNeedsPackage);
+ return theNeedsPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * 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.eclipse.papyrus.eastadl.annex.needs.NeedsPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private NeedsPackageImpl() {
+ super(eNS_URI, NeedsFactory.eINSTANCE);
+ }
+
+ /**
+ * 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
+ stakeholderEClass = createEClass(STAKEHOLDER);
+ createEReference(stakeholderEClass, STAKEHOLDER__BASE_CLASS);
+ createEAttribute(stakeholderEClass, STAKEHOLDER__RESPONSIBILITIES);
+ createEAttribute(stakeholderEClass, STAKEHOLDER__SUCCESS_CRITERIA);
+
+ stakeholderNeedEClass = createEClass(STAKEHOLDER_NEED);
+ createEReference(stakeholderNeedEClass, STAKEHOLDER_NEED__BASE_CLASS);
+ createEAttribute(stakeholderNeedEClass, STAKEHOLDER_NEED__NEED);
+ createEAttribute(stakeholderNeedEClass, STAKEHOLDER_NEED__PRIORITY);
+ createEReference(stakeholderNeedEClass, STAKEHOLDER_NEED__STAKE_HOLDER);
+ createEReference(stakeholderNeedEClass, STAKEHOLDER_NEED__PROBLEM_STATEMENT);
+
+ problemStatementEClass = createEClass(PROBLEM_STATEMENT);
+ createEReference(problemStatementEClass, PROBLEM_STATEMENT__BASE_CLASS);
+ createEReference(problemStatementEClass, PROBLEM_STATEMENT__AFFECTS);
+ createEAttribute(problemStatementEClass, PROBLEM_STATEMENT__IMPACT);
+ createEAttribute(problemStatementEClass, PROBLEM_STATEMENT__PROBLEM);
+ createEAttribute(problemStatementEClass, PROBLEM_STATEMENT__SOLUTION_BENEFITS);
+
+ productPositioningEClass = createEClass(PRODUCT_POSITIONING);
+ createEReference(productPositioningEClass, PRODUCT_POSITIONING__BASE_CLASS);
+ createEAttribute(productPositioningEClass, PRODUCT_POSITIONING__DRIVING_NEEDS);
+ createEAttribute(productPositioningEClass, PRODUCT_POSITIONING__KEY_CAPABILITIES);
+ createEAttribute(productPositioningEClass, PRODUCT_POSITIONING__PRIMARY_COMPETITIVE_ALTERNATIVE);
+ createEAttribute(productPositioningEClass, PRODUCT_POSITIONING__PRIMARY_DIFFERENTIATION);
+ createEAttribute(productPositioningEClass, PRODUCT_POSITIONING__TARGET_CUSTOMERS);
+
+ businessOpportunityEClass = createEClass(BUSINESS_OPPORTUNITY);
+ createEReference(businessOpportunityEClass, BUSINESS_OPPORTUNITY__BASE_CLASS);
+ createEReference(businessOpportunityEClass, BUSINESS_OPPORTUNITY__PROBLEM_STATEMENT);
+ createEReference(businessOpportunityEClass, BUSINESS_OPPORTUNITY__PRODUCT_POSITIONING);
+ createEAttribute(businessOpportunityEClass, BUSINESS_OPPORTUNITY__BUSINESS_OPPORTUNITY);
+
+ conceptEClass = createEClass(CONCEPT);
+
+ missionEClass = createEClass(MISSION);
+
+ vehicleSystemEClass = createEClass(VEHICLE_SYSTEM);
+ createEReference(vehicleSystemEClass, VEHICLE_SYSTEM__FULFILLS);
+ createEReference(vehicleSystemEClass, VEHICLE_SYSTEM__HAS_AN);
+ createEReference(vehicleSystemEClass, VEHICLE_SYSTEM__HAS);
+
+ architectureEClass = createEClass(ARCHITECTURE);
+ createEReference(architectureEClass, ARCHITECTURE__DESCRIBED_BY);
+
+ architecturalDescriptionEClass = createEClass(ARCHITECTURAL_DESCRIPTION);
+ createEReference(architecturalDescriptionEClass, ARCHITECTURAL_DESCRIPTION__AGGREGATES);
+ createEReference(architecturalDescriptionEClass, ARCHITECTURAL_DESCRIPTION__IDENTIFIES);
+
+ architecturalModelEClass = createEClass(ARCHITECTURAL_MODEL);
+ }
+
+ /**
+ * Initializes the annotations for <b>redefines</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createRedefinesAnnotations() {
+ String source = "redefines";
+ addAnnotation
+ (getStakeholderNeed_Need(),
+ source,
+ new String[] {
+ },
+ new URI[] {
+ URI.createURI(EastadlPackage.eNS_URI).appendFragment("//infrastructure/elements/TraceableSpecification/note")
+ });
+ addAnnotation
+ (getProblemStatement_Problem(),
+ source,
+ new String[] {
+ },
+ new URI[] {
+ URI.createURI(EastadlPackage.eNS_URI).appendFragment("//infrastructure/elements/TraceableSpecification/note")
+ });
+ addAnnotation
+ (getBusinessOpportunity_BusinessOpportunity(),
+ source,
+ new String[] {
+ },
+ new URI[] {
+ URI.createURI(EastadlPackage.eNS_URI).appendFragment("//infrastructure/elements/TraceableSpecification/note")
+ });
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getArchitecturalDescription() {
+ return architecturalDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getArchitecturalDescription_Aggregates() {
+ return (EReference)architecturalDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getArchitecturalDescription_Identifies() {
+ return (EReference)architecturalDescriptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getArchitecturalModel() {
+ return architecturalModelEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getArchitecture() {
+ return architectureEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getArchitecture_DescribedBy() {
+ return (EReference)architectureEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBusinessOpportunity() {
+ return businessOpportunityEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBusinessOpportunity_Base_Class() {
+ return (EReference)businessOpportunityEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBusinessOpportunity_BusinessOpportunity() {
+ return (EAttribute)businessOpportunityEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBusinessOpportunity_ProblemStatement() {
+ return (EReference)businessOpportunityEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBusinessOpportunity_ProductPositioning() {
+ return (EReference)businessOpportunityEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConcept() {
+ return conceptEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMission() {
+ return missionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NeedsFactory getNeedsFactory() {
+ return (NeedsFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getProblemStatement() {
+ return problemStatementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProblemStatement_Base_Class() {
+ return (EReference)problemStatementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProblemStatement_Affects() {
+ return (EReference)problemStatementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getProblemStatement_Impact() {
+ return (EAttribute)problemStatementEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getProblemStatement_Problem() {
+ return (EAttribute)problemStatementEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getProblemStatement_SolutionBenefits() {
+ return (EAttribute)problemStatementEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getProductPositioning() {
+ return productPositioningEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProductPositioning_Base_Class() {
+ return (EReference)productPositioningEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getProductPositioning_DrivingNeeds() {
+ return (EAttribute)productPositioningEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getProductPositioning_KeyCapabilities() {
+ return (EAttribute)productPositioningEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getProductPositioning_PrimaryCompetitiveAlternative() {
+ return (EAttribute)productPositioningEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getProductPositioning_PrimaryDifferentiation() {
+ return (EAttribute)productPositioningEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getProductPositioning_TargetCustomers() {
+ return (EAttribute)productPositioningEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStakeholder() {
+ return stakeholderEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStakeholder_Base_Class() {
+ return (EReference)stakeholderEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getStakeholder_Responsibilities() {
+ return (EAttribute)stakeholderEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getStakeholder_SuccessCriteria() {
+ return (EAttribute)stakeholderEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStakeholderNeed() {
+ return stakeholderNeedEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStakeholderNeed_Base_Class() {
+ return (EReference)stakeholderNeedEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getStakeholderNeed_Need() {
+ return (EAttribute)stakeholderNeedEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getStakeholderNeed_Priority() {
+ return (EAttribute)stakeholderNeedEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStakeholderNeed_ProblemStatement() {
+ return (EReference)stakeholderNeedEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStakeholderNeed_StakeHolder() {
+ return (EReference)stakeholderNeedEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVehicleSystem() {
+ return vehicleSystemEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVehicleSystem_Fulfills() {
+ return (EReference)vehicleSystemEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVehicleSystem_Has() {
+ return (EReference)vehicleSystemEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVehicleSystem_HasAn() {
+ return (EReference)vehicleSystemEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * 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
+ ElementsPackage theElementsPackage = (ElementsPackage)EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI);
+ 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
+ stakeholderEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+ stakeholderNeedEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+ problemStatementEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+ productPositioningEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+ businessOpportunityEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+ conceptEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ missionEClass.getESuperTypes().add(this.getConcept());
+ vehicleSystemEClass.getESuperTypes().add(this.getConcept());
+ architectureEClass.getESuperTypes().add(this.getConcept());
+ architecturalDescriptionEClass.getESuperTypes().add(this.getConcept());
+ architecturalModelEClass.getESuperTypes().add(this.getConcept());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(stakeholderEClass, Stakeholder.class, "Stakeholder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getStakeholder_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, Stakeholder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getStakeholder_Responsibilities(), theTypesPackage.getString(), "responsibilities", null, 0, 1, Stakeholder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getStakeholder_SuccessCriteria(), theTypesPackage.getString(), "successCriteria", null, 0, 1, Stakeholder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(stakeholderNeedEClass, StakeholderNeed.class, "StakeholderNeed", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getStakeholderNeed_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, StakeholderNeed.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getStakeholderNeed_Need(), theTypesPackage.getString(), "need", null, 1, 1, StakeholderNeed.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getStakeholderNeed_Priority(), theTypesPackage.getInteger(), "priority", null, 1, 1, StakeholderNeed.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getStakeholderNeed_StakeHolder(), this.getStakeholder(), null, "stakeHolder", null, 1, -1, StakeholderNeed.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getStakeholderNeed_ProblemStatement(), this.getProblemStatement(), null, "problemStatement", null, 1, -1, StakeholderNeed.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(problemStatementEClass, ProblemStatement.class, "ProblemStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getProblemStatement_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, ProblemStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getProblemStatement_Affects(), this.getStakeholder(), null, "affects", null, 0, -1, ProblemStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getProblemStatement_Impact(), theTypesPackage.getString(), "impact", null, 1, 1, ProblemStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getProblemStatement_Problem(), theTypesPackage.getString(), "problem", null, 1, 1, ProblemStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getProblemStatement_SolutionBenefits(), theTypesPackage.getString(), "solutionBenefits", null, 1, 1, ProblemStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(productPositioningEClass, ProductPositioning.class, "ProductPositioning", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getProductPositioning_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, ProductPositioning.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getProductPositioning_DrivingNeeds(), theTypesPackage.getString(), "drivingNeeds", null, 1, 1, ProductPositioning.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getProductPositioning_KeyCapabilities(), theTypesPackage.getString(), "keyCapabilities", null, 1, 1, ProductPositioning.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getProductPositioning_PrimaryCompetitiveAlternative(), theTypesPackage.getString(), "primaryCompetitiveAlternative", null, 1, 1, ProductPositioning.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getProductPositioning_PrimaryDifferentiation(), theTypesPackage.getString(), "primaryDifferentiation", null, 1, 1, ProductPositioning.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getProductPositioning_TargetCustomers(), theTypesPackage.getString(), "targetCustomers", null, 1, 1, ProductPositioning.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(businessOpportunityEClass, BusinessOpportunity.class, "BusinessOpportunity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getBusinessOpportunity_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, BusinessOpportunity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getBusinessOpportunity_ProblemStatement(), this.getProblemStatement(), null, "problemStatement", null, 0, -1, BusinessOpportunity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getBusinessOpportunity_ProductPositioning(), this.getProductPositioning(), null, "productPositioning", null, 0, -1, BusinessOpportunity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getBusinessOpportunity_BusinessOpportunity(), theTypesPackage.getString(), "businessOpportunity", null, 1, 1, BusinessOpportunity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(conceptEClass, Concept.class, "Concept", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(missionEClass, Mission.class, "Mission", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(vehicleSystemEClass, VehicleSystem.class, "VehicleSystem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getVehicleSystem_Fulfills(), this.getMission(), null, "fulfills", null, 1, -1, VehicleSystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVehicleSystem_HasAn(), this.getArchitecture(), null, "hasAn", null, 1, 1, VehicleSystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVehicleSystem_Has(), this.getStakeholder(), null, "has", null, 1, -1, VehicleSystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(architectureEClass, Architecture.class, "Architecture", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getArchitecture_DescribedBy(), this.getArchitecturalDescription(), null, "describedBy", null, 1, 1, Architecture.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(architecturalDescriptionEClass, ArchitecturalDescription.class, "ArchitecturalDescription", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getArchitecturalDescription_Aggregates(), this.getArchitecturalModel(), null, "aggregates", null, 1, -1, ArchitecturalDescription.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getArchitecturalDescription_Identifies(), this.getStakeholder(), null, "identifies", null, 1, -1, ArchitecturalDescription.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(architecturalModelEClass, ArchitecturalModel.class, "ArchitecturalModel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ // Create annotations
+ // redefines
+ createRedefinesAnnotations();
+ }
+
+} //NeedsPackageImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/ProblemStatementImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/ProblemStatementImpl.java
new file mode 100644
index 00000000000..14c014025be
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/ProblemStatementImpl.java
@@ -0,0 +1,383 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs.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.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement;
+import org.eclipse.papyrus.eastadl.annex.needs.Stakeholder;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Problem Statement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.impl.ProblemStatementImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.impl.ProblemStatementImpl#getAffects <em>Affects</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.impl.ProblemStatementImpl#getImpact <em>Impact</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.impl.ProblemStatementImpl#getProblem <em>Problem</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.impl.ProblemStatementImpl#getSolutionBenefits <em>Solution Benefits</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ProblemStatementImpl extends TraceableSpecificationImpl implements ProblemStatement {
+ /**
+ * 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 cached value of the '{@link #getAffects() <em>Affects</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAffects()
+ * @generated
+ * @ordered
+ */
+ protected EList<Stakeholder> affects;
+
+ /**
+ * The default value of the '{@link #getImpact() <em>Impact</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImpact()
+ * @generated
+ * @ordered
+ */
+ protected static final String IMPACT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getImpact() <em>Impact</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImpact()
+ * @generated
+ * @ordered
+ */
+ protected String impact = IMPACT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getProblem() <em>Problem</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProblem()
+ * @generated
+ * @ordered
+ */
+ protected static final String PROBLEM_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getProblem() <em>Problem</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProblem()
+ * @generated
+ * @ordered
+ */
+ protected String problem = PROBLEM_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSolutionBenefits() <em>Solution Benefits</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSolutionBenefits()
+ * @generated
+ * @ordered
+ */
+ protected static final String SOLUTION_BENEFITS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSolutionBenefits() <em>Solution Benefits</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSolutionBenefits()
+ * @generated
+ * @ordered
+ */
+ protected String solutionBenefits = SOLUTION_BENEFITS_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ProblemStatementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NeedsPackage.PROBLEM_STATEMENT__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case NeedsPackage.PROBLEM_STATEMENT__AFFECTS:
+ return getAffects();
+ case NeedsPackage.PROBLEM_STATEMENT__IMPACT:
+ return getImpact();
+ case NeedsPackage.PROBLEM_STATEMENT__PROBLEM:
+ return getProblem();
+ case NeedsPackage.PROBLEM_STATEMENT__SOLUTION_BENEFITS:
+ return getSolutionBenefits();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NeedsPackage.PROBLEM_STATEMENT__BASE_CLASS:
+ return base_Class != null;
+ case NeedsPackage.PROBLEM_STATEMENT__AFFECTS:
+ return affects != null && !affects.isEmpty();
+ case NeedsPackage.PROBLEM_STATEMENT__IMPACT:
+ return IMPACT_EDEFAULT == null ? impact != null : !IMPACT_EDEFAULT.equals(impact);
+ case NeedsPackage.PROBLEM_STATEMENT__PROBLEM:
+ return PROBLEM_EDEFAULT == null ? problem != null : !PROBLEM_EDEFAULT.equals(problem);
+ case NeedsPackage.PROBLEM_STATEMENT__SOLUTION_BENEFITS:
+ return SOLUTION_BENEFITS_EDEFAULT == null ? solutionBenefits != null : !SOLUTION_BENEFITS_EDEFAULT.equals(solutionBenefits);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NeedsPackage.PROBLEM_STATEMENT__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case NeedsPackage.PROBLEM_STATEMENT__AFFECTS:
+ getAffects().clear();
+ getAffects().addAll((Collection<? extends Stakeholder>)newValue);
+ return;
+ case NeedsPackage.PROBLEM_STATEMENT__IMPACT:
+ setImpact((String)newValue);
+ return;
+ case NeedsPackage.PROBLEM_STATEMENT__PROBLEM:
+ setProblem((String)newValue);
+ return;
+ case NeedsPackage.PROBLEM_STATEMENT__SOLUTION_BENEFITS:
+ setSolutionBenefits((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeedsPackage.Literals.PROBLEM_STATEMENT;
+ }
+
+ /**
+ * <!-- 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, NeedsPackage.PROBLEM_STATEMENT__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, NeedsPackage.PROBLEM_STATEMENT__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NeedsPackage.PROBLEM_STATEMENT__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case NeedsPackage.PROBLEM_STATEMENT__AFFECTS:
+ getAffects().clear();
+ return;
+ case NeedsPackage.PROBLEM_STATEMENT__IMPACT:
+ setImpact(IMPACT_EDEFAULT);
+ return;
+ case NeedsPackage.PROBLEM_STATEMENT__PROBLEM:
+ setProblem(PROBLEM_EDEFAULT);
+ return;
+ case NeedsPackage.PROBLEM_STATEMENT__SOLUTION_BENEFITS:
+ setSolutionBenefits(SOLUTION_BENEFITS_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Stakeholder> getAffects() {
+ if (affects == null) {
+ affects = new EObjectResolvingEList<Stakeholder>(Stakeholder.class, this, NeedsPackage.PROBLEM_STATEMENT__AFFECTS);
+ }
+ return affects;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getImpact() {
+ return impact;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getProblem() {
+ return problem;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getSolutionBenefits() {
+ return solutionBenefits;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setImpact(String newImpact) {
+ String oldImpact = impact;
+ impact = newImpact;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeedsPackage.PROBLEM_STATEMENT__IMPACT, oldImpact, impact));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setProblem(String newProblem) {
+ String oldProblem = problem;
+ problem = newProblem;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeedsPackage.PROBLEM_STATEMENT__PROBLEM, oldProblem, problem));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSolutionBenefits(String newSolutionBenefits) {
+ String oldSolutionBenefits = solutionBenefits;
+ solutionBenefits = newSolutionBenefits;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeedsPackage.PROBLEM_STATEMENT__SOLUTION_BENEFITS, oldSolutionBenefits, solutionBenefits));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (impact: ");
+ result.append(impact);
+ result.append(", problem: ");
+ result.append(problem);
+ result.append(", solutionBenefits: ");
+ result.append(solutionBenefits);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ProblemStatementImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/ProductPositioningImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/ProductPositioningImpl.java
new file mode 100644
index 00000000000..9613a1f3daa
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/ProductPositioningImpl.java
@@ -0,0 +1,451 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs.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.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Product Positioning</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.impl.ProductPositioningImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.impl.ProductPositioningImpl#getDrivingNeeds <em>Driving Needs</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.impl.ProductPositioningImpl#getKeyCapabilities <em>Key Capabilities</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.impl.ProductPositioningImpl#getPrimaryCompetitiveAlternative <em>Primary Competitive Alternative</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.impl.ProductPositioningImpl#getPrimaryDifferentiation <em>Primary Differentiation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.impl.ProductPositioningImpl#getTargetCustomers <em>Target Customers</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ProductPositioningImpl extends TraceableSpecificationImpl implements ProductPositioning {
+ /**
+ * 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 #getDrivingNeeds() <em>Driving Needs</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDrivingNeeds()
+ * @generated
+ * @ordered
+ */
+ protected static final String DRIVING_NEEDS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDrivingNeeds() <em>Driving Needs</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDrivingNeeds()
+ * @generated
+ * @ordered
+ */
+ protected String drivingNeeds = DRIVING_NEEDS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getKeyCapabilities() <em>Key Capabilities</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKeyCapabilities()
+ * @generated
+ * @ordered
+ */
+ protected static final String KEY_CAPABILITIES_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getKeyCapabilities() <em>Key Capabilities</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKeyCapabilities()
+ * @generated
+ * @ordered
+ */
+ protected String keyCapabilities = KEY_CAPABILITIES_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getPrimaryCompetitiveAlternative() <em>Primary Competitive Alternative</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPrimaryCompetitiveAlternative()
+ * @generated
+ * @ordered
+ */
+ protected static final String PRIMARY_COMPETITIVE_ALTERNATIVE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPrimaryCompetitiveAlternative() <em>Primary Competitive Alternative</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPrimaryCompetitiveAlternative()
+ * @generated
+ * @ordered
+ */
+ protected String primaryCompetitiveAlternative = PRIMARY_COMPETITIVE_ALTERNATIVE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getPrimaryDifferentiation() <em>Primary Differentiation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPrimaryDifferentiation()
+ * @generated
+ * @ordered
+ */
+ protected static final String PRIMARY_DIFFERENTIATION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPrimaryDifferentiation() <em>Primary Differentiation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPrimaryDifferentiation()
+ * @generated
+ * @ordered
+ */
+ protected String primaryDifferentiation = PRIMARY_DIFFERENTIATION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTargetCustomers() <em>Target Customers</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargetCustomers()
+ * @generated
+ * @ordered
+ */
+ protected static final String TARGET_CUSTOMERS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTargetCustomers() <em>Target Customers</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargetCustomers()
+ * @generated
+ * @ordered
+ */
+ protected String targetCustomers = TARGET_CUSTOMERS_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ProductPositioningImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NeedsPackage.PRODUCT_POSITIONING__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case NeedsPackage.PRODUCT_POSITIONING__DRIVING_NEEDS:
+ return getDrivingNeeds();
+ case NeedsPackage.PRODUCT_POSITIONING__KEY_CAPABILITIES:
+ return getKeyCapabilities();
+ case NeedsPackage.PRODUCT_POSITIONING__PRIMARY_COMPETITIVE_ALTERNATIVE:
+ return getPrimaryCompetitiveAlternative();
+ case NeedsPackage.PRODUCT_POSITIONING__PRIMARY_DIFFERENTIATION:
+ return getPrimaryDifferentiation();
+ case NeedsPackage.PRODUCT_POSITIONING__TARGET_CUSTOMERS:
+ return getTargetCustomers();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NeedsPackage.PRODUCT_POSITIONING__BASE_CLASS:
+ return base_Class != null;
+ case NeedsPackage.PRODUCT_POSITIONING__DRIVING_NEEDS:
+ return DRIVING_NEEDS_EDEFAULT == null ? drivingNeeds != null : !DRIVING_NEEDS_EDEFAULT.equals(drivingNeeds);
+ case NeedsPackage.PRODUCT_POSITIONING__KEY_CAPABILITIES:
+ return KEY_CAPABILITIES_EDEFAULT == null ? keyCapabilities != null : !KEY_CAPABILITIES_EDEFAULT.equals(keyCapabilities);
+ case NeedsPackage.PRODUCT_POSITIONING__PRIMARY_COMPETITIVE_ALTERNATIVE:
+ return PRIMARY_COMPETITIVE_ALTERNATIVE_EDEFAULT == null ? primaryCompetitiveAlternative != null : !PRIMARY_COMPETITIVE_ALTERNATIVE_EDEFAULT.equals(primaryCompetitiveAlternative);
+ case NeedsPackage.PRODUCT_POSITIONING__PRIMARY_DIFFERENTIATION:
+ return PRIMARY_DIFFERENTIATION_EDEFAULT == null ? primaryDifferentiation != null : !PRIMARY_DIFFERENTIATION_EDEFAULT.equals(primaryDifferentiation);
+ case NeedsPackage.PRODUCT_POSITIONING__TARGET_CUSTOMERS:
+ return TARGET_CUSTOMERS_EDEFAULT == null ? targetCustomers != null : !TARGET_CUSTOMERS_EDEFAULT.equals(targetCustomers);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NeedsPackage.PRODUCT_POSITIONING__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case NeedsPackage.PRODUCT_POSITIONING__DRIVING_NEEDS:
+ setDrivingNeeds((String)newValue);
+ return;
+ case NeedsPackage.PRODUCT_POSITIONING__KEY_CAPABILITIES:
+ setKeyCapabilities((String)newValue);
+ return;
+ case NeedsPackage.PRODUCT_POSITIONING__PRIMARY_COMPETITIVE_ALTERNATIVE:
+ setPrimaryCompetitiveAlternative((String)newValue);
+ return;
+ case NeedsPackage.PRODUCT_POSITIONING__PRIMARY_DIFFERENTIATION:
+ setPrimaryDifferentiation((String)newValue);
+ return;
+ case NeedsPackage.PRODUCT_POSITIONING__TARGET_CUSTOMERS:
+ setTargetCustomers((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeedsPackage.Literals.PRODUCT_POSITIONING;
+ }
+
+ /**
+ * <!-- 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, NeedsPackage.PRODUCT_POSITIONING__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, NeedsPackage.PRODUCT_POSITIONING__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NeedsPackage.PRODUCT_POSITIONING__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case NeedsPackage.PRODUCT_POSITIONING__DRIVING_NEEDS:
+ setDrivingNeeds(DRIVING_NEEDS_EDEFAULT);
+ return;
+ case NeedsPackage.PRODUCT_POSITIONING__KEY_CAPABILITIES:
+ setKeyCapabilities(KEY_CAPABILITIES_EDEFAULT);
+ return;
+ case NeedsPackage.PRODUCT_POSITIONING__PRIMARY_COMPETITIVE_ALTERNATIVE:
+ setPrimaryCompetitiveAlternative(PRIMARY_COMPETITIVE_ALTERNATIVE_EDEFAULT);
+ return;
+ case NeedsPackage.PRODUCT_POSITIONING__PRIMARY_DIFFERENTIATION:
+ setPrimaryDifferentiation(PRIMARY_DIFFERENTIATION_EDEFAULT);
+ return;
+ case NeedsPackage.PRODUCT_POSITIONING__TARGET_CUSTOMERS:
+ setTargetCustomers(TARGET_CUSTOMERS_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDrivingNeeds() {
+ return drivingNeeds;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getKeyCapabilities() {
+ return keyCapabilities;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getPrimaryCompetitiveAlternative() {
+ return primaryCompetitiveAlternative;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getPrimaryDifferentiation() {
+ return primaryDifferentiation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTargetCustomers() {
+ return targetCustomers;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDrivingNeeds(String newDrivingNeeds) {
+ String oldDrivingNeeds = drivingNeeds;
+ drivingNeeds = newDrivingNeeds;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeedsPackage.PRODUCT_POSITIONING__DRIVING_NEEDS, oldDrivingNeeds, drivingNeeds));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setKeyCapabilities(String newKeyCapabilities) {
+ String oldKeyCapabilities = keyCapabilities;
+ keyCapabilities = newKeyCapabilities;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeedsPackage.PRODUCT_POSITIONING__KEY_CAPABILITIES, oldKeyCapabilities, keyCapabilities));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPrimaryCompetitiveAlternative(String newPrimaryCompetitiveAlternative) {
+ String oldPrimaryCompetitiveAlternative = primaryCompetitiveAlternative;
+ primaryCompetitiveAlternative = newPrimaryCompetitiveAlternative;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeedsPackage.PRODUCT_POSITIONING__PRIMARY_COMPETITIVE_ALTERNATIVE, oldPrimaryCompetitiveAlternative, primaryCompetitiveAlternative));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPrimaryDifferentiation(String newPrimaryDifferentiation) {
+ String oldPrimaryDifferentiation = primaryDifferentiation;
+ primaryDifferentiation = newPrimaryDifferentiation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeedsPackage.PRODUCT_POSITIONING__PRIMARY_DIFFERENTIATION, oldPrimaryDifferentiation, primaryDifferentiation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTargetCustomers(String newTargetCustomers) {
+ String oldTargetCustomers = targetCustomers;
+ targetCustomers = newTargetCustomers;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeedsPackage.PRODUCT_POSITIONING__TARGET_CUSTOMERS, oldTargetCustomers, targetCustomers));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (drivingNeeds: ");
+ result.append(drivingNeeds);
+ result.append(", keyCapabilities: ");
+ result.append(keyCapabilities);
+ result.append(", primaryCompetitiveAlternative: ");
+ result.append(primaryCompetitiveAlternative);
+ result.append(", primaryDifferentiation: ");
+ result.append(primaryDifferentiation);
+ result.append(", targetCustomers: ");
+ result.append(targetCustomers);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ProductPositioningImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/StakeholderImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/StakeholderImpl.java
new file mode 100644
index 00000000000..796c9cb5684
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/StakeholderImpl.java
@@ -0,0 +1,289 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs.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.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.Stakeholder;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Stakeholder</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.impl.StakeholderImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.impl.StakeholderImpl#getResponsibilities <em>Responsibilities</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.impl.StakeholderImpl#getSuccessCriteria <em>Success Criteria</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StakeholderImpl extends TraceableSpecificationImpl implements Stakeholder {
+ /**
+ * 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 #getResponsibilities() <em>Responsibilities</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getResponsibilities()
+ * @generated
+ * @ordered
+ */
+ protected static final String RESPONSIBILITIES_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getResponsibilities() <em>Responsibilities</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getResponsibilities()
+ * @generated
+ * @ordered
+ */
+ protected String responsibilities = RESPONSIBILITIES_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSuccessCriteria() <em>Success Criteria</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSuccessCriteria()
+ * @generated
+ * @ordered
+ */
+ protected static final String SUCCESS_CRITERIA_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSuccessCriteria() <em>Success Criteria</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSuccessCriteria()
+ * @generated
+ * @ordered
+ */
+ protected String successCriteria = SUCCESS_CRITERIA_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StakeholderImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NeedsPackage.STAKEHOLDER__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case NeedsPackage.STAKEHOLDER__RESPONSIBILITIES:
+ return getResponsibilities();
+ case NeedsPackage.STAKEHOLDER__SUCCESS_CRITERIA:
+ return getSuccessCriteria();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NeedsPackage.STAKEHOLDER__BASE_CLASS:
+ return base_Class != null;
+ case NeedsPackage.STAKEHOLDER__RESPONSIBILITIES:
+ return RESPONSIBILITIES_EDEFAULT == null ? responsibilities != null : !RESPONSIBILITIES_EDEFAULT.equals(responsibilities);
+ case NeedsPackage.STAKEHOLDER__SUCCESS_CRITERIA:
+ return SUCCESS_CRITERIA_EDEFAULT == null ? successCriteria != null : !SUCCESS_CRITERIA_EDEFAULT.equals(successCriteria);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NeedsPackage.STAKEHOLDER__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case NeedsPackage.STAKEHOLDER__RESPONSIBILITIES:
+ setResponsibilities((String)newValue);
+ return;
+ case NeedsPackage.STAKEHOLDER__SUCCESS_CRITERIA:
+ setSuccessCriteria((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeedsPackage.Literals.STAKEHOLDER;
+ }
+
+ /**
+ * <!-- 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, NeedsPackage.STAKEHOLDER__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, NeedsPackage.STAKEHOLDER__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NeedsPackage.STAKEHOLDER__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case NeedsPackage.STAKEHOLDER__RESPONSIBILITIES:
+ setResponsibilities(RESPONSIBILITIES_EDEFAULT);
+ return;
+ case NeedsPackage.STAKEHOLDER__SUCCESS_CRITERIA:
+ setSuccessCriteria(SUCCESS_CRITERIA_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getResponsibilities() {
+ return responsibilities;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getSuccessCriteria() {
+ return successCriteria;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setResponsibilities(String newResponsibilities) {
+ String oldResponsibilities = responsibilities;
+ responsibilities = newResponsibilities;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeedsPackage.STAKEHOLDER__RESPONSIBILITIES, oldResponsibilities, responsibilities));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSuccessCriteria(String newSuccessCriteria) {
+ String oldSuccessCriteria = successCriteria;
+ successCriteria = newSuccessCriteria;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeedsPackage.STAKEHOLDER__SUCCESS_CRITERIA, oldSuccessCriteria, successCriteria));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (responsibilities: ");
+ result.append(responsibilities);
+ result.append(", successCriteria: ");
+ result.append(successCriteria);
+ result.append(')');
+ return result.toString();
+ }
+
+} //StakeholderImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/StakeholderNeedImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/StakeholderNeedImpl.java
new file mode 100644
index 00000000000..aa61c5e6bd8
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/StakeholderNeedImpl.java
@@ -0,0 +1,364 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs.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.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement;
+import org.eclipse.papyrus.eastadl.annex.needs.Stakeholder;
+import org.eclipse.papyrus.eastadl.annex.needs.StakeholderNeed;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Stakeholder Need</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.impl.StakeholderNeedImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.impl.StakeholderNeedImpl#getNeed <em>Need</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.impl.StakeholderNeedImpl#getPriority <em>Priority</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.impl.StakeholderNeedImpl#getStakeHolder <em>Stake Holder</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.impl.StakeholderNeedImpl#getProblemStatement <em>Problem Statement</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StakeholderNeedImpl extends TraceableSpecificationImpl implements StakeholderNeed {
+ /**
+ * 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 #getNeed() <em>Need</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNeed()
+ * @generated
+ * @ordered
+ */
+ protected static final String NEED_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getNeed() <em>Need</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNeed()
+ * @generated
+ * @ordered
+ */
+ protected String need = NEED_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getPriority() <em>Priority</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPriority()
+ * @generated
+ * @ordered
+ */
+ protected static final int PRIORITY_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getPriority() <em>Priority</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPriority()
+ * @generated
+ * @ordered
+ */
+ protected int priority = PRIORITY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getStakeHolder() <em>Stake Holder</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStakeHolder()
+ * @generated
+ * @ordered
+ */
+ protected EList<Stakeholder> stakeHolder;
+
+ /**
+ * The cached value of the '{@link #getProblemStatement() <em>Problem Statement</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProblemStatement()
+ * @generated
+ * @ordered
+ */
+ protected EList<ProblemStatement> problemStatement;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StakeholderNeedImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NeedsPackage.STAKEHOLDER_NEED__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case NeedsPackage.STAKEHOLDER_NEED__NEED:
+ return getNeed();
+ case NeedsPackage.STAKEHOLDER_NEED__PRIORITY:
+ return getPriority();
+ case NeedsPackage.STAKEHOLDER_NEED__STAKE_HOLDER:
+ return getStakeHolder();
+ case NeedsPackage.STAKEHOLDER_NEED__PROBLEM_STATEMENT:
+ return getProblemStatement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NeedsPackage.STAKEHOLDER_NEED__BASE_CLASS:
+ return base_Class != null;
+ case NeedsPackage.STAKEHOLDER_NEED__NEED:
+ return NEED_EDEFAULT == null ? need != null : !NEED_EDEFAULT.equals(need);
+ case NeedsPackage.STAKEHOLDER_NEED__PRIORITY:
+ return priority != PRIORITY_EDEFAULT;
+ case NeedsPackage.STAKEHOLDER_NEED__STAKE_HOLDER:
+ return stakeHolder != null && !stakeHolder.isEmpty();
+ case NeedsPackage.STAKEHOLDER_NEED__PROBLEM_STATEMENT:
+ return problemStatement != null && !problemStatement.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NeedsPackage.STAKEHOLDER_NEED__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case NeedsPackage.STAKEHOLDER_NEED__NEED:
+ setNeed((String)newValue);
+ return;
+ case NeedsPackage.STAKEHOLDER_NEED__PRIORITY:
+ setPriority((Integer)newValue);
+ return;
+ case NeedsPackage.STAKEHOLDER_NEED__STAKE_HOLDER:
+ getStakeHolder().clear();
+ getStakeHolder().addAll((Collection<? extends Stakeholder>)newValue);
+ return;
+ case NeedsPackage.STAKEHOLDER_NEED__PROBLEM_STATEMENT:
+ getProblemStatement().clear();
+ getProblemStatement().addAll((Collection<? extends ProblemStatement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeedsPackage.Literals.STAKEHOLDER_NEED;
+ }
+
+ /**
+ * <!-- 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, NeedsPackage.STAKEHOLDER_NEED__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, NeedsPackage.STAKEHOLDER_NEED__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NeedsPackage.STAKEHOLDER_NEED__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case NeedsPackage.STAKEHOLDER_NEED__NEED:
+ setNeed(NEED_EDEFAULT);
+ return;
+ case NeedsPackage.STAKEHOLDER_NEED__PRIORITY:
+ setPriority(PRIORITY_EDEFAULT);
+ return;
+ case NeedsPackage.STAKEHOLDER_NEED__STAKE_HOLDER:
+ getStakeHolder().clear();
+ return;
+ case NeedsPackage.STAKEHOLDER_NEED__PROBLEM_STATEMENT:
+ getProblemStatement().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getNeed() {
+ return need;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getPriority() {
+ return priority;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ProblemStatement> getProblemStatement() {
+ if (problemStatement == null) {
+ problemStatement = new EObjectResolvingEList<ProblemStatement>(ProblemStatement.class, this, NeedsPackage.STAKEHOLDER_NEED__PROBLEM_STATEMENT);
+ }
+ return problemStatement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Stakeholder> getStakeHolder() {
+ if (stakeHolder == null) {
+ stakeHolder = new EObjectResolvingEList<Stakeholder>(Stakeholder.class, this, NeedsPackage.STAKEHOLDER_NEED__STAKE_HOLDER);
+ }
+ return stakeHolder;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNeed(String newNeed) {
+ String oldNeed = need;
+ need = newNeed;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeedsPackage.STAKEHOLDER_NEED__NEED, oldNeed, need));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPriority(int newPriority) {
+ int oldPriority = priority;
+ priority = newPriority;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeedsPackage.STAKEHOLDER_NEED__PRIORITY, oldPriority, priority));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (need: ");
+ result.append(need);
+ result.append(", priority: ");
+ result.append(priority);
+ result.append(')');
+ return result.toString();
+ }
+
+} //StakeholderNeedImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/VehicleSystemImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/VehicleSystemImpl.java
new file mode 100644
index 00000000000..c4dd24d7617
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/impl/VehicleSystemImpl.java
@@ -0,0 +1,242 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs.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.eastadl.annex.needs.Architecture;
+import org.eclipse.papyrus.eastadl.annex.needs.Mission;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.Stakeholder;
+import org.eclipse.papyrus.eastadl.annex.needs.VehicleSystem;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Vehicle System</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.impl.VehicleSystemImpl#getFulfills <em>Fulfills</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.impl.VehicleSystemImpl#getHasAn <em>Has An</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.annex.needs.impl.VehicleSystemImpl#getHas <em>Has</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class VehicleSystemImpl extends ConceptImpl implements VehicleSystem {
+ /**
+ * The cached value of the '{@link #getFulfills() <em>Fulfills</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFulfills()
+ * @generated
+ * @ordered
+ */
+ protected EList<Mission> fulfills;
+
+ /**
+ * The cached value of the '{@link #getHasAn() <em>Has An</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHasAn()
+ * @generated
+ * @ordered
+ */
+ protected Architecture hasAn;
+
+ /**
+ * The cached value of the '{@link #getHas() <em>Has</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHas()
+ * @generated
+ * @ordered
+ */
+ protected EList<Stakeholder> has;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected VehicleSystemImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Architecture basicGetHasAn() {
+ return hasAn;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case NeedsPackage.VEHICLE_SYSTEM__FULFILLS:
+ return getFulfills();
+ case NeedsPackage.VEHICLE_SYSTEM__HAS_AN:
+ if (resolve) return getHasAn();
+ return basicGetHasAn();
+ case NeedsPackage.VEHICLE_SYSTEM__HAS:
+ return getHas();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case NeedsPackage.VEHICLE_SYSTEM__FULFILLS:
+ return fulfills != null && !fulfills.isEmpty();
+ case NeedsPackage.VEHICLE_SYSTEM__HAS_AN:
+ return hasAn != null;
+ case NeedsPackage.VEHICLE_SYSTEM__HAS:
+ return has != null && !has.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case NeedsPackage.VEHICLE_SYSTEM__FULFILLS:
+ getFulfills().clear();
+ getFulfills().addAll((Collection<? extends Mission>)newValue);
+ return;
+ case NeedsPackage.VEHICLE_SYSTEM__HAS_AN:
+ setHasAn((Architecture)newValue);
+ return;
+ case NeedsPackage.VEHICLE_SYSTEM__HAS:
+ getHas().clear();
+ getHas().addAll((Collection<? extends Stakeholder>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return NeedsPackage.Literals.VEHICLE_SYSTEM;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case NeedsPackage.VEHICLE_SYSTEM__FULFILLS:
+ getFulfills().clear();
+ return;
+ case NeedsPackage.VEHICLE_SYSTEM__HAS_AN:
+ setHasAn((Architecture)null);
+ return;
+ case NeedsPackage.VEHICLE_SYSTEM__HAS:
+ getHas().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Mission> getFulfills() {
+ if (fulfills == null) {
+ fulfills = new EObjectResolvingEList<Mission>(Mission.class, this, NeedsPackage.VEHICLE_SYSTEM__FULFILLS);
+ }
+ return fulfills;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Stakeholder> getHas() {
+ if (has == null) {
+ has = new EObjectResolvingEList<Stakeholder>(Stakeholder.class, this, NeedsPackage.VEHICLE_SYSTEM__HAS);
+ }
+ return has;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Architecture getHasAn() {
+ if (hasAn != null && hasAn.eIsProxy()) {
+ InternalEObject oldHasAn = (InternalEObject)hasAn;
+ hasAn = (Architecture)eResolveProxy(oldHasAn);
+ if (hasAn != oldHasAn) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, NeedsPackage.VEHICLE_SYSTEM__HAS_AN, oldHasAn, hasAn));
+ }
+ }
+ return hasAn;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHasAn(Architecture newHasAn) {
+ Architecture oldHasAn = hasAn;
+ hasAn = newHasAn;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, NeedsPackage.VEHICLE_SYSTEM__HAS_AN, oldHasAn, hasAn));
+ }
+
+} //VehicleSystemImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/util/NeedsAdapterFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/util/NeedsAdapterFactory.java
new file mode 100644
index 00000000000..34f9a173d87
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/util/NeedsAdapterFactory.java
@@ -0,0 +1,379 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs.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.eastadl.annex.needs.ArchitecturalDescription;
+import org.eclipse.papyrus.eastadl.annex.needs.ArchitecturalModel;
+import org.eclipse.papyrus.eastadl.annex.needs.Architecture;
+import org.eclipse.papyrus.eastadl.annex.needs.BusinessOpportunity;
+import org.eclipse.papyrus.eastadl.annex.needs.Concept;
+import org.eclipse.papyrus.eastadl.annex.needs.Mission;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement;
+import org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning;
+import org.eclipse.papyrus.eastadl.annex.needs.Stakeholder;
+import org.eclipse.papyrus.eastadl.annex.needs.StakeholderNeed;
+import org.eclipse.papyrus.eastadl.annex.needs.VehicleSystem;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.annex.needs.NeedsPackage
+ * @generated
+ */
+public class NeedsAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static NeedsPackage modelPackage;
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NeedsSwitch<Adapter> modelSwitch =
+ new NeedsSwitch<Adapter>() {
+ @Override
+ public Adapter caseStakeholder(Stakeholder object) {
+ return createStakeholderAdapter();
+ }
+ @Override
+ public Adapter caseStakeholderNeed(StakeholderNeed object) {
+ return createStakeholderNeedAdapter();
+ }
+ @Override
+ public Adapter caseProblemStatement(ProblemStatement object) {
+ return createProblemStatementAdapter();
+ }
+ @Override
+ public Adapter caseProductPositioning(ProductPositioning object) {
+ return createProductPositioningAdapter();
+ }
+ @Override
+ public Adapter caseBusinessOpportunity(BusinessOpportunity object) {
+ return createBusinessOpportunityAdapter();
+ }
+ @Override
+ public Adapter caseConcept(Concept object) {
+ return createConceptAdapter();
+ }
+ @Override
+ public Adapter caseMission(Mission object) {
+ return createMissionAdapter();
+ }
+ @Override
+ public Adapter caseVehicleSystem(VehicleSystem object) {
+ return createVehicleSystemAdapter();
+ }
+ @Override
+ public Adapter caseArchitecture(Architecture object) {
+ return createArchitectureAdapter();
+ }
+ @Override
+ public Adapter caseArchitecturalDescription(ArchitecturalDescription object) {
+ return createArchitecturalDescriptionAdapter();
+ }
+ @Override
+ public Adapter caseArchitecturalModel(ArchitecturalModel object) {
+ return createArchitecturalModelAdapter();
+ }
+ @Override
+ public Adapter caseEAElement(EAElement object) {
+ return createEAElementAdapter();
+ }
+ @Override
+ public Adapter caseEAPackageableElement(EAPackageableElement object) {
+ return createEAPackageableElementAdapter();
+ }
+ @Override
+ public Adapter caseTraceableSpecification(TraceableSpecification object) {
+ return createTraceableSpecificationAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NeedsAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = NeedsPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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.eclipse.papyrus.eastadl.annex.needs.ArchitecturalDescription <em>Architectural Description</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.annex.needs.ArchitecturalDescription
+ * @generated
+ */
+ public Adapter createArchitecturalDescriptionAdapter() {
+ return null;
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.annex.needs.ArchitecturalModel <em>Architectural 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.eclipse.papyrus.eastadl.annex.needs.ArchitecturalModel
+ * @generated
+ */
+ public Adapter createArchitecturalModelAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement <em>EA Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAElement
+ * @generated
+ */
+ public Adapter createEAElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement <em>EA Packageable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAPackageableElement
+ * @generated
+ */
+ public Adapter createEAPackageableElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.annex.needs.Architecture <em>Architecture</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.annex.needs.Architecture
+ * @generated
+ */
+ public Adapter createArchitectureAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.annex.needs.BusinessOpportunity <em>Business Opportunity</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.annex.needs.BusinessOpportunity
+ * @generated
+ */
+ public Adapter createBusinessOpportunityAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.annex.needs.Concept <em>Concept</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.annex.needs.Concept
+ * @generated
+ */
+ public Adapter createConceptAdapter() {
+ 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;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.annex.needs.Mission <em>Mission</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.annex.needs.Mission
+ * @generated
+ */
+ public Adapter createMissionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement <em>Problem Statement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.annex.needs.ProblemStatement
+ * @generated
+ */
+ public Adapter createProblemStatementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning <em>Product Positioning</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.annex.needs.ProductPositioning
+ * @generated
+ */
+ public Adapter createProductPositioningAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.annex.needs.Stakeholder <em>Stakeholder</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.annex.needs.Stakeholder
+ * @generated
+ */
+ public Adapter createStakeholderAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.annex.needs.StakeholderNeed <em>Stakeholder Need</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.annex.needs.StakeholderNeed
+ * @generated
+ */
+ public Adapter createStakeholderNeedAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification <em>Traceable 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.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification
+ * @generated
+ */
+ public Adapter createTraceableSpecificationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.annex.needs.VehicleSystem <em>Vehicle System</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.annex.needs.VehicleSystem
+ * @generated
+ */
+ public Adapter createVehicleSystemAdapter() {
+ return null;
+ }
+
+ /**
+ * 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;
+ }
+
+} //NeedsAdapterFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/util/NeedsResourceFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/util/NeedsResourceFactoryImpl.java
new file mode 100644
index 00000000000..c7d4de799a2
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/util/NeedsResourceFactoryImpl.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs.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.eclipse.papyrus.eastadl.annex.needs.util.NeedsResourceImpl
+ * @generated
+ */
+public class NeedsResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NeedsResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new NeedsResourceImpl(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;
+ }
+
+} //NeedsResourceFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/util/NeedsResourceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/util/NeedsResourceImpl.java
new file mode 100644
index 00000000000..10218f2f769
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/util/NeedsResourceImpl.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs.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.eclipse.papyrus.eastadl.annex.needs.util.NeedsResourceFactoryImpl
+ * @generated
+ */
+public class NeedsResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public NeedsResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //NeedsResourceImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/util/NeedsSwitch.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/util/NeedsSwitch.java
new file mode 100644
index 00000000000..8f6bb66ed6c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/util/NeedsSwitch.java
@@ -0,0 +1,417 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.eastadl.annex.needs.ArchitecturalDescription;
+import org.eclipse.papyrus.eastadl.annex.needs.ArchitecturalModel;
+import org.eclipse.papyrus.eastadl.annex.needs.Architecture;
+import org.eclipse.papyrus.eastadl.annex.needs.BusinessOpportunity;
+import org.eclipse.papyrus.eastadl.annex.needs.Concept;
+import org.eclipse.papyrus.eastadl.annex.needs.Mission;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.ProblemStatement;
+import org.eclipse.papyrus.eastadl.annex.needs.ProductPositioning;
+import org.eclipse.papyrus.eastadl.annex.needs.Stakeholder;
+import org.eclipse.papyrus.eastadl.annex.needs.StakeholderNeed;
+import org.eclipse.papyrus.eastadl.annex.needs.VehicleSystem;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.annex.needs.NeedsPackage
+ * @generated
+ */
+public class NeedsSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static NeedsPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NeedsSwitch() {
+ if (modelPackage == null) {
+ modelPackage = NeedsPackage.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;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Architectural Description</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Architectural Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseArchitecturalDescription(ArchitecturalDescription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Architectural 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>Architectural Model</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseArchitecturalModel(ArchitecturalModel object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAElement(EAElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Packageable Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Packageable Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAPackageableElement(EAPackageableElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Architecture</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Architecture</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseArchitecture(Architecture object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Business Opportunity</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Business Opportunity</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBusinessOpportunity(BusinessOpportunity object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Concept</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Concept</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConcept(Concept object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Mission</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Mission</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMission(Mission object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Problem Statement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Problem Statement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseProblemStatement(ProblemStatement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Product Positioning</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Product Positioning</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseProductPositioning(ProductPositioning object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Stakeholder</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Stakeholder</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStakeholder(Stakeholder object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Stakeholder Need</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Stakeholder Need</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStakeholderNeed(StakeholderNeed object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Traceable 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>Traceable Specification</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTraceableSpecification(TraceableSpecification object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Vehicle System</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Vehicle System</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVehicleSystem(VehicleSystem 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;
+ }
+
+ /**
+ * 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 NeedsPackage.STAKEHOLDER: {
+ Stakeholder stakeholder = (Stakeholder)theEObject;
+ T result = caseStakeholder(stakeholder);
+ if (result == null) result = caseTraceableSpecification(stakeholder);
+ if (result == null) result = caseEAPackageableElement(stakeholder);
+ if (result == null) result = caseEAElement(stakeholder);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NeedsPackage.STAKEHOLDER_NEED: {
+ StakeholderNeed stakeholderNeed = (StakeholderNeed)theEObject;
+ T result = caseStakeholderNeed(stakeholderNeed);
+ if (result == null) result = caseTraceableSpecification(stakeholderNeed);
+ if (result == null) result = caseEAPackageableElement(stakeholderNeed);
+ if (result == null) result = caseEAElement(stakeholderNeed);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NeedsPackage.PROBLEM_STATEMENT: {
+ ProblemStatement problemStatement = (ProblemStatement)theEObject;
+ T result = caseProblemStatement(problemStatement);
+ if (result == null) result = caseTraceableSpecification(problemStatement);
+ if (result == null) result = caseEAPackageableElement(problemStatement);
+ if (result == null) result = caseEAElement(problemStatement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NeedsPackage.PRODUCT_POSITIONING: {
+ ProductPositioning productPositioning = (ProductPositioning)theEObject;
+ T result = caseProductPositioning(productPositioning);
+ if (result == null) result = caseTraceableSpecification(productPositioning);
+ if (result == null) result = caseEAPackageableElement(productPositioning);
+ if (result == null) result = caseEAElement(productPositioning);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NeedsPackage.BUSINESS_OPPORTUNITY: {
+ BusinessOpportunity businessOpportunity = (BusinessOpportunity)theEObject;
+ T result = caseBusinessOpportunity(businessOpportunity);
+ if (result == null) result = caseTraceableSpecification(businessOpportunity);
+ if (result == null) result = caseEAPackageableElement(businessOpportunity);
+ if (result == null) result = caseEAElement(businessOpportunity);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NeedsPackage.CONCEPT: {
+ Concept concept = (Concept)theEObject;
+ T result = caseConcept(concept);
+ if (result == null) result = caseEAElement(concept);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NeedsPackage.MISSION: {
+ Mission mission = (Mission)theEObject;
+ T result = caseMission(mission);
+ if (result == null) result = caseConcept(mission);
+ if (result == null) result = caseEAElement(mission);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NeedsPackage.VEHICLE_SYSTEM: {
+ VehicleSystem vehicleSystem = (VehicleSystem)theEObject;
+ T result = caseVehicleSystem(vehicleSystem);
+ if (result == null) result = caseConcept(vehicleSystem);
+ if (result == null) result = caseEAElement(vehicleSystem);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NeedsPackage.ARCHITECTURE: {
+ Architecture architecture = (Architecture)theEObject;
+ T result = caseArchitecture(architecture);
+ if (result == null) result = caseConcept(architecture);
+ if (result == null) result = caseEAElement(architecture);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NeedsPackage.ARCHITECTURAL_DESCRIPTION: {
+ ArchitecturalDescription architecturalDescription = (ArchitecturalDescription)theEObject;
+ T result = caseArchitecturalDescription(architecturalDescription);
+ if (result == null) result = caseConcept(architecturalDescription);
+ if (result == null) result = caseEAElement(architecturalDescription);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case NeedsPackage.ARCHITECTURAL_MODEL: {
+ ArchitecturalModel architecturalModel = (ArchitecturalModel)theEObject;
+ T result = caseArchitecturalModel(architecturalModel);
+ if (result == null) result = caseConcept(architecturalModel);
+ if (result == null) result = caseEAElement(architecturalModel);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+} //NeedsSwitch
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/util/NeedsXMLProcessor.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/util/NeedsXMLProcessor.java
new file mode 100644
index 00000000000..d71323324a3
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/annex/needs/util/NeedsXMLProcessor.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.annex.needs.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.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NeedsXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NeedsXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ NeedsPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the NeedsResourceFactoryImpl 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 NeedsResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new NeedsResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //NeedsXMLProcessor
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/Behavior.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/Behavior.java
new file mode 100644
index 00000000000..ecf31f2e345
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/Behavior.java
@@ -0,0 +1,154 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.behavior;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Behavior</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Behavior is a container of FunctionBehaviors, it enables to regroup the behaviors assigned to functions in a particular context on which TraceableSpecifications can be applied. This can take any appropriate form depending on the language implementation (for instance in a UML implementation it could be a Package).
+ *
+ * The collection of functional behaviors can be done across the EAST-ADL2 abstraction levels.
+ *
+ * Semantics:
+ * This element has the same role and semantics as Context, but for behavioral aspects.
+ *
+ * Extension: BehavioredClassifier
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.Behavior#getBehavior <em>Behavior</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.Behavior#getFunctionTrigger <em>Function Trigger</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.Behavior#getModeGroup <em>Mode Group</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.Behavior#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.Behavior#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.behavior.BehaviorPackage#getBehavior()
+ * @model
+ * @generated
+ */
+public interface Behavior extends Context {
+ /**
+ * Returns the value of the '<em><b>Behavior</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.behavior.FunctionBehavior}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Behavior</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Behavior</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.behavior.BehaviorPackage#getBehavior_Behavior()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<FunctionBehavior> getBehavior();
+
+ /**
+ * Returns the value of the '<em><b>Function Trigger</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.behavior.FunctionTrigger}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Function Trigger</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Function Trigger</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.behavior.BehaviorPackage#getBehavior_FunctionTrigger()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<FunctionTrigger> getFunctionTrigger();
+
+ /**
+ * Returns the value of the '<em><b>Mode Group</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.behavior.ModeGroup}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Mode Group</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>Mode Group</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.behavior.BehaviorPackage#getBehavior_ModeGroup()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<ModeGroup> getModeGroup();
+
+ /**
+ * 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.eclipse.papyrus.eastadl.behavior.BehaviorPackage#getBehavior_Base_Package()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.behavior.Behavior#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>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.eclipse.papyrus.eastadl.behavior.BehaviorPackage#getBehavior_Base_Class()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.behavior.Behavior#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);
+
+} // Behavior
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/BehaviorFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/BehaviorFactory.java
new file mode 100644
index 00000000000..fac1b80d2ca
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/BehaviorFactory.java
@@ -0,0 +1,88 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.behavior;
+
+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.eclipse.papyrus.eastadl.behavior.BehaviorPackage
+ * @generated
+ */
+public interface BehaviorFactory extends EFactory {
+
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ BehaviorFactory eINSTANCE = org.eclipse.papyrus.eastadl.behavior.impl.BehaviorFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Behavior</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Behavior</em>'.
+ * @generated
+ */
+ Behavior createBehavior();
+
+ /**
+ * Returns a new object of class '<em>Function Behavior</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Function Behavior</em>'.
+ * @generated
+ */
+ FunctionBehavior createFunctionBehavior();
+
+ /**
+ * Returns a new object of class '<em>Function Trigger</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Function Trigger</em>'.
+ * @generated
+ */
+ FunctionTrigger createFunctionTrigger();
+
+ /**
+ * Returns a new object of class '<em>Mode</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Mode</em>'.
+ * @generated
+ */
+ Mode createMode();
+
+ /**
+ * Returns a new object of class '<em>Mode Group</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Mode Group</em>'.
+ * @generated
+ */
+ ModeGroup createModeGroup();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ BehaviorPackage getBehaviorPackage();
+
+} // BehaviorFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/BehaviorPackage.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/BehaviorPackage.java
new file mode 100644
index 00000000000..c2b15097acb
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/BehaviorPackage.java
@@ -0,0 +1,1177 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.behavior;
+
+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.eastadl.infrastructure.elements.ElementsPackage;
+
+
+/**
+ * <!-- 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 --> <!-- begin-model-doc --> There are needs for several different forms of
+ * behavioral descriptions because of the very different requirements in the various automotive
+ * application domains. For these different forms of behavior specifications, varying tools will be
+ * used by different automotive companies and suppliers. Therefore a support for legacy tools and
+ * legacy models will be provided within the EAST-ADL2. With the introduced concepts it will be
+ * possible to connect external behavioral descriptions to EAST-ADL2 elements, e.g. connect it to
+ * the respective software function and associate requirements and test cases with it. In addition,
+ * a native behavioral notation can be used. This means that the defined behavior is an integrated
+ * part of the system model and it is recognized by EAST-ADL2-compliant tools. Note that this
+ * chapter only addresses the algorithmic behavior of the EAST-ADL2 structural entities. The timing
+ * and synchronization between e.g. ADL functions is part of the structural definition through
+ * timing attributes, precedence relations, task allocation, etc. The purpose of the metaclasses in
+ * the Behavior subprofile is to specify rigorously ("formally") the Behavior concepts for the
+ * specific domain. This section contains a specification for each individual stereotype in the
+ * Behavior subprofile.
+ *
+ * Overview: The set of stereotypes is deliberately kept minimal. The idea here is to distinguish
+ * between externally defined behaviors thanks to some tools such as ASCET or Simulink and natively
+ * defined behaviors. The latter are connected to UML::Behavior, so that in principle one can reuse
+ * the constructs provided by UML to define native behaviors in EAST-ADL2. Yet as described in the
+ * deliverable 3.2 some semantics mismatches may occur. The reader is asked to refer to the results
+ * summarized in deliverable 3.2 on behavior modeling.Further investigation is needed here. <!--
+ * end-model-doc -->
+ *
+ * @see org.eclipse.papyrus.eastadl.behavior.BehaviorFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface BehaviorPackage extends EPackage {
+
+ /**
+ * <!-- 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.eclipse.papyrus.eastadl.behavior.impl.FunctionBehaviorImpl <em>Function Behavior</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.behavior.impl.FunctionBehaviorImpl
+ * @see org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl#getFunctionBehavior()
+ * @generated
+ */
+ EClass FUNCTION_BEHAVIOR = eINSTANCE.getFunctionBehavior();
+
+ /**
+ * The meta object literal for the '<em><b>Base Behavior</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION_BEHAVIOR__BASE_BEHAVIOR = eINSTANCE.getFunctionBehavior_Base_Behavior();
+
+ /**
+ * The meta object literal for the '<em><b>Path</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FUNCTION_BEHAVIOR__PATH = eINSTANCE.getFunctionBehavior_Path();
+
+ /**
+ * The meta object literal for the '<em><b>Representation</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FUNCTION_BEHAVIOR__REPRESENTATION = eINSTANCE.getFunctionBehavior_Representation();
+
+ /**
+ * The meta object literal for the '<em><b>Function</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION_BEHAVIOR__FUNCTION = eINSTANCE.getFunctionBehavior_Function();
+
+ /**
+ * The meta object literal for the '<em><b>Mode</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION_BEHAVIOR__MODE = eINSTANCE.getFunctionBehavior_Mode();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.behavior.impl.BehaviorImpl <em>Behavior</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.behavior.impl.BehaviorImpl
+ * @see org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl#getBehavior()
+ * @generated
+ */
+ EClass BEHAVIOR = eINSTANCE.getBehavior();
+
+ /**
+ * The meta object literal for the '<em><b>Behavior</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BEHAVIOR__BEHAVIOR = eINSTANCE.getBehavior_Behavior();
+
+ /**
+ * The meta object literal for the '<em><b>Function Trigger</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BEHAVIOR__FUNCTION_TRIGGER = eINSTANCE.getBehavior_FunctionTrigger();
+
+ /**
+ * The meta object literal for the '<em><b>Mode Group</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BEHAVIOR__MODE_GROUP = eINSTANCE.getBehavior_ModeGroup();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BEHAVIOR__BASE_PACKAGE = eINSTANCE.getBehavior_Base_Package();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BEHAVIOR__BASE_CLASS = eINSTANCE.getBehavior_Base_Class();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.behavior.impl.FunctionTriggerImpl <em>Function Trigger</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.behavior.impl.FunctionTriggerImpl
+ * @see org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl#getFunctionTrigger()
+ * @generated
+ */
+ EClass FUNCTION_TRIGGER = eINSTANCE.getFunctionTrigger();
+
+ /**
+ * The meta object literal for the '<em><b>Trigger Condition</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FUNCTION_TRIGGER__TRIGGER_CONDITION = eINSTANCE.getFunctionTrigger_TriggerCondition();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION_TRIGGER__BASE_CLASS = eINSTANCE.getFunctionTrigger_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Trigger Policy</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FUNCTION_TRIGGER__TRIGGER_POLICY = eINSTANCE.getFunctionTrigger_TriggerPolicy();
+
+ /**
+ * The meta object literal for the '<em><b>Mode</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION_TRIGGER__MODE = eINSTANCE.getFunctionTrigger_Mode();
+
+ /**
+ * The meta object literal for the '<em><b>Function</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION_TRIGGER__FUNCTION = eINSTANCE.getFunctionTrigger_Function();
+
+ /**
+ * The meta object literal for the '<em><b>Port</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION_TRIGGER__PORT = eINSTANCE.getFunctionTrigger_Port();
+
+ /**
+ * The meta object literal for the '<em><b>Function Prototype</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION_TRIGGER__FUNCTION_PROTOTYPE = eINSTANCE.getFunctionTrigger_FunctionPrototype();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.behavior.impl.ModeGroupImpl <em>Mode Group</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.behavior.impl.ModeGroupImpl
+ * @see org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl#getModeGroup()
+ * @generated
+ */
+ EClass MODE_GROUP = eINSTANCE.getModeGroup();
+
+ /**
+ * The meta object literal for the '<em><b>Precondition</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MODE_GROUP__PRECONDITION = eINSTANCE.getModeGroup_Precondition();
+
+ /**
+ * The meta object literal for the '<em><b>Mode</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MODE_GROUP__MODE = eINSTANCE.getModeGroup_Mode();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MODE_GROUP__BASE_CLASS = eINSTANCE.getModeGroup_Base_Class();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.behavior.impl.ModeImpl <em>Mode</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.behavior.impl.ModeImpl
+ * @see org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl#getMode()
+ * @generated
+ */
+ EClass MODE = eINSTANCE.getMode();
+
+ /**
+ * The meta object literal for the '<em><b>Condition</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MODE__CONDITION = eINSTANCE.getMode_Condition();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MODE__BASE_CLASS = eINSTANCE.getMode_Base_Class();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.behavior.FunctionBehaviorKind <em>Function Behavior Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.behavior.FunctionBehaviorKind
+ * @see org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl#getFunctionBehaviorKind()
+ * @generated
+ */
+ EEnum FUNCTION_BEHAVIOR_KIND = eINSTANCE.getFunctionBehaviorKind();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.behavior.TriggerPolicyKind <em>Trigger Policy Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.behavior.TriggerPolicyKind
+ * @see org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl#getTriggerPolicyKind()
+ * @generated
+ */
+ EEnum TRIGGER_POLICY_KIND = eINSTANCE.getTriggerPolicyKind();
+
+ }
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "behavior";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.papyrusuml.org/EAST-ADL2/Behavior/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "Behavior";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ BehaviorPackage eINSTANCE = org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.behavior.impl.FunctionBehaviorImpl <em>Function Behavior</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.behavior.impl.FunctionBehaviorImpl
+ * @see org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl#getFunctionBehavior()
+ * @generated
+ */
+ int FUNCTION_BEHAVIOR = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.behavior.impl.BehaviorImpl <em>Behavior</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.behavior.impl.BehaviorImpl
+ * @see org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl#getBehavior()
+ * @generated
+ */
+ int BEHAVIOR = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.behavior.impl.FunctionTriggerImpl <em>Function Trigger</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.behavior.impl.FunctionTriggerImpl
+ * @see org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl#getFunctionTrigger()
+ * @generated
+ */
+ int FUNCTION_TRIGGER = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.behavior.impl.ModeGroupImpl <em>Mode Group</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.behavior.impl.ModeGroupImpl
+ * @see org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl#getModeGroup()
+ * @generated
+ */
+ int MODE_GROUP = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.behavior.impl.ModeImpl <em>Mode</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.behavior.impl.ModeImpl
+ * @see org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl#getMode()
+ * @generated
+ */
+ int MODE = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_BEHAVIOR__NAME = ElementsPackage.CONTEXT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_BEHAVIOR__BASE_NAMED_ELEMENT = ElementsPackage.CONTEXT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_BEHAVIOR__OWNED_COMMENT = ElementsPackage.CONTEXT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_BEHAVIOR__TRACEABLE_SPECIFICATION = ElementsPackage.CONTEXT__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_BEHAVIOR__OWNED_RELATIONSHIP = ElementsPackage.CONTEXT__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Base Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_BEHAVIOR__BASE_BEHAVIOR = ElementsPackage.CONTEXT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Path</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_BEHAVIOR__PATH = ElementsPackage.CONTEXT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Representation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_BEHAVIOR__REPRESENTATION = ElementsPackage.CONTEXT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Mode</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_BEHAVIOR__MODE = ElementsPackage.CONTEXT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Function</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_BEHAVIOR__FUNCTION = ElementsPackage.CONTEXT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Function Behavior</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_BEHAVIOR_FEATURE_COUNT = ElementsPackage.CONTEXT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODE__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODE__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODE__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Condition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODE__CONDITION = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODE__BASE_CLASS = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Mode</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODE_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR__NAME = ElementsPackage.CONTEXT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR__BASE_NAMED_ELEMENT = ElementsPackage.CONTEXT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR__OWNED_COMMENT = ElementsPackage.CONTEXT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR__TRACEABLE_SPECIFICATION = ElementsPackage.CONTEXT__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR__OWNED_RELATIONSHIP = ElementsPackage.CONTEXT__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Behavior</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR__BEHAVIOR = ElementsPackage.CONTEXT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Function Trigger</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR__FUNCTION_TRIGGER = ElementsPackage.CONTEXT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Mode Group</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR__MODE_GROUP = ElementsPackage.CONTEXT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR__BASE_PACKAGE = ElementsPackage.CONTEXT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR__BASE_CLASS = ElementsPackage.CONTEXT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Behavior</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BEHAVIOR_FEATURE_COUNT = ElementsPackage.CONTEXT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_TRIGGER__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_TRIGGER__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_TRIGGER__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Trigger Condition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_TRIGGER__TRIGGER_CONDITION = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_TRIGGER__BASE_CLASS = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Trigger Policy</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_TRIGGER__TRIGGER_POLICY = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Mode</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_TRIGGER__MODE = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Function</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_TRIGGER__FUNCTION = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Port</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_TRIGGER__PORT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Function Prototype</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_TRIGGER__FUNCTION_PROTOTYPE = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The number of structural features of the '<em>Function Trigger</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_TRIGGER_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODE_GROUP__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODE_GROUP__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODE_GROUP__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODE_GROUP__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODE_GROUP__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Precondition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODE_GROUP__PRECONDITION = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Mode</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODE_GROUP__MODE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODE_GROUP__BASE_CLASS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Mode Group</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODE_GROUP_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.behavior.FunctionBehaviorKind <em>Function Behavior Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.behavior.FunctionBehaviorKind
+ * @see org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl#getFunctionBehaviorKind()
+ * @generated
+ */
+ int FUNCTION_BEHAVIOR_KIND = 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.behavior.TriggerPolicyKind <em>Trigger Policy Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.behavior.TriggerPolicyKind
+ * @see org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl#getTriggerPolicyKind()
+ * @generated
+ */
+ int TRIGGER_POLICY_KIND = 6;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.behavior.Behavior <em>Behavior</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Behavior</em>'.
+ * @see org.eclipse.papyrus.eastadl.behavior.Behavior
+ * @generated
+ */
+ EClass getBehavior();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.behavior.Behavior#getBehavior <em>Behavior</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Behavior</em>'.
+ * @see org.eclipse.papyrus.eastadl.behavior.Behavior#getBehavior()
+ * @see #getBehavior()
+ * @generated
+ */
+ EReference getBehavior_Behavior();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.behavior.Behavior#getFunctionTrigger <em>Function Trigger</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Function Trigger</em>'.
+ * @see org.eclipse.papyrus.eastadl.behavior.Behavior#getFunctionTrigger()
+ * @see #getBehavior()
+ * @generated
+ */
+ EReference getBehavior_FunctionTrigger();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.behavior.Behavior#getModeGroup <em>Mode Group</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Mode Group</em>'.
+ * @see org.eclipse.papyrus.eastadl.behavior.Behavior#getModeGroup()
+ * @see #getBehavior()
+ * @generated
+ */
+ EReference getBehavior_ModeGroup();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.behavior.Behavior#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.eclipse.papyrus.eastadl.behavior.Behavior#getBase_Package()
+ * @see #getBehavior()
+ * @generated
+ */
+ EReference getBehavior_Base_Package();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.behavior.Behavior#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.eclipse.papyrus.eastadl.behavior.Behavior#getBase_Class()
+ * @see #getBehavior()
+ * @generated
+ */
+ EReference getBehavior_Base_Class();
+
+ /**
+ * 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
+ */
+ BehaviorFactory getBehaviorFactory();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.behavior.FunctionBehavior <em>Function Behavior</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Function Behavior</em>'.
+ * @see org.eclipse.papyrus.eastadl.behavior.FunctionBehavior
+ * @generated
+ */
+ EClass getFunctionBehavior();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.behavior.FunctionBehavior#getBase_Behavior <em>Base Behavior</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Behavior</em>'.
+ * @see org.eclipse.papyrus.eastadl.behavior.FunctionBehavior#getBase_Behavior()
+ * @see #getFunctionBehavior()
+ * @generated
+ */
+ EReference getFunctionBehavior_Base_Behavior();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.behavior.FunctionBehavior#getFunction <em>Function</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Function</em>'.
+ * @see org.eclipse.papyrus.eastadl.behavior.FunctionBehavior#getFunction()
+ * @see #getFunctionBehavior()
+ * @generated
+ */
+ EReference getFunctionBehavior_Function();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.behavior.FunctionBehavior#getMode <em>Mode</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Mode</em>'.
+ * @see org.eclipse.papyrus.eastadl.behavior.FunctionBehavior#getMode()
+ * @see #getFunctionBehavior()
+ * @generated
+ */
+ EReference getFunctionBehavior_Mode();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.behavior.FunctionBehavior#getPath <em>Path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Path</em>'.
+ * @see org.eclipse.papyrus.eastadl.behavior.FunctionBehavior#getPath()
+ * @see #getFunctionBehavior()
+ * @generated
+ */
+ EAttribute getFunctionBehavior_Path();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.behavior.FunctionBehavior#getRepresentation <em>Representation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Representation</em>'.
+ * @see org.eclipse.papyrus.eastadl.behavior.FunctionBehavior#getRepresentation()
+ * @see #getFunctionBehavior()
+ * @generated
+ */
+ EAttribute getFunctionBehavior_Representation();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.eastadl.behavior.FunctionBehaviorKind <em>Function Behavior Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Function Behavior Kind</em>'.
+ * @see org.eclipse.papyrus.eastadl.behavior.FunctionBehaviorKind
+ * @generated
+ */
+ EEnum getFunctionBehaviorKind();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.behavior.FunctionTrigger <em>Function Trigger</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Function Trigger</em>'.
+ * @see org.eclipse.papyrus.eastadl.behavior.FunctionTrigger
+ * @generated
+ */
+ EClass getFunctionTrigger();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.behavior.FunctionTrigger#getFunction <em>Function</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Function</em>'.
+ * @see org.eclipse.papyrus.eastadl.behavior.FunctionTrigger#getFunction()
+ * @see #getFunctionTrigger()
+ * @generated
+ */
+ EReference getFunctionTrigger_Function();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.behavior.FunctionTrigger#getFunctionPrototype <em>Function Prototype</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Function Prototype</em>'.
+ * @see org.eclipse.papyrus.eastadl.behavior.FunctionTrigger#getFunctionPrototype()
+ * @see #getFunctionTrigger()
+ * @generated
+ */
+ EReference getFunctionTrigger_FunctionPrototype();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.behavior.FunctionTrigger#getMode <em>Mode</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Mode</em>'.
+ * @see org.eclipse.papyrus.eastadl.behavior.FunctionTrigger#getMode()
+ * @see #getFunctionTrigger()
+ * @generated
+ */
+ EReference getFunctionTrigger_Mode();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.behavior.FunctionTrigger#getPort <em>Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Port</em>'.
+ * @see org.eclipse.papyrus.eastadl.behavior.FunctionTrigger#getPort()
+ * @see #getFunctionTrigger()
+ * @generated
+ */
+ EReference getFunctionTrigger_Port();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.behavior.FunctionTrigger#getTriggerCondition <em>Trigger Condition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Trigger Condition</em>'.
+ * @see org.eclipse.papyrus.eastadl.behavior.FunctionTrigger#getTriggerCondition()
+ * @see #getFunctionTrigger()
+ * @generated
+ */
+ EAttribute getFunctionTrigger_TriggerCondition();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.behavior.FunctionTrigger#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.eclipse.papyrus.eastadl.behavior.FunctionTrigger#getBase_Class()
+ * @see #getFunctionTrigger()
+ * @generated
+ */
+ EReference getFunctionTrigger_Base_Class();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.behavior.FunctionTrigger#getTriggerPolicy <em>Trigger Policy</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Trigger Policy</em>'.
+ * @see org.eclipse.papyrus.eastadl.behavior.FunctionTrigger#getTriggerPolicy()
+ * @see #getFunctionTrigger()
+ * @generated
+ */
+ EAttribute getFunctionTrigger_TriggerPolicy();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.behavior.Mode <em>Mode</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Mode</em>'.
+ * @see org.eclipse.papyrus.eastadl.behavior.Mode
+ * @generated
+ */
+ EClass getMode();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.behavior.Mode#getCondition <em>Condition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Condition</em>'.
+ * @see org.eclipse.papyrus.eastadl.behavior.Mode#getCondition()
+ * @see #getMode()
+ * @generated
+ */
+ EAttribute getMode_Condition();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.behavior.Mode#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.eclipse.papyrus.eastadl.behavior.Mode#getBase_Class()
+ * @see #getMode()
+ * @generated
+ */
+ EReference getMode_Base_Class();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.behavior.ModeGroup <em>Mode Group</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Mode Group</em>'.
+ * @see org.eclipse.papyrus.eastadl.behavior.ModeGroup
+ * @generated
+ */
+ EClass getModeGroup();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.behavior.ModeGroup#getMode <em>Mode</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Mode</em>'.
+ * @see org.eclipse.papyrus.eastadl.behavior.ModeGroup#getMode()
+ * @see #getModeGroup()
+ * @generated
+ */
+ EReference getModeGroup_Mode();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.behavior.ModeGroup#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.eclipse.papyrus.eastadl.behavior.ModeGroup#getBase_Class()
+ * @see #getModeGroup()
+ * @generated
+ */
+ EReference getModeGroup_Base_Class();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.behavior.ModeGroup#getPrecondition <em>Precondition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Precondition</em>'.
+ * @see org.eclipse.papyrus.eastadl.behavior.ModeGroup#getPrecondition()
+ * @see #getModeGroup()
+ * @generated
+ */
+ EAttribute getModeGroup_Precondition();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.eastadl.behavior.TriggerPolicyKind <em>Trigger Policy Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Trigger Policy Kind</em>'.
+ * @see org.eclipse.papyrus.eastadl.behavior.TriggerPolicyKind
+ * @generated
+ */
+ EEnum getTriggerPolicyKind();
+
+} // BehaviorPackage
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/FunctionBehavior.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/FunctionBehavior.java
new file mode 100644
index 00000000000..f01c1b63988
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/FunctionBehavior.java
@@ -0,0 +1,199 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.behavior;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType;
+import org.eclipse.uml2.uml.Behavior;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Function Behavior</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * FunctionBehavior represents the behavior of a particular FunctionType - referred to by the association to FunctionType. What is meant by behavior is a transfer function performing some data computation (in case of FlowPort interaction) or an operation that can be called by another function (in case of ClientServer interaction). The representation property indicates the kind of representation used to describe the behavior (see FunctionBehaviorKind). The representation itself (e.g defined in an external model file) is identified by a URL String in the path property. If the representation is provided in the same model file as the system itself, the path property is not used. It is merely a placeholder with the purpose of containing information about and links to the external behavioral model.
+ *
+ * FunctionBehavior may refer to execution modes - by the association to the element Mode. This is not mandatory, however when provided, the relation indicates the list of execution Modes in which the FunctionBehavior can potentially be executed (see element Mode).
+ *
+ * The triggering of a FunctionBehavior is unknown to the behavior. It is defined by FunctionTriggers (see this element).
+ *
+ * Note that the association between FunctionBehavior and FunctionType is specified as a one-way navigable link from FunctionBehavior to FunctionType: what this means is that the EAST-ADL2 language specification does not require that a FunctionType be aware of the FunctionBehavior it is assigned to. Only the navigation from behavior to function is mandatory, the implementation of a reverse link might however be provided depending on the tool support.
+ *
+ * Although each FunctionBehavior can refer to at most one FunctionType, note that several FunctionBehaviors can be referring to the same FunctionType. In this case when a FunctionType has several behaviors, only one behavior shall be active at any given time instant, i.e. no concurrent behaviors are allowed in EAST-ADL2 functions. For instance we cannot have one active behavior in Simulink and one in Modelica. Both can be referenced in the same function but at any given time, only one is executable. Conditions such as modes, etc. must prevent two behaviors being potentially active.
+ *
+ * Note also that FunctionBehaviors are assigned to FunctionTypes and not to FunctionPrototypes. This means that among a set of FunctionPrototypes, which share the same type, behaviors are also shared. However when a FunctionBehavior refer to Modes, which are referred to by different FunctionTriggers, different triggering conditions can be provided among a set of FunctionPrototypes for the same set of behaviors - see FunctionTrigger.
+ *
+ * In the case where the identified FunctionType is decomposed in parts, the behavior is a specification for the composed behavior of the FunctionType.
+ *
+ *
+ * Semantics:
+ * Though the representation provided to a FunctionBehavior follows the semantics of the behavioral representation used (for instance SIMULINK, ASCET, etc.). Externally, in relation to the EAST-ADL2 model, however, the FunctionBehavior has synchronous execution semantics:
+ * 1. Read inputs from input ports
+ * 2. Execute Behavior with fixed inputs (run to completion)
+ * 3. Provide outputs to output ports
+ *
+ * The data transfer between the EAST-ADL2 ports and the FunctionBehavior is representation specific and considered part of the execution of the FunctionBehavior.
+ *
+ *
+ *
+ * Notation:
+ * FunctionBehavior appears, if shown in a diagram, as a solid-outline rectangle with "Behavior" at the top right. The rectangle contains the name.
+ *
+ *
+ * Extension: Behavior
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.FunctionBehavior#getBase_Behavior <em>Base Behavior</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.FunctionBehavior#getPath <em>Path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.FunctionBehavior#getRepresentation <em>Representation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.FunctionBehavior#getMode <em>Mode</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.FunctionBehavior#getFunction <em>Function</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.behavior.BehaviorPackage#getFunctionBehavior()
+ * @model
+ * @generated
+ */
+public interface FunctionBehavior extends Context {
+ /**
+ * Returns the value of the '<em><b>Base Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Behavior</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 Behavior</em>' reference.
+ * @see #setBase_Behavior(Behavior)
+ * @see org.eclipse.papyrus.eastadl.behavior.BehaviorPackage#getFunctionBehavior_Base_Behavior()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Behavior getBase_Behavior();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.behavior.FunctionBehavior#getBase_Behavior <em>Base Behavior</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Behavior</em>' reference.
+ * @see #getBase_Behavior()
+ * @generated
+ */
+ void setBase_Behavior(Behavior value);
+
+ /**
+ * Returns the value of the '<em><b>Function</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Function</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Function</em>' reference.
+ * @see #setFunction(FunctionType)
+ * @see org.eclipse.papyrus.eastadl.behavior.BehaviorPackage#getFunctionBehavior_Function()
+ * @model ordered="false"
+ * @generated
+ */
+ FunctionType getFunction();
+
+ /**
+ * Returns the value of the '<em><b>Mode</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.behavior.Mode}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Mode</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.behavior.BehaviorPackage#getFunctionBehavior_Mode()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Mode> getMode();
+
+ /**
+ * Returns the value of the '<em><b>Path</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The path to the file or model entity containing the ExternalBehavior
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Path</em>' attribute.
+ * @see #setPath(String)
+ * @see org.eclipse.papyrus.eastadl.behavior.BehaviorPackage#getFunctionBehavior_Path()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" ordered="false"
+ * @generated
+ */
+ String getPath();
+
+ /**
+ * Returns the value of the '<em><b>Representation</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.eastadl.behavior.FunctionBehaviorKind}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The type of behavior that the ExternalBehavior represents.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Representation</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.behavior.FunctionBehaviorKind
+ * @see #setRepresentation(FunctionBehaviorKind)
+ * @see org.eclipse.papyrus.eastadl.behavior.BehaviorPackage#getFunctionBehavior_Representation()
+ * @model unique="false" required="true" ordered="false"
+ * @generated
+ */
+ FunctionBehaviorKind getRepresentation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.behavior.FunctionBehavior#getFunction <em>Function</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Function</em>' reference.
+ * @see #getFunction()
+ * @generated
+ */
+ void setFunction(FunctionType value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.behavior.FunctionBehavior#getPath <em>Path</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Path</em>' attribute.
+ * @see #getPath()
+ * @generated
+ */
+ void setPath(String value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.behavior.FunctionBehavior#getRepresentation <em>Representation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Representation</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.behavior.FunctionBehaviorKind
+ * @see #getRepresentation()
+ * @generated
+ */
+ void setRepresentation(FunctionBehaviorKind value);
+
+} // FunctionBehavior
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/FunctionBehaviorKind.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/FunctionBehaviorKind.java
new file mode 100644
index 00000000000..8462fde351d
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/FunctionBehaviorKind.java
@@ -0,0 +1,390 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.behavior;
+
+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>Function Behavior Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * FunctionBehaviorKind is an enumeration which lists the various representations, used to describe a FunctionBehavior. It is used as a property of a FunctionBehavior. Several representations are listed; however one can always extend this list by using the literal OTHER.
+ *
+ * Semantics:
+ * Distinction between UML and MARTE comes from the slight differences in the behavioral definitions (namely concerning data-flow oriented behaviors).
+ *
+ * It shall be noted that though one can use several languages to provide a representation of a FunctionBehavior, the semantics shall remain compliant with the overall EAST-ADL2 execution semantics.
+ *
+ * Extension:
+ * Enumeration, no extension.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.behavior.BehaviorPackage#getFunctionBehaviorKind()
+ * @model
+ * @generated
+ */
+public enum FunctionBehaviorKind implements Enumerator {
+ /**
+ * The '<em><b>ASCET</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ASCET_VALUE
+ * @generated
+ * @ordered
+ */
+ ASCET(0, "ASCET", "ASCET"),
+
+ /**
+ * The '<em><b>OTHER</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #OTHER_VALUE
+ * @generated
+ * @ordered
+ */
+ OTHER(1, "OTHER", "OTHER"),
+
+ /**
+ * The '<em><b>SCADE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SCADE_VALUE
+ * @generated
+ * @ordered
+ */
+ SCADE(2, "SCADE", "SCADE"),
+
+ /**
+ * The '<em><b>SDL</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SDL_VALUE
+ * @generated
+ * @ordered
+ */
+ SDL(3, "SDL", "SDL"),
+
+ /**
+ * The '<em><b>SIMULINK</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SIMULINK_VALUE
+ * @generated
+ * @ordered
+ */
+ SIMULINK(4, "SIMULINK", "SIMULINK"),
+
+ /**
+ * The '<em><b>STATEMATE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #STATEMATE_VALUE
+ * @generated
+ * @ordered
+ */
+ STATEMATE(5, "STATEMATE", "STATEMATE"), /**
+ * The '<em><b>MARTE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #MARTE_VALUE
+ * @generated
+ * @ordered
+ */
+ MARTE(6, "MARTE", "MARTE"), /**
+ * The '<em><b>UML</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UML_VALUE
+ * @generated
+ * @ordered
+ */
+ UML(7, "UML", "UML");
+
+ /**
+ * The '<em><b>ASCET</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>ASCET</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ASCET
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int ASCET_VALUE = 0;
+
+ /**
+ * The '<em><b>OTHER</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>OTHER</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #OTHER
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int OTHER_VALUE = 1;
+
+ /**
+ * The '<em><b>SCADE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>SCADE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #SCADE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int SCADE_VALUE = 2;
+
+ /**
+ * The '<em><b>SDL</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>SDL</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #SDL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int SDL_VALUE = 3;
+
+ /**
+ * The '<em><b>SIMULINK</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>SIMULINK</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #SIMULINK
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int SIMULINK_VALUE = 4;
+
+ /**
+ * The '<em><b>STATEMATE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>STATEMATE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #STATEMATE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int STATEMATE_VALUE = 5;
+
+ /**
+ * The '<em><b>MARTE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>MARTE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #MARTE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int MARTE_VALUE = 6;
+
+ /**
+ * The '<em><b>UML</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>UML</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #UML
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int UML_VALUE = 7;
+
+ /**
+ * An array of all the '<em><b>Function Behavior Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final FunctionBehaviorKind[] VALUES_ARRAY =
+ new FunctionBehaviorKind[] {
+ ASCET,
+ OTHER,
+ SCADE,
+ SDL,
+ SIMULINK,
+ STATEMATE,
+ MARTE,
+ UML,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Function Behavior Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<FunctionBehaviorKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Function Behavior Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static FunctionBehaviorKind get(int value) {
+ switch (value) {
+ case ASCET_VALUE: return ASCET;
+ case OTHER_VALUE: return OTHER;
+ case SCADE_VALUE: return SCADE;
+ case SDL_VALUE: return SDL;
+ case SIMULINK_VALUE: return SIMULINK;
+ case STATEMATE_VALUE: return STATEMATE;
+ case MARTE_VALUE: return MARTE;
+ case UML_VALUE: return UML;
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Function Behavior Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static FunctionBehaviorKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ FunctionBehaviorKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Function Behavior Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static FunctionBehaviorKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ FunctionBehaviorKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ 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 FunctionBehaviorKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * 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;
+ }
+
+} //FunctionBehaviorKind
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/FunctionTrigger.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/FunctionTrigger.java
new file mode 100644
index 00000000000..fb4cf541602
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/FunctionTrigger.java
@@ -0,0 +1,240 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.behavior;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Function Trigger</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * FunctionTrigger represents the triggering parameters necessary to define the execution of an identified FunctionType or FunctionPrototype. When referring to a FunctionType, a FunctionTrigger applies to all FunctionPrototypes of the given type. When referring to a FunctionPrototype, the trigger is only valid for this particular FunctionPrototype.
+ *
+ * Triggering is defined either as event-driven or time-driven - depending on the property triggerPolicy. If set to TIME, the timing constraint is defined with an event constraint associated with the Function’s or FunctionPrototype’s EventFunction. The function event refers to the activation of the function. If set to EVENT, one or several ports of the Function triggers the function, i.e. activates the function. In both cases, a triggerCondition is provided in the form of a Boolean expression that must evaluate to true for the function to execute. The triggerCondition syntax and grammar is unspecified.
+ *
+ * In addition a FunctionTrigger may refer to a list of Modes in which the trigger will be considered as potentially active. Because of FunctionBehaviors may also refer to Modes, it is thus possible to arrange various function configurations for which different sets of triggers and behaviors are active. And this, at various level of granularity, either with a type-wise scope (by referring to a FunctionType) or specifically at prototype level (by referring to a FunctionPrototype).
+ *
+ * Note that several FunctionTriggers may be assigned to the same Function (Type or Prototype), for instance to define alternative trigger conditions and/or timing constraints.
+ *
+ *
+ * Semantics:
+ * Association Mode defines in which modes the trigger is active
+ *
+ * It is possible to have multiple triggers on a function, e.g. a slow period complemented with an event trigger allows fast response when needed but a minimal execution rate.
+ *
+ *
+ * Constraints:
+ * [1] The port association must not be empty when triggerPolicy is EVENT.
+ *
+ * [2] The port association is empty when triggerPolicy is TIME.
+ *
+ * [3] Function and functionPrototype are mutually exclusive associations. A FunctionTrigger either identifies a FunctionType or a FunctionPrototype as its target function, but not both.
+ *
+ * [4] Only FunctionFlowPort of FlowDirection=in shall be referred to in the association port and at least one of them shall trigger the function
+ *
+ * Extension:
+ * Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.FunctionTrigger#getTriggerCondition <em>Trigger Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.FunctionTrigger#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.FunctionTrigger#getTriggerPolicy <em>Trigger Policy</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.FunctionTrigger#getMode <em>Mode</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.FunctionTrigger#getFunction <em>Function</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.FunctionTrigger#getPort <em>Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.FunctionTrigger#getFunctionPrototype <em>Function Prototype</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.behavior.BehaviorPackage#getFunctionTrigger()
+ * @model
+ * @generated
+ */
+public interface FunctionTrigger extends EAElement {
+ /**
+ * Returns the value of the '<em><b>Function</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Function</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Function</em>' reference.
+ * @see #setFunction(FunctionType)
+ * @see org.eclipse.papyrus.eastadl.behavior.BehaviorPackage#getFunctionTrigger_Function()
+ * @model ordered="false"
+ * @generated
+ */
+ FunctionType getFunction();
+
+ /**
+ * Returns the value of the '<em><b>Function Prototype</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Function Prototype</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Function Prototype</em>' reference.
+ * @see #setFunctionPrototype(FunctionPrototype)
+ * @see org.eclipse.papyrus.eastadl.behavior.BehaviorPackage#getFunctionTrigger_FunctionPrototype()
+ * @model ordered="false"
+ * @generated
+ */
+ FunctionPrototype getFunctionPrototype();
+
+ /**
+ * Returns the value of the '<em><b>Mode</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.behavior.Mode}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Mode</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.behavior.BehaviorPackage#getFunctionTrigger_Mode()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Mode> getMode();
+
+ /**
+ * Returns the value of the '<em><b>Port</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPort}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Port</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.behavior.BehaviorPackage#getFunctionTrigger_Port()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<FunctionPort> getPort();
+
+ /**
+ * Returns the value of the '<em><b>Trigger Condition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * An OCL expression that allows release of the ADLFunctionType only if it evaluates to TRUE.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Trigger Condition</em>' attribute.
+ * @see #setTriggerCondition(String)
+ * @see org.eclipse.papyrus.eastadl.behavior.BehaviorPackage#getFunctionTrigger_TriggerCondition()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getTriggerCondition();
+
+ /**
+ * Returns the value of the '<em><b>Trigger Policy</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.eastadl.behavior.TriggerPolicyKind}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Defines whether time or trigger events on ports makes the Function execute
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Trigger Policy</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.behavior.TriggerPolicyKind
+ * @see #setTriggerPolicy(TriggerPolicyKind)
+ * @see org.eclipse.papyrus.eastadl.behavior.BehaviorPackage#getFunctionTrigger_TriggerPolicy()
+ * @model unique="false" required="true" ordered="false"
+ * @generated
+ */
+ TriggerPolicyKind getTriggerPolicy();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.behavior.FunctionTrigger#getFunction <em>Function</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Function</em>' reference.
+ * @see #getFunction()
+ * @generated
+ */
+ void setFunction(FunctionType value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.behavior.FunctionTrigger#getFunctionPrototype <em>Function Prototype</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Function Prototype</em>' reference.
+ * @see #getFunctionPrototype()
+ * @generated
+ */
+ void setFunctionPrototype(FunctionPrototype value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.behavior.FunctionTrigger#getTriggerCondition <em>Trigger Condition</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Trigger Condition</em>' attribute.
+ * @see #getTriggerCondition()
+ * @generated
+ */
+ void setTriggerCondition(String 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.eclipse.papyrus.eastadl.behavior.BehaviorPackage#getFunctionTrigger_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.behavior.FunctionTrigger#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);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.behavior.FunctionTrigger#getTriggerPolicy <em>Trigger Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Trigger Policy</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.behavior.TriggerPolicyKind
+ * @see #getTriggerPolicy()
+ * @generated
+ */
+ void setTriggerPolicy(TriggerPolicyKind value);
+
+} // FunctionTrigger
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/Mode.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/Mode.java
new file mode 100644
index 00000000000..2ea0db741ae
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/Mode.java
@@ -0,0 +1,104 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.behavior;
+
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Mode</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Modes are a way to introduce various configurations in the system to account for different states of the system, or of a hardware entity, or an application. The use of modes can be used to filter different views of the model.
+ *
+ * Modes are characterized by a Boolean condition provided as a String which evaluates to true when the Mode is active.
+ *
+ * As far as behavior is concerned, Modes enable to logically organize a set of triggers and behaviors over a set of functions. Modes are both referred to by FunctionTriggers and FunctionBehaviors, thus capturing this organization (see FunctionTrigger and FunctionBehavior).
+ *
+ * Modes can be further organized in mutually exclusive sets with ModeGroups (see that element).
+ *
+ * Semantics:
+ * The Mode is active if and only if the condition is true.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.Mode#getCondition <em>Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.Mode#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.behavior.BehaviorPackage#getMode()
+ * @model
+ * @generated
+ */
+public interface Mode extends EAElement {
+ /**
+ * Returns the value of the '<em><b>Condition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Condition</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Condition</em>' attribute.
+ * @see #setCondition(String)
+ * @see org.eclipse.papyrus.eastadl.behavior.BehaviorPackage#getMode_Condition()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getCondition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.behavior.Mode#getCondition <em>Condition</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Condition</em>' attribute.
+ * @see #getCondition()
+ * @generated
+ */
+ void setCondition(String 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.eclipse.papyrus.eastadl.behavior.BehaviorPackage#getMode_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.behavior.Mode#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);
+
+} // Mode
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/ModeGroup.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/ModeGroup.java
new file mode 100644
index 00000000000..f36978d1d84
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/ModeGroup.java
@@ -0,0 +1,113 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.behavior;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Mode Group</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * ModeGroups serve as container of Modes. The set of Modes in a ModeGroup are mutually exclusive. This means that only one Mode of a ModeGroup is active at any point in time. A precondition in the form of a Boolean expression is assigned to the ModeGroup so that ModeGroups can be switched on and off as a whole.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.ModeGroup#getPrecondition <em>Precondition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.ModeGroup#getMode <em>Mode</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.ModeGroup#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.behavior.BehaviorPackage#getModeGroup()
+ * @model
+ * @generated
+ */
+public interface ModeGroup extends TraceableSpecification {
+ /**
+ * Returns the value of the '<em><b>Mode</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.behavior.Mode}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Mode</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.behavior.BehaviorPackage#getModeGroup_Mode()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<Mode> getMode();
+
+ /**
+ * 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.eclipse.papyrus.eastadl.behavior.BehaviorPackage#getModeGroup_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.behavior.ModeGroup#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>Precondition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Precondition</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Precondition</em>' attribute.
+ * @see #setPrecondition(String)
+ * @see org.eclipse.papyrus.eastadl.behavior.BehaviorPackage#getModeGroup_Precondition()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getPrecondition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.behavior.ModeGroup#getPrecondition <em>Precondition</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Precondition</em>' attribute.
+ * @see #getPrecondition()
+ * @generated
+ */
+ void setPrecondition(String value);
+
+} // ModeGroup
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/TriggerPolicyKind.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/TriggerPolicyKind.java
new file mode 100644
index 00000000000..fd9e2247207
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/TriggerPolicyKind.java
@@ -0,0 +1,228 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.behavior;
+
+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>Trigger Policy Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * TriggerPolicyKind represents an enumeration for triggering policies.
+ *
+ * Semantics:
+ * The TriggerPolicyKind contains EVENT and TIME as possible triggering policies.
+ *
+ * Extension:
+ * Enumeration, no extension.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.behavior.BehaviorPackage#getTriggerPolicyKind()
+ * @model
+ * @generated
+ */
+public enum TriggerPolicyKind implements Enumerator {
+ /**
+ * The '<em><b>EVENT</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #EVENT_VALUE
+ * @generated
+ * @ordered
+ */
+ EVENT(0, "EVENT", "EVENT"),
+
+ /**
+ * The '<em><b>TIME</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #TIME_VALUE
+ * @generated
+ * @ordered
+ */
+ TIME(1, "TIME", "TIME");
+
+ /**
+ * The '<em><b>EVENT</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Triggering by event.
+ * <!-- end-model-doc -->
+ * @see #EVENT
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int EVENT_VALUE = 0;
+
+ /**
+ * The '<em><b>TIME</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Triggering by time.
+ * <!-- end-model-doc -->
+ * @see #TIME
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int TIME_VALUE = 1;
+
+ /**
+ * An array of all the '<em><b>Trigger Policy Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final TriggerPolicyKind[] VALUES_ARRAY =
+ new TriggerPolicyKind[] {
+ EVENT,
+ TIME,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Trigger Policy Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<TriggerPolicyKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Trigger Policy Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static TriggerPolicyKind get(int value) {
+ switch (value) {
+ case EVENT_VALUE: return EVENT;
+ case TIME_VALUE: return TIME;
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Trigger Policy Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static TriggerPolicyKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ TriggerPolicyKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Trigger Policy Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static TriggerPolicyKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ TriggerPolicyKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ 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 TriggerPolicyKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * 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;
+ }
+
+} //TriggerPolicyKind
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/impl/BehaviorFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/impl/BehaviorFactoryImpl.java
new file mode 100644
index 00000000000..748e195b279
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/impl/BehaviorFactoryImpl.java
@@ -0,0 +1,225 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.behavior.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.eclipse.papyrus.eastadl.behavior.Behavior;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorFactory;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.FunctionBehavior;
+import org.eclipse.papyrus.eastadl.behavior.FunctionBehaviorKind;
+import org.eclipse.papyrus.eastadl.behavior.FunctionTrigger;
+import org.eclipse.papyrus.eastadl.behavior.Mode;
+import org.eclipse.papyrus.eastadl.behavior.ModeGroup;
+import org.eclipse.papyrus.eastadl.behavior.TriggerPolicyKind;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!-- end-user-doc -->
+ * @generated
+ */
+public class BehaviorFactoryImpl extends EFactoryImpl implements BehaviorFactory {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static BehaviorPackage getPackage() {
+ return BehaviorPackage.eINSTANCE;
+ }
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public static BehaviorFactory init() {
+ try {
+ BehaviorFactory theBehaviorFactory = (BehaviorFactory)EPackage.Registry.INSTANCE.getEFactory(BehaviorPackage.eNS_URI);
+ if (theBehaviorFactory != null) {
+ return theBehaviorFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new BehaviorFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public BehaviorFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertFunctionBehaviorKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case BehaviorPackage.FUNCTION_BEHAVIOR_KIND:
+ return convertFunctionBehaviorKindToString(eDataType, instanceValue);
+ case BehaviorPackage.TRIGGER_POLICY_KIND:
+ return convertTriggerPolicyKindToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertTriggerPolicyKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case BehaviorPackage.FUNCTION_BEHAVIOR: return createFunctionBehavior();
+ case BehaviorPackage.MODE: return createMode();
+ case BehaviorPackage.BEHAVIOR: return createBehavior();
+ case BehaviorPackage.FUNCTION_TRIGGER: return createFunctionTrigger();
+ case BehaviorPackage.MODE_GROUP: return createModeGroup();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior createBehavior() {
+ BehaviorImpl behavior = new BehaviorImpl();
+ return behavior;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case BehaviorPackage.FUNCTION_BEHAVIOR_KIND:
+ return createFunctionBehaviorKindFromString(eDataType, initialValue);
+ case BehaviorPackage.TRIGGER_POLICY_KIND:
+ return createTriggerPolicyKindFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionBehavior createFunctionBehavior() {
+ FunctionBehaviorImpl functionBehavior = new FunctionBehaviorImpl();
+ return functionBehavior;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionBehaviorKind createFunctionBehaviorKindFromString(EDataType eDataType, String initialValue) {
+ FunctionBehaviorKind result = FunctionBehaviorKind.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 FunctionTrigger createFunctionTrigger() {
+ FunctionTriggerImpl functionTrigger = new FunctionTriggerImpl();
+ return functionTrigger;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Mode createMode() {
+ ModeImpl mode = new ModeImpl();
+ return mode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModeGroup createModeGroup() {
+ ModeGroupImpl modeGroup = new ModeGroupImpl();
+ return modeGroup;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TriggerPolicyKind createTriggerPolicyKindFromString(EDataType eDataType, String initialValue) {
+ TriggerPolicyKind result = TriggerPolicyKind.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 BehaviorPackage getBehaviorPackage() {
+ return (BehaviorPackage)getEPackage();
+ }
+
+} // BehaviorFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/impl/BehaviorImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/impl/BehaviorImpl.java
new file mode 100644
index 00000000000..d586d239cf3
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/impl/BehaviorImpl.java
@@ -0,0 +1,337 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.behavior.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.eastadl.behavior.Behavior;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.FunctionBehavior;
+import org.eclipse.papyrus.eastadl.behavior.FunctionTrigger;
+import org.eclipse.papyrus.eastadl.behavior.ModeGroup;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ContextImpl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Behavior</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.impl.BehaviorImpl#getBehavior <em>Behavior</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.impl.BehaviorImpl#getFunctionTrigger <em>Function Trigger</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.impl.BehaviorImpl#getModeGroup <em>Mode Group</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.impl.BehaviorImpl#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.impl.BehaviorImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BehaviorImpl extends ContextImpl implements Behavior {
+ /**
+ * The cached value of the '{@link #getBehavior() <em>Behavior</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBehavior()
+ * @generated
+ * @ordered
+ */
+ protected EList<FunctionBehavior> behavior;
+
+ /**
+ * The cached value of the '{@link #getFunctionTrigger() <em>Function Trigger</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFunctionTrigger()
+ * @generated
+ * @ordered
+ */
+ protected EList<FunctionTrigger> functionTrigger;
+
+ /**
+ * The cached value of the '{@link #getModeGroup() <em>Mode Group</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getModeGroup()
+ * @generated
+ * @ordered
+ */
+ protected EList<ModeGroup> modeGroup;
+
+ /**
+ * 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 #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 BehaviorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BehaviorPackage.BEHAVIOR__BEHAVIOR:
+ return getBehavior();
+ case BehaviorPackage.BEHAVIOR__FUNCTION_TRIGGER:
+ return getFunctionTrigger();
+ case BehaviorPackage.BEHAVIOR__MODE_GROUP:
+ return getModeGroup();
+ case BehaviorPackage.BEHAVIOR__BASE_PACKAGE:
+ if (resolve) return getBase_Package();
+ return basicGetBase_Package();
+ case BehaviorPackage.BEHAVIOR__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 boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BehaviorPackage.BEHAVIOR__BEHAVIOR:
+ return behavior != null && !behavior.isEmpty();
+ case BehaviorPackage.BEHAVIOR__FUNCTION_TRIGGER:
+ return functionTrigger != null && !functionTrigger.isEmpty();
+ case BehaviorPackage.BEHAVIOR__MODE_GROUP:
+ return modeGroup != null && !modeGroup.isEmpty();
+ case BehaviorPackage.BEHAVIOR__BASE_PACKAGE:
+ return base_Package != null;
+ case BehaviorPackage.BEHAVIOR__BASE_CLASS:
+ return base_Class != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BehaviorPackage.BEHAVIOR__BEHAVIOR:
+ getBehavior().clear();
+ getBehavior().addAll((Collection<? extends FunctionBehavior>)newValue);
+ return;
+ case BehaviorPackage.BEHAVIOR__FUNCTION_TRIGGER:
+ getFunctionTrigger().clear();
+ getFunctionTrigger().addAll((Collection<? extends FunctionTrigger>)newValue);
+ return;
+ case BehaviorPackage.BEHAVIOR__MODE_GROUP:
+ getModeGroup().clear();
+ getModeGroup().addAll((Collection<? extends ModeGroup>)newValue);
+ return;
+ case BehaviorPackage.BEHAVIOR__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+ return;
+ case BehaviorPackage.BEHAVIOR__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BehaviorPackage.Literals.BEHAVIOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BehaviorPackage.BEHAVIOR__BEHAVIOR:
+ getBehavior().clear();
+ return;
+ case BehaviorPackage.BEHAVIOR__FUNCTION_TRIGGER:
+ getFunctionTrigger().clear();
+ return;
+ case BehaviorPackage.BEHAVIOR__MODE_GROUP:
+ getModeGroup().clear();
+ return;
+ case BehaviorPackage.BEHAVIOR__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)null);
+ return;
+ case BehaviorPackage.BEHAVIOR__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FunctionBehavior> getBehavior() {
+ if (behavior == null) {
+ behavior = new EObjectResolvingEList<FunctionBehavior>(FunctionBehavior.class, this, BehaviorPackage.BEHAVIOR__BEHAVIOR);
+ }
+ return behavior;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FunctionTrigger> getFunctionTrigger() {
+ if (functionTrigger == null) {
+ functionTrigger = new EObjectResolvingEList<FunctionTrigger>(FunctionTrigger.class, this, BehaviorPackage.BEHAVIOR__FUNCTION_TRIGGER);
+ }
+ return functionTrigger;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ModeGroup> getModeGroup() {
+ if (modeGroup == null) {
+ modeGroup = new EObjectResolvingEList<ModeGroup>(ModeGroup.class, this, BehaviorPackage.BEHAVIOR__MODE_GROUP);
+ }
+ return modeGroup;
+ }
+
+ /**
+ * <!-- 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, BehaviorPackage.BEHAVIOR__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, BehaviorPackage.BEHAVIOR__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+
+ /**
+ * <!-- 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, BehaviorPackage.BEHAVIOR__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, BehaviorPackage.BEHAVIOR__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+} //BehaviorImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/impl/BehaviorPackageImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/impl/BehaviorPackageImpl.java
new file mode 100644
index 00000000000..030ed84b8d9
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/impl/BehaviorPackageImpl.java
@@ -0,0 +1,701 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.behavior.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.eastadl.EastadlPackage;
+import org.eclipse.papyrus.eastadl.annex.AnnexPackage;
+import org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl;
+import org.eclipse.papyrus.eastadl.behavior.Behavior;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorFactory;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.FunctionBehavior;
+import org.eclipse.papyrus.eastadl.behavior.FunctionBehaviorKind;
+import org.eclipse.papyrus.eastadl.behavior.FunctionTrigger;
+import org.eclipse.papyrus.eastadl.behavior.Mode;
+import org.eclipse.papyrus.eastadl.behavior.ModeGroup;
+import org.eclipse.papyrus.eastadl.behavior.TriggerPolicyKind;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.StructurePackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc -->
+ * @generated
+ */
+public class BehaviorPackageImpl extends EPackageImpl implements BehaviorPackage {
+
+ /**
+ * <!-- 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 BehaviorPackage#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 BehaviorPackage init() {
+ if (isInited) return (BehaviorPackage)EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI);
+
+ // Obtain or create and register package
+ BehaviorPackageImpl theBehaviorPackage = (BehaviorPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof BehaviorPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new BehaviorPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ SysmlPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EastadlPackageImpl theEastadlPackage = (EastadlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) instanceof EastadlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) : EastadlPackage.eINSTANCE);
+ VariabilityPackageImpl theVariabilityPackage = (VariabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) instanceof VariabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) : VariabilityPackage.eINSTANCE);
+ InfrastructurePackageImpl theInfrastructurePackage = (InfrastructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) instanceof InfrastructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) : InfrastructurePackage.eINSTANCE);
+ DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) instanceof DatatypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) : DatatypesPackage.eINSTANCE);
+ UserattributesPackageImpl theUserattributesPackage = (UserattributesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) instanceof UserattributesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) : UserattributesPackage.eINSTANCE);
+ ElementsPackageImpl theElementsPackage = (ElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) instanceof ElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) : ElementsPackage.eINSTANCE);
+ StructurePackageImpl theStructurePackage = (StructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) instanceof StructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) : StructurePackage.eINSTANCE);
+ FunctionmodelingPackageImpl theFunctionmodelingPackage = (FunctionmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) instanceof FunctionmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) : FunctionmodelingPackage.eINSTANCE);
+ HardwaremodelingPackageImpl theHardwaremodelingPackage = (HardwaremodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) instanceof HardwaremodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) : HardwaremodelingPackage.eINSTANCE);
+ SystemmodelingPackageImpl theSystemmodelingPackage = (SystemmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) instanceof SystemmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) : SystemmodelingPackage.eINSTANCE);
+ VehiclefeaturemodelingPackageImpl theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) instanceof VehiclefeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) : VehiclefeaturemodelingPackage.eINSTANCE);
+ FeaturemodelingPackageImpl theFeaturemodelingPackage = (FeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) instanceof FeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) : FeaturemodelingPackage.eINSTANCE);
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) : RequirementsPackage.eINSTANCE);
+ VerificationvalidationPackageImpl theVerificationvalidationPackage = (VerificationvalidationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) instanceof VerificationvalidationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) : VerificationvalidationPackage.eINSTANCE);
+ TimingPackageImpl theTimingPackage = (TimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) instanceof TimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) : TimingPackage.eINSTANCE);
+ TimingconstraintsPackageImpl theTimingconstraintsPackage = (TimingconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) instanceof TimingconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) : TimingconstraintsPackage.eINSTANCE);
+ EventsPackageImpl theEventsPackage = (EventsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+ InterchangePackageImpl theInterchangePackage = (InterchangePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) instanceof InterchangePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) : InterchangePackage.eINSTANCE);
+ EnvironmentPackageImpl theEnvironmentPackage = (EnvironmentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) instanceof EnvironmentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) : EnvironmentPackage.eINSTANCE);
+ DependabilityPackageImpl theDependabilityPackage = (DependabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) instanceof DependabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) : DependabilityPackage.eINSTANCE);
+ ErrormodelPackageImpl theErrormodelPackage = (ErrormodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) instanceof ErrormodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) : ErrormodelPackage.eINSTANCE);
+ SafetyrequirementPackageImpl theSafetyrequirementPackage = (SafetyrequirementPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) instanceof SafetyrequirementPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) : SafetyrequirementPackage.eINSTANCE);
+ SafetyconstraintsPackageImpl theSafetyconstraintsPackage = (SafetyconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) instanceof SafetyconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) : SafetyconstraintsPackage.eINSTANCE);
+ SafetycasePackageImpl theSafetycasePackage = (SafetycasePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) instanceof SafetycasePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) : SafetycasePackage.eINSTANCE);
+ AnnexPackageImpl theAnnexPackage = (AnnexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) instanceof AnnexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) : AnnexPackage.eINSTANCE);
+ NeedsPackageImpl theNeedsPackage = (NeedsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) instanceof NeedsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) : NeedsPackage.eINSTANCE);
+ GenericconstraintsPackageImpl theGenericconstraintsPackage = (GenericconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) instanceof GenericconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) : GenericconstraintsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theBehaviorPackage.createPackageContents();
+ theEastadlPackage.createPackageContents();
+ theVariabilityPackage.createPackageContents();
+ theInfrastructurePackage.createPackageContents();
+ theDatatypesPackage.createPackageContents();
+ theUserattributesPackage.createPackageContents();
+ theElementsPackage.createPackageContents();
+ theStructurePackage.createPackageContents();
+ theFunctionmodelingPackage.createPackageContents();
+ theHardwaremodelingPackage.createPackageContents();
+ theSystemmodelingPackage.createPackageContents();
+ theVehiclefeaturemodelingPackage.createPackageContents();
+ theFeaturemodelingPackage.createPackageContents();
+ theRequirementsPackage.createPackageContents();
+ theVerificationvalidationPackage.createPackageContents();
+ theTimingPackage.createPackageContents();
+ theTimingconstraintsPackage.createPackageContents();
+ theEventsPackage.createPackageContents();
+ theInterchangePackage.createPackageContents();
+ theEnvironmentPackage.createPackageContents();
+ theDependabilityPackage.createPackageContents();
+ theErrormodelPackage.createPackageContents();
+ theSafetyrequirementPackage.createPackageContents();
+ theSafetyconstraintsPackage.createPackageContents();
+ theSafetycasePackage.createPackageContents();
+ theAnnexPackage.createPackageContents();
+ theNeedsPackage.createPackageContents();
+ theGenericconstraintsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theBehaviorPackage.initializePackageContents();
+ theEastadlPackage.initializePackageContents();
+ theVariabilityPackage.initializePackageContents();
+ theInfrastructurePackage.initializePackageContents();
+ theDatatypesPackage.initializePackageContents();
+ theUserattributesPackage.initializePackageContents();
+ theElementsPackage.initializePackageContents();
+ theStructurePackage.initializePackageContents();
+ theFunctionmodelingPackage.initializePackageContents();
+ theHardwaremodelingPackage.initializePackageContents();
+ theSystemmodelingPackage.initializePackageContents();
+ theVehiclefeaturemodelingPackage.initializePackageContents();
+ theFeaturemodelingPackage.initializePackageContents();
+ theRequirementsPackage.initializePackageContents();
+ theVerificationvalidationPackage.initializePackageContents();
+ theTimingPackage.initializePackageContents();
+ theTimingconstraintsPackage.initializePackageContents();
+ theEventsPackage.initializePackageContents();
+ theInterchangePackage.initializePackageContents();
+ theEnvironmentPackage.initializePackageContents();
+ theDependabilityPackage.initializePackageContents();
+ theErrormodelPackage.initializePackageContents();
+ theSafetyrequirementPackage.initializePackageContents();
+ theSafetyconstraintsPackage.initializePackageContents();
+ theSafetycasePackage.initializePackageContents();
+ theAnnexPackage.initializePackageContents();
+ theNeedsPackage.initializePackageContents();
+ theGenericconstraintsPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theBehaviorPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(BehaviorPackage.eNS_URI, theBehaviorPackage);
+ return theBehaviorPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass functionBehaviorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass behaviorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass functionTriggerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass modeGroupEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass modeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum functionBehaviorKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum triggerPolicyKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * 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.eclipse.papyrus.eastadl.behavior.BehaviorPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private BehaviorPackageImpl() {
+ super(eNS_URI, BehaviorFactory.eINSTANCE);
+ }
+
+ /**
+ * 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
+ functionBehaviorEClass = createEClass(FUNCTION_BEHAVIOR);
+ createEReference(functionBehaviorEClass, FUNCTION_BEHAVIOR__BASE_BEHAVIOR);
+ createEAttribute(functionBehaviorEClass, FUNCTION_BEHAVIOR__PATH);
+ createEAttribute(functionBehaviorEClass, FUNCTION_BEHAVIOR__REPRESENTATION);
+ createEReference(functionBehaviorEClass, FUNCTION_BEHAVIOR__MODE);
+ createEReference(functionBehaviorEClass, FUNCTION_BEHAVIOR__FUNCTION);
+
+ modeEClass = createEClass(MODE);
+ createEAttribute(modeEClass, MODE__CONDITION);
+ createEReference(modeEClass, MODE__BASE_CLASS);
+
+ behaviorEClass = createEClass(BEHAVIOR);
+ createEReference(behaviorEClass, BEHAVIOR__BEHAVIOR);
+ createEReference(behaviorEClass, BEHAVIOR__FUNCTION_TRIGGER);
+ createEReference(behaviorEClass, BEHAVIOR__MODE_GROUP);
+ createEReference(behaviorEClass, BEHAVIOR__BASE_PACKAGE);
+ createEReference(behaviorEClass, BEHAVIOR__BASE_CLASS);
+
+ functionTriggerEClass = createEClass(FUNCTION_TRIGGER);
+ createEAttribute(functionTriggerEClass, FUNCTION_TRIGGER__TRIGGER_CONDITION);
+ createEReference(functionTriggerEClass, FUNCTION_TRIGGER__BASE_CLASS);
+ createEAttribute(functionTriggerEClass, FUNCTION_TRIGGER__TRIGGER_POLICY);
+ createEReference(functionTriggerEClass, FUNCTION_TRIGGER__MODE);
+ createEReference(functionTriggerEClass, FUNCTION_TRIGGER__FUNCTION);
+ createEReference(functionTriggerEClass, FUNCTION_TRIGGER__PORT);
+ createEReference(functionTriggerEClass, FUNCTION_TRIGGER__FUNCTION_PROTOTYPE);
+
+ modeGroupEClass = createEClass(MODE_GROUP);
+ createEAttribute(modeGroupEClass, MODE_GROUP__PRECONDITION);
+ createEReference(modeGroupEClass, MODE_GROUP__MODE);
+ createEReference(modeGroupEClass, MODE_GROUP__BASE_CLASS);
+
+ // Create enums
+ functionBehaviorKindEEnum = createEEnum(FUNCTION_BEHAVIOR_KIND);
+ triggerPolicyKindEEnum = createEEnum(TRIGGER_POLICY_KIND);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBehavior() {
+ return behaviorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBehavior_Behavior() {
+ return (EReference)behaviorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBehavior_FunctionTrigger() {
+ return (EReference)behaviorEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBehavior_ModeGroup() {
+ return (EReference)behaviorEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBehavior_Base_Package() {
+ return (EReference)behaviorEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBehavior_Base_Class() {
+ return (EReference)behaviorEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public BehaviorFactory getBehaviorFactory() {
+ return (BehaviorFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFunctionBehavior() {
+ return functionBehaviorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunctionBehavior_Base_Behavior() {
+ return (EReference)functionBehaviorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunctionBehavior_Function() {
+ return (EReference)functionBehaviorEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunctionBehavior_Mode() {
+ return (EReference)functionBehaviorEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFunctionBehavior_Path() {
+ return (EAttribute)functionBehaviorEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFunctionBehavior_Representation() {
+ return (EAttribute)functionBehaviorEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getFunctionBehaviorKind() {
+ return functionBehaviorKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFunctionTrigger() {
+ return functionTriggerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunctionTrigger_Function() {
+ return (EReference)functionTriggerEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunctionTrigger_FunctionPrototype() {
+ return (EReference)functionTriggerEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunctionTrigger_Mode() {
+ return (EReference)functionTriggerEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunctionTrigger_Port() {
+ return (EReference)functionTriggerEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFunctionTrigger_TriggerCondition() {
+ return (EAttribute)functionTriggerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunctionTrigger_Base_Class() {
+ return (EReference)functionTriggerEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFunctionTrigger_TriggerPolicy() {
+ return (EAttribute)functionTriggerEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMode() {
+ return modeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMode_Condition() {
+ return (EAttribute)modeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMode_Base_Class() {
+ return (EReference)modeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getModeGroup() {
+ return modeGroupEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModeGroup_Mode() {
+ return (EReference)modeGroupEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModeGroup_Base_Class() {
+ return (EReference)modeGroupEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getModeGroup_Precondition() {
+ return (EAttribute)modeGroupEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getTriggerPolicyKind() {
+ return triggerPolicyKindEEnum;
+ }
+
+ /**
+ * 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
+ ElementsPackage theElementsPackage = (ElementsPackage)EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI);
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+ TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+ FunctionmodelingPackage theFunctionmodelingPackage = (FunctionmodelingPackage)EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ functionBehaviorEClass.getESuperTypes().add(theElementsPackage.getContext());
+ modeEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ behaviorEClass.getESuperTypes().add(theElementsPackage.getContext());
+ functionTriggerEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ modeGroupEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(functionBehaviorEClass, FunctionBehavior.class, "FunctionBehavior", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getFunctionBehavior_Base_Behavior(), theUMLPackage.getBehavior(), null, "base_Behavior", null, 1, 1, FunctionBehavior.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getFunctionBehavior_Path(), theTypesPackage.getString(), "path", null, 0, 1, FunctionBehavior.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getFunctionBehavior_Representation(), this.getFunctionBehaviorKind(), "representation", null, 1, 1, FunctionBehavior.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFunctionBehavior_Mode(), this.getMode(), null, "mode", null, 0, -1, FunctionBehavior.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFunctionBehavior_Function(), theFunctionmodelingPackage.getFunctionType(), null, "function", null, 0, 1, FunctionBehavior.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(modeEClass, Mode.class, "Mode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getMode_Condition(), theTypesPackage.getString(), "condition", null, 1, 1, Mode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getMode_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, Mode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(behaviorEClass, Behavior.class, "Behavior", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getBehavior_Behavior(), this.getFunctionBehavior(), null, "behavior", null, 0, -1, Behavior.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getBehavior_FunctionTrigger(), this.getFunctionTrigger(), null, "functionTrigger", null, 0, -1, Behavior.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getBehavior_ModeGroup(), this.getModeGroup(), null, "modeGroup", null, 0, -1, Behavior.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getBehavior_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, Behavior.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getBehavior_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, Behavior.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(functionTriggerEClass, FunctionTrigger.class, "FunctionTrigger", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getFunctionTrigger_TriggerCondition(), theTypesPackage.getString(), "triggerCondition", null, 1, 1, FunctionTrigger.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFunctionTrigger_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, FunctionTrigger.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getFunctionTrigger_TriggerPolicy(), this.getTriggerPolicyKind(), "triggerPolicy", null, 1, 1, FunctionTrigger.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFunctionTrigger_Mode(), this.getMode(), null, "mode", null, 0, -1, FunctionTrigger.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFunctionTrigger_Function(), theFunctionmodelingPackage.getFunctionType(), null, "function", null, 0, 1, FunctionTrigger.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFunctionTrigger_Port(), theFunctionmodelingPackage.getFunctionPort(), null, "port", null, 0, -1, FunctionTrigger.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFunctionTrigger_FunctionPrototype(), theFunctionmodelingPackage.getFunctionPrototype(), null, "functionPrototype", null, 0, 1, FunctionTrigger.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(modeGroupEClass, ModeGroup.class, "ModeGroup", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getModeGroup_Precondition(), theTypesPackage.getString(), "precondition", null, 1, 1, ModeGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getModeGroup_Mode(), this.getMode(), null, "mode", null, 1, -1, ModeGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getModeGroup_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, ModeGroup.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(functionBehaviorKindEEnum, FunctionBehaviorKind.class, "FunctionBehaviorKind");
+ addEEnumLiteral(functionBehaviorKindEEnum, FunctionBehaviorKind.ASCET);
+ addEEnumLiteral(functionBehaviorKindEEnum, FunctionBehaviorKind.OTHER);
+ addEEnumLiteral(functionBehaviorKindEEnum, FunctionBehaviorKind.SCADE);
+ addEEnumLiteral(functionBehaviorKindEEnum, FunctionBehaviorKind.SDL);
+ addEEnumLiteral(functionBehaviorKindEEnum, FunctionBehaviorKind.SIMULINK);
+ addEEnumLiteral(functionBehaviorKindEEnum, FunctionBehaviorKind.STATEMATE);
+ addEEnumLiteral(functionBehaviorKindEEnum, FunctionBehaviorKind.MARTE);
+ addEEnumLiteral(functionBehaviorKindEEnum, FunctionBehaviorKind.UML);
+
+ initEEnum(triggerPolicyKindEEnum, TriggerPolicyKind.class, "TriggerPolicyKind");
+ addEEnumLiteral(triggerPolicyKindEEnum, TriggerPolicyKind.EVENT);
+ addEEnumLiteral(triggerPolicyKindEEnum, TriggerPolicyKind.TIME);
+ }
+
+} // BehaviorPackageImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/impl/FunctionBehaviorImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/impl/FunctionBehaviorImpl.java
new file mode 100644
index 00000000000..5a879bcacfd
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/impl/FunctionBehaviorImpl.java
@@ -0,0 +1,392 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.behavior.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.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.FunctionBehavior;
+import org.eclipse.papyrus.eastadl.behavior.FunctionBehaviorKind;
+import org.eclipse.papyrus.eastadl.behavior.Mode;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ContextImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType;
+import org.eclipse.uml2.uml.Behavior;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Function Behavior</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.impl.FunctionBehaviorImpl#getBase_Behavior <em>Base Behavior</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.impl.FunctionBehaviorImpl#getPath <em>Path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.impl.FunctionBehaviorImpl#getRepresentation <em>Representation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.impl.FunctionBehaviorImpl#getMode <em>Mode</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.impl.FunctionBehaviorImpl#getFunction <em>Function</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FunctionBehaviorImpl extends ContextImpl implements FunctionBehavior {
+ /**
+ * The cached value of the '{@link #getBase_Behavior() <em>Base Behavior</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Behavior()
+ * @generated
+ * @ordered
+ */
+ protected Behavior base_Behavior;
+
+ /**
+ * The default value of the '{@link #getPath() <em>Path</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPath()
+ * @generated
+ * @ordered
+ */
+ protected static final String PATH_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPath() <em>Path</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPath()
+ * @generated
+ * @ordered
+ */
+ protected String path = PATH_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getRepresentation() <em>Representation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRepresentation()
+ * @generated
+ * @ordered
+ */
+ protected static final FunctionBehaviorKind REPRESENTATION_EDEFAULT = FunctionBehaviorKind.ASCET;
+
+ /**
+ * The cached value of the '{@link #getRepresentation() <em>Representation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRepresentation()
+ * @generated
+ * @ordered
+ */
+ protected FunctionBehaviorKind representation = REPRESENTATION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getMode() <em>Mode</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMode()
+ * @generated
+ * @ordered
+ */
+ protected EList<Mode> mode;
+
+ /**
+ * The cached value of the '{@link #getFunction() <em>Function</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFunction()
+ * @generated
+ * @ordered
+ */
+ protected FunctionType function;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FunctionBehaviorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionType basicGetFunction() {
+ return function;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BehaviorPackage.FUNCTION_BEHAVIOR__BASE_BEHAVIOR:
+ if (resolve) return getBase_Behavior();
+ return basicGetBase_Behavior();
+ case BehaviorPackage.FUNCTION_BEHAVIOR__PATH:
+ return getPath();
+ case BehaviorPackage.FUNCTION_BEHAVIOR__REPRESENTATION:
+ return getRepresentation();
+ case BehaviorPackage.FUNCTION_BEHAVIOR__MODE:
+ return getMode();
+ case BehaviorPackage.FUNCTION_BEHAVIOR__FUNCTION:
+ if (resolve) return getFunction();
+ return basicGetFunction();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BehaviorPackage.FUNCTION_BEHAVIOR__BASE_BEHAVIOR:
+ return base_Behavior != null;
+ case BehaviorPackage.FUNCTION_BEHAVIOR__PATH:
+ return PATH_EDEFAULT == null ? path != null : !PATH_EDEFAULT.equals(path);
+ case BehaviorPackage.FUNCTION_BEHAVIOR__REPRESENTATION:
+ return representation != REPRESENTATION_EDEFAULT;
+ case BehaviorPackage.FUNCTION_BEHAVIOR__MODE:
+ return mode != null && !mode.isEmpty();
+ case BehaviorPackage.FUNCTION_BEHAVIOR__FUNCTION:
+ return function != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BehaviorPackage.FUNCTION_BEHAVIOR__BASE_BEHAVIOR:
+ setBase_Behavior((Behavior)newValue);
+ return;
+ case BehaviorPackage.FUNCTION_BEHAVIOR__PATH:
+ setPath((String)newValue);
+ return;
+ case BehaviorPackage.FUNCTION_BEHAVIOR__REPRESENTATION:
+ setRepresentation((FunctionBehaviorKind)newValue);
+ return;
+ case BehaviorPackage.FUNCTION_BEHAVIOR__MODE:
+ getMode().clear();
+ getMode().addAll((Collection<? extends Mode>)newValue);
+ return;
+ case BehaviorPackage.FUNCTION_BEHAVIOR__FUNCTION:
+ setFunction((FunctionType)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BehaviorPackage.Literals.FUNCTION_BEHAVIOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getBase_Behavior() {
+ if (base_Behavior != null && base_Behavior.eIsProxy()) {
+ InternalEObject oldBase_Behavior = (InternalEObject)base_Behavior;
+ base_Behavior = (Behavior)eResolveProxy(oldBase_Behavior);
+ if (base_Behavior != oldBase_Behavior) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BehaviorPackage.FUNCTION_BEHAVIOR__BASE_BEHAVIOR, oldBase_Behavior, base_Behavior));
+ }
+ }
+ return base_Behavior;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior basicGetBase_Behavior() {
+ return base_Behavior;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Behavior(Behavior newBase_Behavior) {
+ Behavior oldBase_Behavior = base_Behavior;
+ base_Behavior = newBase_Behavior;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BehaviorPackage.FUNCTION_BEHAVIOR__BASE_BEHAVIOR, oldBase_Behavior, base_Behavior));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BehaviorPackage.FUNCTION_BEHAVIOR__BASE_BEHAVIOR:
+ setBase_Behavior((Behavior)null);
+ return;
+ case BehaviorPackage.FUNCTION_BEHAVIOR__PATH:
+ setPath(PATH_EDEFAULT);
+ return;
+ case BehaviorPackage.FUNCTION_BEHAVIOR__REPRESENTATION:
+ setRepresentation(REPRESENTATION_EDEFAULT);
+ return;
+ case BehaviorPackage.FUNCTION_BEHAVIOR__MODE:
+ getMode().clear();
+ return;
+ case BehaviorPackage.FUNCTION_BEHAVIOR__FUNCTION:
+ setFunction((FunctionType)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionType getFunction() {
+ if (function != null && function.eIsProxy()) {
+ InternalEObject oldFunction = (InternalEObject)function;
+ function = (FunctionType)eResolveProxy(oldFunction);
+ if (function != oldFunction) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BehaviorPackage.FUNCTION_BEHAVIOR__FUNCTION, oldFunction, function));
+ }
+ }
+ return function;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Mode> getMode() {
+ if (mode == null) {
+ mode = new EObjectResolvingEList<Mode>(Mode.class, this, BehaviorPackage.FUNCTION_BEHAVIOR__MODE);
+ }
+ return mode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getPath() {
+ return path;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionBehaviorKind getRepresentation() {
+ return representation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFunction(FunctionType newFunction) {
+ FunctionType oldFunction = function;
+ function = newFunction;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BehaviorPackage.FUNCTION_BEHAVIOR__FUNCTION, oldFunction, function));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPath(String newPath) {
+ String oldPath = path;
+ path = newPath;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BehaviorPackage.FUNCTION_BEHAVIOR__PATH, oldPath, path));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRepresentation(FunctionBehaviorKind newRepresentation) {
+ FunctionBehaviorKind oldRepresentation = representation;
+ representation = newRepresentation == null ? REPRESENTATION_EDEFAULT : newRepresentation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BehaviorPackage.FUNCTION_BEHAVIOR__REPRESENTATION, oldRepresentation, representation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (path: ");
+ result.append(path);
+ result.append(", representation: ");
+ result.append(representation);
+ result.append(')');
+ return result.toString();
+ }
+
+} //FunctionBehaviorImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/impl/FunctionTriggerImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/impl/FunctionTriggerImpl.java
new file mode 100644
index 00000000000..66fefa79128
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/impl/FunctionTriggerImpl.java
@@ -0,0 +1,487 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.behavior.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.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.FunctionTrigger;
+import org.eclipse.papyrus.eastadl.behavior.Mode;
+import org.eclipse.papyrus.eastadl.behavior.TriggerPolicyKind;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Function Trigger</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.impl.FunctionTriggerImpl#getTriggerCondition <em>Trigger Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.impl.FunctionTriggerImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.impl.FunctionTriggerImpl#getTriggerPolicy <em>Trigger Policy</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.impl.FunctionTriggerImpl#getMode <em>Mode</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.impl.FunctionTriggerImpl#getFunction <em>Function</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.impl.FunctionTriggerImpl#getPort <em>Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.impl.FunctionTriggerImpl#getFunctionPrototype <em>Function Prototype</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FunctionTriggerImpl extends EAElementImpl implements FunctionTrigger {
+ /**
+ * The default value of the '{@link #getTriggerCondition() <em>Trigger Condition</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTriggerCondition()
+ * @generated
+ * @ordered
+ */
+ protected static final String TRIGGER_CONDITION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTriggerCondition() <em>Trigger Condition</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTriggerCondition()
+ * @generated
+ * @ordered
+ */
+ protected String triggerCondition = TRIGGER_CONDITION_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;
+
+ /**
+ * The default value of the '{@link #getTriggerPolicy() <em>Trigger Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTriggerPolicy()
+ * @generated
+ * @ordered
+ */
+ protected static final TriggerPolicyKind TRIGGER_POLICY_EDEFAULT = TriggerPolicyKind.EVENT;
+
+ /**
+ * The cached value of the '{@link #getTriggerPolicy() <em>Trigger Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTriggerPolicy()
+ * @generated
+ * @ordered
+ */
+ protected TriggerPolicyKind triggerPolicy = TRIGGER_POLICY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getMode() <em>Mode</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMode()
+ * @generated
+ * @ordered
+ */
+ protected EList<Mode> mode;
+
+ /**
+ * The cached value of the '{@link #getFunction() <em>Function</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFunction()
+ * @generated
+ * @ordered
+ */
+ protected FunctionType function;
+
+ /**
+ * The cached value of the '{@link #getPort() <em>Port</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPort()
+ * @generated
+ * @ordered
+ */
+ protected EList<FunctionPort> port;
+
+ /**
+ * The cached value of the '{@link #getFunctionPrototype() <em>Function Prototype</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFunctionPrototype()
+ * @generated
+ * @ordered
+ */
+ protected FunctionPrototype functionPrototype;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FunctionTriggerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionType basicGetFunction() {
+ return function;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionPrototype basicGetFunctionPrototype() {
+ return functionPrototype;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BehaviorPackage.FUNCTION_TRIGGER__TRIGGER_CONDITION:
+ return getTriggerCondition();
+ case BehaviorPackage.FUNCTION_TRIGGER__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case BehaviorPackage.FUNCTION_TRIGGER__TRIGGER_POLICY:
+ return getTriggerPolicy();
+ case BehaviorPackage.FUNCTION_TRIGGER__MODE:
+ return getMode();
+ case BehaviorPackage.FUNCTION_TRIGGER__FUNCTION:
+ if (resolve) return getFunction();
+ return basicGetFunction();
+ case BehaviorPackage.FUNCTION_TRIGGER__PORT:
+ return getPort();
+ case BehaviorPackage.FUNCTION_TRIGGER__FUNCTION_PROTOTYPE:
+ if (resolve) return getFunctionPrototype();
+ return basicGetFunctionPrototype();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BehaviorPackage.FUNCTION_TRIGGER__TRIGGER_CONDITION:
+ return TRIGGER_CONDITION_EDEFAULT == null ? triggerCondition != null : !TRIGGER_CONDITION_EDEFAULT.equals(triggerCondition);
+ case BehaviorPackage.FUNCTION_TRIGGER__BASE_CLASS:
+ return base_Class != null;
+ case BehaviorPackage.FUNCTION_TRIGGER__TRIGGER_POLICY:
+ return triggerPolicy != TRIGGER_POLICY_EDEFAULT;
+ case BehaviorPackage.FUNCTION_TRIGGER__MODE:
+ return mode != null && !mode.isEmpty();
+ case BehaviorPackage.FUNCTION_TRIGGER__FUNCTION:
+ return function != null;
+ case BehaviorPackage.FUNCTION_TRIGGER__PORT:
+ return port != null && !port.isEmpty();
+ case BehaviorPackage.FUNCTION_TRIGGER__FUNCTION_PROTOTYPE:
+ return functionPrototype != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BehaviorPackage.FUNCTION_TRIGGER__TRIGGER_CONDITION:
+ setTriggerCondition((String)newValue);
+ return;
+ case BehaviorPackage.FUNCTION_TRIGGER__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case BehaviorPackage.FUNCTION_TRIGGER__TRIGGER_POLICY:
+ setTriggerPolicy((TriggerPolicyKind)newValue);
+ return;
+ case BehaviorPackage.FUNCTION_TRIGGER__MODE:
+ getMode().clear();
+ getMode().addAll((Collection<? extends Mode>)newValue);
+ return;
+ case BehaviorPackage.FUNCTION_TRIGGER__FUNCTION:
+ setFunction((FunctionType)newValue);
+ return;
+ case BehaviorPackage.FUNCTION_TRIGGER__PORT:
+ getPort().clear();
+ getPort().addAll((Collection<? extends FunctionPort>)newValue);
+ return;
+ case BehaviorPackage.FUNCTION_TRIGGER__FUNCTION_PROTOTYPE:
+ setFunctionPrototype((FunctionPrototype)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BehaviorPackage.Literals.FUNCTION_TRIGGER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BehaviorPackage.FUNCTION_TRIGGER__TRIGGER_CONDITION:
+ setTriggerCondition(TRIGGER_CONDITION_EDEFAULT);
+ return;
+ case BehaviorPackage.FUNCTION_TRIGGER__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case BehaviorPackage.FUNCTION_TRIGGER__TRIGGER_POLICY:
+ setTriggerPolicy(TRIGGER_POLICY_EDEFAULT);
+ return;
+ case BehaviorPackage.FUNCTION_TRIGGER__MODE:
+ getMode().clear();
+ return;
+ case BehaviorPackage.FUNCTION_TRIGGER__FUNCTION:
+ setFunction((FunctionType)null);
+ return;
+ case BehaviorPackage.FUNCTION_TRIGGER__PORT:
+ getPort().clear();
+ return;
+ case BehaviorPackage.FUNCTION_TRIGGER__FUNCTION_PROTOTYPE:
+ setFunctionPrototype((FunctionPrototype)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionType getFunction() {
+ if (function != null && function.eIsProxy()) {
+ InternalEObject oldFunction = (InternalEObject)function;
+ function = (FunctionType)eResolveProxy(oldFunction);
+ if (function != oldFunction) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BehaviorPackage.FUNCTION_TRIGGER__FUNCTION, oldFunction, function));
+ }
+ }
+ return function;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionPrototype getFunctionPrototype() {
+ if (functionPrototype != null && functionPrototype.eIsProxy()) {
+ InternalEObject oldFunctionPrototype = (InternalEObject)functionPrototype;
+ functionPrototype = (FunctionPrototype)eResolveProxy(oldFunctionPrototype);
+ if (functionPrototype != oldFunctionPrototype) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BehaviorPackage.FUNCTION_TRIGGER__FUNCTION_PROTOTYPE, oldFunctionPrototype, functionPrototype));
+ }
+ }
+ return functionPrototype;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Mode> getMode() {
+ if (mode == null) {
+ mode = new EObjectResolvingEList<Mode>(Mode.class, this, BehaviorPackage.FUNCTION_TRIGGER__MODE);
+ }
+ return mode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FunctionPort> getPort() {
+ if (port == null) {
+ port = new EObjectResolvingEList<FunctionPort>(FunctionPort.class, this, BehaviorPackage.FUNCTION_TRIGGER__PORT);
+ }
+ return port;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTriggerCondition() {
+ return triggerCondition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TriggerPolicyKind getTriggerPolicy() {
+ return triggerPolicy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFunction(FunctionType newFunction) {
+ FunctionType oldFunction = function;
+ function = newFunction;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BehaviorPackage.FUNCTION_TRIGGER__FUNCTION, oldFunction, function));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFunctionPrototype(FunctionPrototype newFunctionPrototype) {
+ FunctionPrototype oldFunctionPrototype = functionPrototype;
+ functionPrototype = newFunctionPrototype;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BehaviorPackage.FUNCTION_TRIGGER__FUNCTION_PROTOTYPE, oldFunctionPrototype, functionPrototype));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTriggerCondition(String newTriggerCondition) {
+ String oldTriggerCondition = triggerCondition;
+ triggerCondition = newTriggerCondition;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BehaviorPackage.FUNCTION_TRIGGER__TRIGGER_CONDITION, oldTriggerCondition, triggerCondition));
+ }
+
+ /**
+ * <!-- 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, BehaviorPackage.FUNCTION_TRIGGER__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, BehaviorPackage.FUNCTION_TRIGGER__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTriggerPolicy(TriggerPolicyKind newTriggerPolicy) {
+ TriggerPolicyKind oldTriggerPolicy = triggerPolicy;
+ triggerPolicy = newTriggerPolicy == null ? TRIGGER_POLICY_EDEFAULT : newTriggerPolicy;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BehaviorPackage.FUNCTION_TRIGGER__TRIGGER_POLICY, oldTriggerPolicy, triggerPolicy));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (triggerCondition: ");
+ result.append(triggerCondition);
+ result.append(", triggerPolicy: ");
+ result.append(triggerPolicy);
+ result.append(')');
+ return result.toString();
+ }
+
+} //FunctionTriggerImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/impl/ModeGroupImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/impl/ModeGroupImpl.java
new file mode 100644
index 00000000000..4cd2caebaed
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/impl/ModeGroupImpl.java
@@ -0,0 +1,275 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.behavior.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.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.Mode;
+import org.eclipse.papyrus.eastadl.behavior.ModeGroup;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Mode Group</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.impl.ModeGroupImpl#getPrecondition <em>Precondition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.impl.ModeGroupImpl#getMode <em>Mode</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.impl.ModeGroupImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ModeGroupImpl extends TraceableSpecificationImpl implements ModeGroup {
+ /**
+ * The default value of the '{@link #getPrecondition() <em>Precondition</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPrecondition()
+ * @generated
+ * @ordered
+ */
+ protected static final String PRECONDITION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPrecondition() <em>Precondition</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPrecondition()
+ * @generated
+ * @ordered
+ */
+ protected String precondition = PRECONDITION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getMode() <em>Mode</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMode()
+ * @generated
+ * @ordered
+ */
+ protected EList<Mode> mode;
+
+ /**
+ * 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 ModeGroupImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BehaviorPackage.MODE_GROUP__PRECONDITION:
+ return getPrecondition();
+ case BehaviorPackage.MODE_GROUP__MODE:
+ return getMode();
+ case BehaviorPackage.MODE_GROUP__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 boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BehaviorPackage.MODE_GROUP__PRECONDITION:
+ return PRECONDITION_EDEFAULT == null ? precondition != null : !PRECONDITION_EDEFAULT.equals(precondition);
+ case BehaviorPackage.MODE_GROUP__MODE:
+ return mode != null && !mode.isEmpty();
+ case BehaviorPackage.MODE_GROUP__BASE_CLASS:
+ return base_Class != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BehaviorPackage.MODE_GROUP__PRECONDITION:
+ setPrecondition((String)newValue);
+ return;
+ case BehaviorPackage.MODE_GROUP__MODE:
+ getMode().clear();
+ getMode().addAll((Collection<? extends Mode>)newValue);
+ return;
+ case BehaviorPackage.MODE_GROUP__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BehaviorPackage.Literals.MODE_GROUP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BehaviorPackage.MODE_GROUP__PRECONDITION:
+ setPrecondition(PRECONDITION_EDEFAULT);
+ return;
+ case BehaviorPackage.MODE_GROUP__MODE:
+ getMode().clear();
+ return;
+ case BehaviorPackage.MODE_GROUP__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Mode> getMode() {
+ if (mode == null) {
+ mode = new EObjectResolvingEList<Mode>(Mode.class, this, BehaviorPackage.MODE_GROUP__MODE);
+ }
+ return mode;
+ }
+
+ /**
+ * <!-- 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, BehaviorPackage.MODE_GROUP__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, BehaviorPackage.MODE_GROUP__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getPrecondition() {
+ return precondition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPrecondition(String newPrecondition) {
+ String oldPrecondition = precondition;
+ precondition = newPrecondition;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BehaviorPackage.MODE_GROUP__PRECONDITION, oldPrecondition, precondition));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (precondition: ");
+ result.append(precondition);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ModeGroupImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/impl/ModeImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/impl/ModeImpl.java
new file mode 100644
index 00000000000..7f956e538ed
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/impl/ModeImpl.java
@@ -0,0 +1,235 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.behavior.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.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.Mode;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Mode</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.impl.ModeImpl#getCondition <em>Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.behavior.impl.ModeImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ModeImpl extends EAElementImpl implements Mode {
+ /**
+ * The default value of the '{@link #getCondition() <em>Condition</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCondition()
+ * @generated
+ * @ordered
+ */
+ protected static final String CONDITION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCondition() <em>Condition</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCondition()
+ * @generated
+ * @ordered
+ */
+ protected String condition = CONDITION_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 ModeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BehaviorPackage.MODE__CONDITION:
+ return getCondition();
+ case BehaviorPackage.MODE__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 boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BehaviorPackage.MODE__CONDITION:
+ return CONDITION_EDEFAULT == null ? condition != null : !CONDITION_EDEFAULT.equals(condition);
+ case BehaviorPackage.MODE__BASE_CLASS:
+ return base_Class != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BehaviorPackage.MODE__CONDITION:
+ setCondition((String)newValue);
+ return;
+ case BehaviorPackage.MODE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BehaviorPackage.Literals.MODE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BehaviorPackage.MODE__CONDITION:
+ setCondition(CONDITION_EDEFAULT);
+ return;
+ case BehaviorPackage.MODE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCondition() {
+ return condition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCondition(String newCondition) {
+ String oldCondition = condition;
+ condition = newCondition;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BehaviorPackage.MODE__CONDITION, oldCondition, condition));
+ }
+
+ /**
+ * <!-- 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, BehaviorPackage.MODE__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, BehaviorPackage.MODE__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (condition: ");
+ result.append(condition);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ModeImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/util/BehaviorAdapterFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/util/BehaviorAdapterFactory.java
new file mode 100644
index 00000000000..11c6073d4ad
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/util/BehaviorAdapterFactory.java
@@ -0,0 +1,277 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.behavior.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.eastadl.behavior.Behavior;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.FunctionBehavior;
+import org.eclipse.papyrus.eastadl.behavior.FunctionTrigger;
+import org.eclipse.papyrus.eastadl.behavior.Mode;
+import org.eclipse.papyrus.eastadl.behavior.ModeGroup;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.behavior.BehaviorPackage
+ * @generated
+ */
+public class BehaviorAdapterFactory extends AdapterFactoryImpl {
+
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected static BehaviorPackage modelPackage;
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ protected BehaviorSwitch<Adapter> modelSwitch = new BehaviorSwitch<Adapter>() {
+ @Override
+ public Adapter caseFunctionBehavior(FunctionBehavior object) {
+ return createFunctionBehaviorAdapter();
+ }
+ @Override
+ public Adapter caseMode(Mode object) {
+ return createModeAdapter();
+ }
+ @Override
+ public Adapter caseBehavior(Behavior object) {
+ return createBehaviorAdapter();
+ }
+ @Override
+ public Adapter caseFunctionTrigger(FunctionTrigger object) {
+ return createFunctionTriggerAdapter();
+ }
+ @Override
+ public Adapter caseModeGroup(ModeGroup object) {
+ return createModeGroupAdapter();
+ }
+ @Override
+ public Adapter caseEAElement(EAElement object) {
+ return createEAElementAdapter();
+ }
+ @Override
+ public Adapter caseContext(Context object) {
+ return createContextAdapter();
+ }
+ @Override
+ public Adapter caseEAPackageableElement(EAPackageableElement object) {
+ return createEAPackageableElementAdapter();
+ }
+ @Override
+ public Adapter caseTraceableSpecification(TraceableSpecification object) {
+ return createTraceableSpecificationAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public BehaviorAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = BehaviorPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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.eclipse.papyrus.eastadl.behavior.Behavior <em>Behavior</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.behavior.Behavior
+ * @generated
+ */
+ public Adapter createBehaviorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Context <em>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.eastadl.infrastructure.elements.Context
+ * @generated
+ */
+ public Adapter createContextAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement <em>EA Packageable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAPackageableElement
+ * @generated
+ */
+ public Adapter createEAPackageableElementAdapter() {
+ 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;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.behavior.FunctionBehavior <em>Function Behavior</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.behavior.FunctionBehavior
+ * @generated
+ */
+ public Adapter createFunctionBehaviorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.behavior.FunctionTrigger <em>Function Trigger</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.behavior.FunctionTrigger
+ * @generated
+ */
+ public Adapter createFunctionTriggerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.behavior.Mode <em>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.eclipse.papyrus.eastadl.behavior.Mode
+ * @generated
+ */
+ public Adapter createModeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.behavior.ModeGroup <em>Mode Group</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.behavior.ModeGroup
+ * @generated
+ */
+ public Adapter createModeGroupAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement <em>EA Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAElement
+ * @generated
+ */
+ public Adapter createEAElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification <em>Traceable 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.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification
+ * @generated
+ */
+ public Adapter createTraceableSpecificationAdapter() {
+ return null;
+ }
+
+ /**
+ * 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;
+ }
+
+} // BehaviorAdapterFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/util/BehaviorResourceFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/util/BehaviorResourceFactoryImpl.java
new file mode 100644
index 00000000000..bf3f790cbe6
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/util/BehaviorResourceFactoryImpl.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.behavior.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.eclipse.papyrus.eastadl.behavior.util.BehaviorResourceImpl
+ * @generated
+ */
+public class BehaviorResourceFactoryImpl extends ResourceFactoryImpl {
+
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public BehaviorResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new BehaviorResourceImpl(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;
+ }
+
+} // BehaviorResourceFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/util/BehaviorResourceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/util/BehaviorResourceImpl.java
new file mode 100644
index 00000000000..71bc5f8244c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/util/BehaviorResourceImpl.java
@@ -0,0 +1,38 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.behavior.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.eclipse.papyrus.eastadl.behavior.util.BehaviorResourceFactoryImpl
+ * @generated
+ */
+public class BehaviorResourceImpl extends XMLResourceImpl {
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public BehaviorResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} // BehaviorResourceImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/util/BehaviorSwitch.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/util/BehaviorSwitch.java
new file mode 100644
index 00000000000..03b24910f0b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/util/BehaviorSwitch.java
@@ -0,0 +1,278 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.behavior.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.eastadl.behavior.Behavior;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.FunctionBehavior;
+import org.eclipse.papyrus.eastadl.behavior.FunctionTrigger;
+import org.eclipse.papyrus.eastadl.behavior.Mode;
+import org.eclipse.papyrus.eastadl.behavior.ModeGroup;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.behavior.BehaviorPackage
+ * @generated
+ */
+public class BehaviorSwitch<T> extends Switch<T> {
+
+ /**
+ * The cached model package
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected static BehaviorPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public BehaviorSwitch() {
+ if (modelPackage == null) {
+ modelPackage = BehaviorPackage.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;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Behavior</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Behavior</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBehavior(Behavior object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>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>Context</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseContext(Context object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Packageable Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Packageable Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAPackageableElement(EAPackageableElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Function Behavior</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Function Behavior</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFunctionBehavior(FunctionBehavior object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Function Trigger</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Function Trigger</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFunctionTrigger(FunctionTrigger object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>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>Mode</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMode(Mode object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Mode Group</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Mode Group</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseModeGroup(ModeGroup object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAElement(EAElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Traceable 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>Traceable Specification</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTraceableSpecification(TraceableSpecification 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;
+ }
+
+ /**
+ * 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 BehaviorPackage.FUNCTION_BEHAVIOR: {
+ FunctionBehavior functionBehavior = (FunctionBehavior)theEObject;
+ T result = caseFunctionBehavior(functionBehavior);
+ if (result == null) result = caseContext(functionBehavior);
+ if (result == null) result = caseEAElement(functionBehavior);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BehaviorPackage.MODE: {
+ Mode mode = (Mode)theEObject;
+ T result = caseMode(mode);
+ if (result == null) result = caseEAElement(mode);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BehaviorPackage.BEHAVIOR: {
+ Behavior behavior = (Behavior)theEObject;
+ T result = caseBehavior(behavior);
+ if (result == null) result = caseContext(behavior);
+ if (result == null) result = caseEAElement(behavior);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BehaviorPackage.FUNCTION_TRIGGER: {
+ FunctionTrigger functionTrigger = (FunctionTrigger)theEObject;
+ T result = caseFunctionTrigger(functionTrigger);
+ if (result == null) result = caseEAElement(functionTrigger);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BehaviorPackage.MODE_GROUP: {
+ ModeGroup modeGroup = (ModeGroup)theEObject;
+ T result = caseModeGroup(modeGroup);
+ if (result == null) result = caseTraceableSpecification(modeGroup);
+ if (result == null) result = caseEAPackageableElement(modeGroup);
+ if (result == null) result = caseEAElement(modeGroup);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+} // BehaviorSwitch
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/util/BehaviorXMLProcessor.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/util/BehaviorXMLProcessor.java
new file mode 100644
index 00000000000..f6920565132
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/behavior/util/BehaviorXMLProcessor.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.behavior.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.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ */
+public class BehaviorXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public BehaviorXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ BehaviorPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the BehaviorResourceFactoryImpl 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 BehaviorResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new BehaviorResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} // BehaviorXMLProcessor
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/ControllabilityClassKind.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/ControllabilityClassKind.java
new file mode 100644
index 00000000000..9098fca9130
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/ControllabilityClassKind.java
@@ -0,0 +1,280 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability;
+
+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>Controllability Class Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The ControllabilityClassKind is an enumeration metaclass with enumeration literals indicating controllability attributes C0, C1, C2 or C3 in accordance with ISO26262.
+ *
+ * Semantics:
+ * The semantics is defined at each enumeration literal and fully defined in the ISO26262 standard.
+ *
+ * Extension:
+ * Enumeration, no extension.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getControllabilityClassKind()
+ * @model
+ * @generated
+ */
+public enum ControllabilityClassKind implements Enumerator {
+ /**
+ * The '<em><b>C1</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #C1_VALUE
+ * @generated
+ * @ordered
+ */
+ C1(0, "C1", "C1"),
+
+ /**
+ * The '<em><b>C2</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #C2_VALUE
+ * @generated
+ * @ordered
+ */
+ C2(1, "C2", "C2"),
+
+ /**
+ * The '<em><b>C3</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #C3_VALUE
+ * @generated
+ * @ordered
+ */
+ C3(2, "C3", "C3"),
+
+ /**
+ * The '<em><b>C0</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #C0_VALUE
+ * @generated
+ * @ordered
+ */
+ C0(3, "C0", "C0");
+
+ /**
+ * The '<em><b>C1</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Simply controllable
+ * <!-- end-model-doc -->
+ * @see #C1
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int C1_VALUE = 0;
+
+ /**
+ * The '<em><b>C2</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Normally controllable
+ * <!-- end-model-doc -->
+ * @see #C2
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int C2_VALUE = 1;
+
+ /**
+ * The '<em><b>C3</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Difficult to control or uncontrollable
+ * <!-- end-model-doc -->
+ * @see #C3
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int C3_VALUE = 2;
+
+ /**
+ * The '<em><b>C0</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Controllable in general
+ * <!-- end-model-doc -->
+ * @see #C0
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int C0_VALUE = 3;
+
+ /**
+ * An array of all the '<em><b>Controllability Class Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final ControllabilityClassKind[] VALUES_ARRAY =
+ new ControllabilityClassKind[] {
+ C1,
+ C2,
+ C3,
+ C0,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Controllability Class Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<ControllabilityClassKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Controllability Class Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ControllabilityClassKind get(int value) {
+ switch (value) {
+ case C1_VALUE: return C1;
+ case C2_VALUE: return C2;
+ case C3_VALUE: return C3;
+ case C0_VALUE: return C0;
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Controllability Class Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ControllabilityClassKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ControllabilityClassKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Controllability Class Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ControllabilityClassKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ControllabilityClassKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ 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 ControllabilityClassKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * 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;
+ }
+
+} //ControllabilityClassKind
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/Dependability.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/Dependability.java
new file mode 100644
index 00000000000..0e790d14792
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/Dependability.java
@@ -0,0 +1,305 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.FaultFailure;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyConstraint;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.FunctionalSafetyConcept;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.TechnicalSafetyConcept;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatype;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Dependability</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.Dependability#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.Dependability#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.Dependability#getFunctionalSafetyConcept <em>Functional Safety Concept</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.Dependability#getSafetyGoal <em>Safety Goal</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.Dependability#getTechnicalSafetyConcept <em>Technical Safety Concept</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.Dependability#getHazardousEvent <em>Hazardous Event</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.Dependability#getFeatureFlaw <em>Feature Flaw</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.Dependability#getItem <em>Item</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.Dependability#getEADatatype <em>EA Datatype</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.Dependability#getFaultFailure <em>Fault Failure</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.Dependability#getQuantitativeSafetyConstraint <em>Quantitative Safety Constraint</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.Dependability#getSafetyConstraint <em>Safety Constraint</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.Dependability#getSafetyCase <em>Safety Case</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.Dependability#getErrorModelType <em>Error Model Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getDependability()
+ * @model
+ * @generated
+ */
+public interface Dependability extends Context {
+ /**
+ * 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.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getDependability_Base_Class()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.Dependability#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>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.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getDependability_Base_Package()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.Dependability#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>Error Model Type</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Error Model 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>Error Model Type</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getDependability_ErrorModelType()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<ErrorModelType> getErrorModelType();
+
+ /**
+ * Returns the value of the '<em><b>Fault Failure</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.FaultFailure}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Fault Failure</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>Fault Failure</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getDependability_FaultFailure()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<FaultFailure> getFaultFailure();
+
+ /**
+ * Returns the value of the '<em><b>Feature Flaw</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.FeatureFlaw}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Feature Flaw</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>Feature Flaw</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getDependability_FeatureFlaw()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<FeatureFlaw> getFeatureFlaw();
+
+ /**
+ * Returns the value of the '<em><b>Functional Safety Concept</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.FunctionalSafetyConcept}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Functional Safety Concept</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>Functional Safety Concept</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getDependability_FunctionalSafetyConcept()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<FunctionalSafetyConcept> getFunctionalSafetyConcept();
+
+ /**
+ * Returns the value of the '<em><b>Hazardous Event</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Hazardous Event</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>Hazardous Event</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getDependability_HazardousEvent()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<HazardousEvent> getHazardousEvent();
+
+ /**
+ * Returns the value of the '<em><b>Item</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.Item}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Item</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>Item</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getDependability_Item()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Item> getItem();
+
+ /**
+ * Returns the value of the '<em><b>EA Datatype</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatype}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>EA Datatype</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>EA Datatype</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getDependability_EADatatype()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<EADatatype> getEADatatype();
+
+ /**
+ * Returns the value of the '<em><b>Quantitative Safety Constraint</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Quantitative Safety Constraint</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>Quantitative Safety Constraint</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getDependability_QuantitativeSafetyConstraint()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<QuantitativeSafetyConstraint> getQuantitativeSafetyConstraint();
+
+ /**
+ * Returns the value of the '<em><b>Safety Case</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Safety Case</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>Safety Case</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getDependability_SafetyCase()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<SafetyCase> getSafetyCase();
+
+ /**
+ * Returns the value of the '<em><b>Safety Constraint</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyConstraint}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Safety Constraint</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>Safety Constraint</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getDependability_SafetyConstraint()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<SafetyConstraint> getSafetyConstraint();
+
+ /**
+ * Returns the value of the '<em><b>Safety Goal</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Safety Goal</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>Safety Goal</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getDependability_SafetyGoal()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<SafetyGoal> getSafetyGoal();
+
+ /**
+ * Returns the value of the '<em><b>Technical Safety Concept</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.TechnicalSafetyConcept}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Technical Safety Concept</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>Technical Safety Concept</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getDependability_TechnicalSafetyConcept()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TechnicalSafetyConcept> getTechnicalSafetyConcept();
+
+} // Dependability
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/DependabilityFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/DependabilityFactory.java
new file mode 100644
index 00000000000..0e73d3c4ab0
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/DependabilityFactory.java
@@ -0,0 +1,91 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability;
+
+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.eclipse.papyrus.eastadl.dependability.DependabilityPackage
+ * @generated
+ */
+public interface DependabilityFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ DependabilityFactory eINSTANCE = org.eclipse.papyrus.eastadl.dependability.impl.DependabilityFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Dependability</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Dependability</em>'.
+ * @generated
+ */
+ Dependability createDependability();
+
+ /**
+ * Returns a new object of class '<em>Feature Flaw</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Feature Flaw</em>'.
+ * @generated
+ */
+ FeatureFlaw createFeatureFlaw();
+
+ /**
+ * Returns a new object of class '<em>Hazard</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hazard</em>'.
+ * @generated
+ */
+ Hazard createHazard();
+
+ /**
+ * Returns a new object of class '<em>Hazardous Event</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hazardous Event</em>'.
+ * @generated
+ */
+ HazardousEvent createHazardousEvent();
+
+ /**
+ * Returns a new object of class '<em>Item</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Item</em>'.
+ * @generated
+ */
+ Item createItem();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ DependabilityPackage getDependabilityPackage();
+
+} //DependabilityFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/DependabilityPackage.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/DependabilityPackage.java
new file mode 100644
index 00000000000..2a1b290294d
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/DependabilityPackage.java
@@ -0,0 +1,1562 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability;
+
+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.eastadl.infrastructure.elements.ElementsPackage;
+
+
+/**
+ * <!-- 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 -->
+ * <!-- begin-model-doc -->
+ * Dependability of a system is the ability to avoid service failures that are more frequent and more severe than is acceptable. Dependability includes several aspects, namely Availability, Reliability, Safety, Integrity and Maintainability. The Dependability package includes support for defining and classifying safety requirements through preliminary Hazard Analysis Risk Assessment, tracing and categorizing safety requirements according to role in safety life-cycle, formalizing safety requirements using safety constraints, formalizing and assessing fault propagation through error models and organizing evidence of safety in a Safety Case.
+ * The support for safety is designed to support the automotive standard for Functional Safety, ISO/DIS 26262.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface DependabilityPackage extends EPackage {
+ /**
+ * <!-- 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.eclipse.papyrus.eastadl.dependability.impl.HazardousEventImpl <em>Hazardous Event</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.impl.HazardousEventImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl#getHazardousEvent()
+ * @generated
+ */
+ EClass HAZARDOUS_EVENT = eINSTANCE.getHazardousEvent();
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HAZARDOUS_EVENT__BASE_CLASS = eINSTANCE.getHazardousEvent_Base_Class();
+ /**
+ * The meta object literal for the '<em><b>Controllability</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HAZARDOUS_EVENT__CONTROLLABILITY = eINSTANCE.getHazardousEvent_Controllability();
+ /**
+ * The meta object literal for the '<em><b>Exposure</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HAZARDOUS_EVENT__EXPOSURE = eINSTANCE.getHazardousEvent_Exposure();
+ /**
+ * The meta object literal for the '<em><b>Hazard Classification</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HAZARDOUS_EVENT__HAZARD_CLASSIFICATION = eINSTANCE.getHazardousEvent_HazardClassification();
+ /**
+ * The meta object literal for the '<em><b>Severity</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HAZARDOUS_EVENT__SEVERITY = eINSTANCE.getHazardousEvent_Severity();
+ /**
+ * The meta object literal for the '<em><b>Classification Assumptions</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HAZARDOUS_EVENT__CLASSIFICATION_ASSUMPTIONS = eINSTANCE.getHazardousEvent_ClassificationAssumptions();
+ /**
+ * The meta object literal for the '<em><b>Hazard</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HAZARDOUS_EVENT__HAZARD = eINSTANCE.getHazardousEvent_Hazard();
+ /**
+ * The meta object literal for the '<em><b>Traffic</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HAZARDOUS_EVENT__TRAFFIC = eINSTANCE.getHazardousEvent_Traffic();
+ /**
+ * The meta object literal for the '<em><b>Environment</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HAZARDOUS_EVENT__ENVIRONMENT = eINSTANCE.getHazardousEvent_Environment();
+ /**
+ * The meta object literal for the '<em><b>Operational Situation Use Case</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HAZARDOUS_EVENT__OPERATIONAL_SITUATION_USE_CASE = eINSTANCE.getHazardousEvent_OperationalSituationUseCase();
+ /**
+ * The meta object literal for the '<em><b>Operating Mode</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HAZARDOUS_EVENT__OPERATING_MODE = eINSTANCE.getHazardousEvent_OperatingMode();
+ /**
+ * The meta object literal for the '<em><b>External Measures</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HAZARDOUS_EVENT__EXTERNAL_MEASURES = eINSTANCE.getHazardousEvent_ExternalMeasures();
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.dependability.impl.HazardImpl <em>Hazard</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.impl.HazardImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl#getHazard()
+ * @generated
+ */
+ EClass HAZARD = eINSTANCE.getHazard();
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HAZARD__BASE_CLASS = eINSTANCE.getHazard_Base_Class();
+ /**
+ * The meta object literal for the '<em><b>Malfunction</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HAZARD__MALFUNCTION = eINSTANCE.getHazard_Malfunction();
+ /**
+ * The meta object literal for the '<em><b>Item</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HAZARD__ITEM = eINSTANCE.getHazard_Item();
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.dependability.impl.FeatureFlawImpl <em>Feature Flaw</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.impl.FeatureFlawImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl#getFeatureFlaw()
+ * @generated
+ */
+ EClass FEATURE_FLAW = eINSTANCE.getFeatureFlaw();
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FEATURE_FLAW__BASE_CLASS = eINSTANCE.getFeatureFlaw_Base_Class();
+ /**
+ * The meta object literal for the '<em><b>Item</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FEATURE_FLAW__ITEM = eINSTANCE.getFeatureFlaw_Item();
+ /**
+ * The meta object literal for the '<em><b>Non Fulfilled Requirement</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FEATURE_FLAW__NON_FULFILLED_REQUIREMENT = eINSTANCE.getFeatureFlaw_NonFulfilledRequirement();
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.dependability.impl.ItemImpl <em>Item</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.impl.ItemImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl#getItem()
+ * @generated
+ */
+ EClass ITEM = eINSTANCE.getItem();
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ITEM__BASE_CLASS = eINSTANCE.getItem_Base_Class();
+ /**
+ * The meta object literal for the '<em><b>Development Category</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ITEM__DEVELOPMENT_CATEGORY = eINSTANCE.getItem_DevelopmentCategory();
+ /**
+ * The meta object literal for the '<em><b>Vehicle Feature</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ITEM__VEHICLE_FEATURE = eINSTANCE.getItem_VehicleFeature();
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.dependability.impl.DependabilityImpl <em>Dependability</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.impl.DependabilityImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl#getDependability()
+ * @generated
+ */
+ EClass DEPENDABILITY = eINSTANCE.getDependability();
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DEPENDABILITY__BASE_CLASS = eINSTANCE.getDependability_Base_Class();
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DEPENDABILITY__BASE_PACKAGE = eINSTANCE.getDependability_Base_Package();
+ /**
+ * The meta object literal for the '<em><b>Functional Safety Concept</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DEPENDABILITY__FUNCTIONAL_SAFETY_CONCEPT = eINSTANCE.getDependability_FunctionalSafetyConcept();
+ /**
+ * The meta object literal for the '<em><b>Safety Goal</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DEPENDABILITY__SAFETY_GOAL = eINSTANCE.getDependability_SafetyGoal();
+ /**
+ * The meta object literal for the '<em><b>Technical Safety Concept</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DEPENDABILITY__TECHNICAL_SAFETY_CONCEPT = eINSTANCE.getDependability_TechnicalSafetyConcept();
+ /**
+ * The meta object literal for the '<em><b>Hazardous Event</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DEPENDABILITY__HAZARDOUS_EVENT = eINSTANCE.getDependability_HazardousEvent();
+ /**
+ * The meta object literal for the '<em><b>Feature Flaw</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DEPENDABILITY__FEATURE_FLAW = eINSTANCE.getDependability_FeatureFlaw();
+ /**
+ * The meta object literal for the '<em><b>Item</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DEPENDABILITY__ITEM = eINSTANCE.getDependability_Item();
+ /**
+ * The meta object literal for the '<em><b>EA Datatype</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DEPENDABILITY__EA_DATATYPE = eINSTANCE.getDependability_EADatatype();
+ /**
+ * The meta object literal for the '<em><b>Fault Failure</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DEPENDABILITY__FAULT_FAILURE = eINSTANCE.getDependability_FaultFailure();
+ /**
+ * The meta object literal for the '<em><b>Quantitative Safety Constraint</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DEPENDABILITY__QUANTITATIVE_SAFETY_CONSTRAINT = eINSTANCE.getDependability_QuantitativeSafetyConstraint();
+ /**
+ * The meta object literal for the '<em><b>Safety Constraint</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DEPENDABILITY__SAFETY_CONSTRAINT = eINSTANCE.getDependability_SafetyConstraint();
+ /**
+ * The meta object literal for the '<em><b>Safety Case</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DEPENDABILITY__SAFETY_CASE = eINSTANCE.getDependability_SafetyCase();
+ /**
+ * The meta object literal for the '<em><b>Error Model Type</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DEPENDABILITY__ERROR_MODEL_TYPE = eINSTANCE.getDependability_ErrorModelType();
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.dependability.ControllabilityClassKind <em>Controllability Class Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.ControllabilityClassKind
+ * @see org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl#getControllabilityClassKind()
+ * @generated
+ */
+ EEnum CONTROLLABILITY_CLASS_KIND = eINSTANCE.getControllabilityClassKind();
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.dependability.ExposureClassKind <em>Exposure Class Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.ExposureClassKind
+ * @see org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl#getExposureClassKind()
+ * @generated
+ */
+ EEnum EXPOSURE_CLASS_KIND = eINSTANCE.getExposureClassKind();
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.dependability.SeverityClassKind <em>Severity Class Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.SeverityClassKind
+ * @see org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl#getSeverityClassKind()
+ * @generated
+ */
+ EEnum SEVERITY_CLASS_KIND = eINSTANCE.getSeverityClassKind();
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.dependability.DevelopmentCategoryKind <em>Development Category Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.DevelopmentCategoryKind
+ * @see org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl#getDevelopmentCategoryKind()
+ * @generated
+ */
+ EEnum DEVELOPMENT_CATEGORY_KIND = eINSTANCE.getDevelopmentCategoryKind();
+
+ }
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "dependability";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.papyrusuml.org/EAST-ADL2/Dependability/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "Dependability";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ DependabilityPackage eINSTANCE = org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl.init();
+
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.impl.HazardousEventImpl <em>Hazardous Event</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.impl.HazardousEventImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl#getHazardousEvent()
+ * @generated
+ */
+ int HAZARDOUS_EVENT = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HAZARDOUS_EVENT__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HAZARDOUS_EVENT__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HAZARDOUS_EVENT__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HAZARDOUS_EVENT__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HAZARDOUS_EVENT__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HAZARDOUS_EVENT__BASE_CLASS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Controllability</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HAZARDOUS_EVENT__CONTROLLABILITY = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Exposure</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HAZARDOUS_EVENT__EXPOSURE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Hazard Classification</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HAZARDOUS_EVENT__HAZARD_CLASSIFICATION = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Severity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HAZARDOUS_EVENT__SEVERITY = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Classification Assumptions</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HAZARDOUS_EVENT__CLASSIFICATION_ASSUMPTIONS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Hazard</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HAZARDOUS_EVENT__HAZARD = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Traffic</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HAZARDOUS_EVENT__TRAFFIC = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Environment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HAZARDOUS_EVENT__ENVIRONMENT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Operational Situation Use Case</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HAZARDOUS_EVENT__OPERATIONAL_SITUATION_USE_CASE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Operating Mode</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HAZARDOUS_EVENT__OPERATING_MODE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>External Measures</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HAZARDOUS_EVENT__EXTERNAL_MEASURES = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 11;
+
+ /**
+ * The number of structural features of the '<em>Hazardous Event</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HAZARDOUS_EVENT_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 12;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.impl.HazardImpl <em>Hazard</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.impl.HazardImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl#getHazard()
+ * @generated
+ */
+ int HAZARD = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HAZARD__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HAZARD__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HAZARD__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HAZARD__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HAZARD__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HAZARD__BASE_CLASS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Malfunction</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HAZARD__MALFUNCTION = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Item</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HAZARD__ITEM = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Hazard</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HAZARD_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.impl.FeatureFlawImpl <em>Feature Flaw</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.impl.FeatureFlawImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl#getFeatureFlaw()
+ * @generated
+ */
+ int FEATURE_FLAW = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_FLAW__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_FLAW__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_FLAW__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_FLAW__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_FLAW__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_FLAW__BASE_CLASS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Item</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_FLAW__ITEM = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Non Fulfilled Requirement</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_FLAW__NON_FULFILLED_REQUIREMENT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Feature Flaw</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_FLAW_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.impl.ItemImpl <em>Item</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.impl.ItemImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl#getItem()
+ * @generated
+ */
+ int ITEM = 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM__BASE_CLASS = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Development Category</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM__DEVELOPMENT_CATEGORY = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Vehicle Feature</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM__VEHICLE_FEATURE = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Item</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.impl.DependabilityImpl <em>Dependability</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.impl.DependabilityImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl#getDependability()
+ * @generated
+ */
+ int DEPENDABILITY = 4;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEPENDABILITY__NAME = ElementsPackage.CONTEXT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEPENDABILITY__BASE_NAMED_ELEMENT = ElementsPackage.CONTEXT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEPENDABILITY__OWNED_COMMENT = ElementsPackage.CONTEXT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEPENDABILITY__TRACEABLE_SPECIFICATION = ElementsPackage.CONTEXT__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEPENDABILITY__OWNED_RELATIONSHIP = ElementsPackage.CONTEXT__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEPENDABILITY__BASE_CLASS = ElementsPackage.CONTEXT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEPENDABILITY__BASE_PACKAGE = ElementsPackage.CONTEXT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Functional Safety Concept</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEPENDABILITY__FUNCTIONAL_SAFETY_CONCEPT = ElementsPackage.CONTEXT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Safety Goal</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEPENDABILITY__SAFETY_GOAL = ElementsPackage.CONTEXT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Technical Safety Concept</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEPENDABILITY__TECHNICAL_SAFETY_CONCEPT = ElementsPackage.CONTEXT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Hazardous Event</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEPENDABILITY__HAZARDOUS_EVENT = ElementsPackage.CONTEXT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Feature Flaw</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEPENDABILITY__FEATURE_FLAW = ElementsPackage.CONTEXT_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Item</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEPENDABILITY__ITEM = ElementsPackage.CONTEXT_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>EA Datatype</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEPENDABILITY__EA_DATATYPE = ElementsPackage.CONTEXT_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Fault Failure</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEPENDABILITY__FAULT_FAILURE = ElementsPackage.CONTEXT_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Quantitative Safety Constraint</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEPENDABILITY__QUANTITATIVE_SAFETY_CONSTRAINT = ElementsPackage.CONTEXT_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Safety Constraint</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEPENDABILITY__SAFETY_CONSTRAINT = ElementsPackage.CONTEXT_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the '<em><b>Safety Case</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEPENDABILITY__SAFETY_CASE = ElementsPackage.CONTEXT_FEATURE_COUNT + 12;
+
+ /**
+ * The feature id for the '<em><b>Error Model Type</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEPENDABILITY__ERROR_MODEL_TYPE = ElementsPackage.CONTEXT_FEATURE_COUNT + 13;
+
+ /**
+ * The number of structural features of the '<em>Dependability</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEPENDABILITY_FEATURE_COUNT = ElementsPackage.CONTEXT_FEATURE_COUNT + 14;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.ControllabilityClassKind <em>Controllability Class Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.ControllabilityClassKind
+ * @see org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl#getControllabilityClassKind()
+ * @generated
+ */
+ int CONTROLLABILITY_CLASS_KIND = 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.ExposureClassKind <em>Exposure Class Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.ExposureClassKind
+ * @see org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl#getExposureClassKind()
+ * @generated
+ */
+ int EXPOSURE_CLASS_KIND = 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.SeverityClassKind <em>Severity Class Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.SeverityClassKind
+ * @see org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl#getSeverityClassKind()
+ * @generated
+ */
+ int SEVERITY_CLASS_KIND = 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.DevelopmentCategoryKind <em>Development Category Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.DevelopmentCategoryKind
+ * @see org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl#getDevelopmentCategoryKind()
+ * @generated
+ */
+ int DEVELOPMENT_CATEGORY_KIND = 8;
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.eastadl.dependability.ControllabilityClassKind <em>Controllability Class Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Controllability Class Kind</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.ControllabilityClassKind
+ * @generated
+ */
+ EEnum getControllabilityClassKind();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.dependability.Dependability <em>Dependability</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Dependability</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.Dependability
+ * @generated
+ */
+ EClass getDependability();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.Dependability#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.eclipse.papyrus.eastadl.dependability.Dependability#getBase_Class()
+ * @see #getDependability()
+ * @generated
+ */
+ EReference getDependability_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.Dependability#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.eclipse.papyrus.eastadl.dependability.Dependability#getBase_Package()
+ * @see #getDependability()
+ * @generated
+ */
+ EReference getDependability_Base_Package();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.Dependability#getErrorModelType <em>Error Model Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Error Model Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.Dependability#getErrorModelType()
+ * @see #getDependability()
+ * @generated
+ */
+ EReference getDependability_ErrorModelType();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.Dependability#getFaultFailure <em>Fault Failure</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Fault Failure</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.Dependability#getFaultFailure()
+ * @see #getDependability()
+ * @generated
+ */
+ EReference getDependability_FaultFailure();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.Dependability#getFeatureFlaw <em>Feature Flaw</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Feature Flaw</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.Dependability#getFeatureFlaw()
+ * @see #getDependability()
+ * @generated
+ */
+ EReference getDependability_FeatureFlaw();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.Dependability#getFunctionalSafetyConcept <em>Functional Safety Concept</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Functional Safety Concept</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.Dependability#getFunctionalSafetyConcept()
+ * @see #getDependability()
+ * @generated
+ */
+ EReference getDependability_FunctionalSafetyConcept();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.Dependability#getHazardousEvent <em>Hazardous Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Hazardous Event</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.Dependability#getHazardousEvent()
+ * @see #getDependability()
+ * @generated
+ */
+ EReference getDependability_HazardousEvent();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.Dependability#getItem <em>Item</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Item</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.Dependability#getItem()
+ * @see #getDependability()
+ * @generated
+ */
+ EReference getDependability_Item();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.Dependability#getEADatatype <em>EA Datatype</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>EA Datatype</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.Dependability#getEADatatype()
+ * @see #getDependability()
+ * @generated
+ */
+ EReference getDependability_EADatatype();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.Dependability#getQuantitativeSafetyConstraint <em>Quantitative Safety Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Quantitative Safety Constraint</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.Dependability#getQuantitativeSafetyConstraint()
+ * @see #getDependability()
+ * @generated
+ */
+ EReference getDependability_QuantitativeSafetyConstraint();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.Dependability#getSafetyCase <em>Safety Case</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Safety Case</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.Dependability#getSafetyCase()
+ * @see #getDependability()
+ * @generated
+ */
+ EReference getDependability_SafetyCase();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.Dependability#getSafetyConstraint <em>Safety Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Safety Constraint</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.Dependability#getSafetyConstraint()
+ * @see #getDependability()
+ * @generated
+ */
+ EReference getDependability_SafetyConstraint();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.Dependability#getSafetyGoal <em>Safety Goal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Safety Goal</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.Dependability#getSafetyGoal()
+ * @see #getDependability()
+ * @generated
+ */
+ EReference getDependability_SafetyGoal();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.Dependability#getTechnicalSafetyConcept <em>Technical Safety Concept</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Technical Safety Concept</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.Dependability#getTechnicalSafetyConcept()
+ * @see #getDependability()
+ * @generated
+ */
+ EReference getDependability_TechnicalSafetyConcept();
+
+ /**
+ * 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
+ */
+ DependabilityFactory getDependabilityFactory();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.eastadl.dependability.DevelopmentCategoryKind <em>Development Category Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Development Category Kind</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.DevelopmentCategoryKind
+ * @generated
+ */
+ EEnum getDevelopmentCategoryKind();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.eastadl.dependability.ExposureClassKind <em>Exposure Class Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Exposure Class Kind</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.ExposureClassKind
+ * @generated
+ */
+ EEnum getExposureClassKind();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.dependability.FeatureFlaw <em>Feature Flaw</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Feature Flaw</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.FeatureFlaw
+ * @generated
+ */
+ EClass getFeatureFlaw();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.FeatureFlaw#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.eclipse.papyrus.eastadl.dependability.FeatureFlaw#getBase_Class()
+ * @see #getFeatureFlaw()
+ * @generated
+ */
+ EReference getFeatureFlaw_Base_Class();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.FeatureFlaw#getItem <em>Item</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Item</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.FeatureFlaw#getItem()
+ * @see #getFeatureFlaw()
+ * @generated
+ */
+ EReference getFeatureFlaw_Item();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.FeatureFlaw#getNonFulfilledRequirement <em>Non Fulfilled Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Non Fulfilled Requirement</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.FeatureFlaw#getNonFulfilledRequirement()
+ * @see #getFeatureFlaw()
+ * @generated
+ */
+ EReference getFeatureFlaw_NonFulfilledRequirement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.dependability.Hazard <em>Hazard</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hazard</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.Hazard
+ * @generated
+ */
+ EClass getHazard();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.Hazard#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.eclipse.papyrus.eastadl.dependability.Hazard#getBase_Class()
+ * @see #getHazard()
+ * @generated
+ */
+ EReference getHazard_Base_Class();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.Hazard#getItem <em>Item</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Item</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.Hazard#getItem()
+ * @see #getHazard()
+ * @generated
+ */
+ EReference getHazard_Item();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.Hazard#getMalfunction <em>Malfunction</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Malfunction</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.Hazard#getMalfunction()
+ * @see #getHazard()
+ * @generated
+ */
+ EReference getHazard_Malfunction();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent <em>Hazardous Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hazardous Event</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.HazardousEvent
+ * @generated
+ */
+ EClass getHazardousEvent();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#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.eclipse.papyrus.eastadl.dependability.HazardousEvent#getBase_Class()
+ * @see #getHazardousEvent()
+ * @generated
+ */
+ EReference getHazardousEvent_Base_Class();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getClassificationAssumptions <em>Classification Assumptions</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Classification Assumptions</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getClassificationAssumptions()
+ * @see #getHazardousEvent()
+ * @generated
+ */
+ EAttribute getHazardousEvent_ClassificationAssumptions();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getControllability <em>Controllability</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Controllability</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getControllability()
+ * @see #getHazardousEvent()
+ * @generated
+ */
+ EAttribute getHazardousEvent_Controllability();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getEnvironment <em>Environment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Environment</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getEnvironment()
+ * @see #getHazardousEvent()
+ * @generated
+ */
+ EReference getHazardousEvent_Environment();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getExposure <em>Exposure</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Exposure</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getExposure()
+ * @see #getHazardousEvent()
+ * @generated
+ */
+ EAttribute getHazardousEvent_Exposure();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getExternalMeasures <em>External Measures</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>External Measures</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getExternalMeasures()
+ * @see #getHazardousEvent()
+ * @generated
+ */
+ EReference getHazardousEvent_ExternalMeasures();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getHazard <em>Hazard</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Hazard</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getHazard()
+ * @see #getHazardousEvent()
+ * @generated
+ */
+ EReference getHazardousEvent_Hazard();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getHazardClassification <em>Hazard Classification</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Hazard Classification</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getHazardClassification()
+ * @see #getHazardousEvent()
+ * @generated
+ */
+ EAttribute getHazardousEvent_HazardClassification();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getOperatingMode <em>Operating Mode</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Operating Mode</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getOperatingMode()
+ * @see #getHazardousEvent()
+ * @generated
+ */
+ EReference getHazardousEvent_OperatingMode();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getOperationalSituationUseCase <em>Operational Situation Use Case</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Operational Situation Use Case</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getOperationalSituationUseCase()
+ * @see #getHazardousEvent()
+ * @generated
+ */
+ EReference getHazardousEvent_OperationalSituationUseCase();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getSeverity <em>Severity</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Severity</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getSeverity()
+ * @see #getHazardousEvent()
+ * @generated
+ */
+ EAttribute getHazardousEvent_Severity();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getTraffic <em>Traffic</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Traffic</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getTraffic()
+ * @see #getHazardousEvent()
+ * @generated
+ */
+ EReference getHazardousEvent_Traffic();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.dependability.Item <em>Item</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Item</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.Item
+ * @generated
+ */
+ EClass getItem();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.Item#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.eclipse.papyrus.eastadl.dependability.Item#getBase_Class()
+ * @see #getItem()
+ * @generated
+ */
+ EReference getItem_Base_Class();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.dependability.Item#getDevelopmentCategory <em>Development Category</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Development Category</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.Item#getDevelopmentCategory()
+ * @see #getItem()
+ * @generated
+ */
+ EAttribute getItem_DevelopmentCategory();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.Item#getVehicleFeature <em>Vehicle Feature</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Vehicle Feature</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.Item#getVehicleFeature()
+ * @see #getItem()
+ * @generated
+ */
+ EReference getItem_VehicleFeature();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.eastadl.dependability.SeverityClassKind <em>Severity Class Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Severity Class Kind</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.SeverityClassKind
+ * @generated
+ */
+ EEnum getSeverityClassKind();
+
+} //DependabilityPackage
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/DevelopmentCategoryKind.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/DevelopmentCategoryKind.java
new file mode 100644
index 00000000000..d645f3cfea6
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/DevelopmentCategoryKind.java
@@ -0,0 +1,228 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability;
+
+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>Development Category Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * DevelopmentCategoryKind in an enumeration with enumeration literals indicating whether the item is a modification of an existing item or if it is a new development.
+ *
+ * Semantics:
+ * The semantics is defined at each enumeration literal and fully defined in the ISO26262 standard.
+ *
+ * Extension:
+ * Enumeration, no extension.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getDevelopmentCategoryKind()
+ * @model
+ * @generated
+ */
+public enum DevelopmentCategoryKind implements Enumerator {
+ /**
+ * The '<em><b>Modification Of Existing Item</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #MODIFICATION_OF_EXISTING_ITEM_VALUE
+ * @generated
+ * @ordered
+ */
+ MODIFICATION_OF_EXISTING_ITEM(0, "modificationOfExistingItem", "modificationOfExistingItem"),
+
+ /**
+ * The '<em><b>New Item Development</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #NEW_ITEM_DEVELOPMENT_VALUE
+ * @generated
+ * @ordered
+ */
+ NEW_ITEM_DEVELOPMENT(1, "newItemDevelopment", "newItemDevelopment");
+
+ /**
+ * The '<em><b>Modification Of Existing Item</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * In case of a modification the relevant lifecycle sub-phases and activities shall be determined.
+ * <!-- end-model-doc -->
+ * @see #MODIFICATION_OF_EXISTING_ITEM
+ * @model name="modificationOfExistingItem"
+ * @generated
+ * @ordered
+ */
+ public static final int MODIFICATION_OF_EXISTING_ITEM_VALUE = 0;
+
+ /**
+ * The '<em><b>New Item Development</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * In case of a new development, the entire lifecycle shall be passed through.
+ * <!-- end-model-doc -->
+ * @see #NEW_ITEM_DEVELOPMENT
+ * @model name="newItemDevelopment"
+ * @generated
+ * @ordered
+ */
+ public static final int NEW_ITEM_DEVELOPMENT_VALUE = 1;
+
+ /**
+ * An array of all the '<em><b>Development Category Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final DevelopmentCategoryKind[] VALUES_ARRAY =
+ new DevelopmentCategoryKind[] {
+ MODIFICATION_OF_EXISTING_ITEM,
+ NEW_ITEM_DEVELOPMENT,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Development Category Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<DevelopmentCategoryKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Development Category Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static DevelopmentCategoryKind get(int value) {
+ switch (value) {
+ case MODIFICATION_OF_EXISTING_ITEM_VALUE: return MODIFICATION_OF_EXISTING_ITEM;
+ case NEW_ITEM_DEVELOPMENT_VALUE: return NEW_ITEM_DEVELOPMENT;
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Development Category Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static DevelopmentCategoryKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ DevelopmentCategoryKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Development Category Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static DevelopmentCategoryKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ DevelopmentCategoryKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ 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 DevelopmentCategoryKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * 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;
+ }
+
+} //DevelopmentCategoryKind
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/ExposureClassKind.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/ExposureClassKind.java
new file mode 100644
index 00000000000..e0a498a4be7
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/ExposureClassKind.java
@@ -0,0 +1,284 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability;
+
+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>Exposure Class Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The ExposureClassKind is an enumeration metaclass with enumeration literals indicating the probability attributes E1, E2, E3 or E4 in accordance with ISO26262.
+ *
+ * Semantics:
+ * The semantics is defined at each enumeration literal and fully defined in the ISO26262 standard.
+ *
+ * Extension:
+ * Enumeration, no extension.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getExposureClassKind()
+ * @model
+ * @generated
+ */
+public enum ExposureClassKind implements Enumerator {
+ /**
+ * The '<em><b>E1</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #E1_VALUE
+ * @generated
+ * @ordered
+ */
+ E1(0, "E1", "E1"),
+
+ /**
+ * The '<em><b>E2</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #E2_VALUE
+ * @generated
+ * @ordered
+ */
+ E2(1, "E2", "E2"),
+
+ /**
+ * The '<em><b>E3</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #E3_VALUE
+ * @generated
+ * @ordered
+ */
+ E3(2, "E3", "E3"),
+
+ /**
+ * The '<em><b>E4</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #E4_VALUE
+ * @generated
+ * @ordered
+ */
+ E4(3, "E4", "E4");
+
+ /**
+ * The '<em><b>E1</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Rare events
+ * Situations that occur less often yhan once a year for the great majority of drivers
+ * <!-- end-model-doc -->
+ * @see #E1
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int E1_VALUE = 0;
+
+ /**
+ * The '<em><b>E2</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Sometimes
+ * Situations that occur a few times a year for the great majority of drivers
+ * <!-- end-model-doc -->
+ * @see #E2
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int E2_VALUE = 1;
+
+ /**
+ * The '<em><b>E3</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Quite often
+ * Situations that occur once a month or more often for an average driver
+ * <!-- end-model-doc -->
+ * @see #E3
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int E3_VALUE = 2;
+
+ /**
+ * The '<em><b>E4</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Often
+ * All situations that occur during almost every drive on average
+ * <!-- end-model-doc -->
+ * @see #E4
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int E4_VALUE = 3;
+
+ /**
+ * An array of all the '<em><b>Exposure Class Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final ExposureClassKind[] VALUES_ARRAY =
+ new ExposureClassKind[] {
+ E1,
+ E2,
+ E3,
+ E4,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Exposure Class Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<ExposureClassKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Exposure Class Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ExposureClassKind get(int value) {
+ switch (value) {
+ case E1_VALUE: return E1;
+ case E2_VALUE: return E2;
+ case E3_VALUE: return E3;
+ case E4_VALUE: return E4;
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Exposure Class Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ExposureClassKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ExposureClassKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Exposure Class Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ExposureClassKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ExposureClassKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ 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 ExposureClassKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * 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;
+ }
+
+} //ExposureClassKind
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/FeatureFlaw.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/FeatureFlaw.java
new file mode 100644
index 00000000000..248f7f2b2fa
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/FeatureFlaw.java
@@ -0,0 +1,110 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+import org.eclipse.papyrus.eastadl.requirements.Requirement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Feature Flaw</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * FeatureFlaw denotes an abstract failure of a set of items, i.e. an inability to fulfill one or several of its requirements.
+ *
+ * Semantics:
+ * FeatureFlaw represents functional anomalies derivable from each foreseeable source. nonFulfilledRequirements identifies those requirements that corresponds to the FeatureFlaw.
+ *
+ * Extension:
+ * UML::Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.FeatureFlaw#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.FeatureFlaw#getItem <em>Item</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.FeatureFlaw#getNonFulfilledRequirement <em>Non Fulfilled Requirement</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getFeatureFlaw()
+ * @model
+ * @generated
+ */
+public interface FeatureFlaw extends TraceableSpecification {
+ /**
+ * 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.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getFeatureFlaw_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.FeatureFlaw#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>Item</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.Item}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Item</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>Item</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getFeatureFlaw_Item()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<Item> getItem();
+
+ /**
+ * Returns the value of the '<em><b>Non Fulfilled Requirement</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.Requirement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Non Fulfilled Requirement</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>Non Fulfilled Requirement</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getFeatureFlaw_NonFulfilledRequirement()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Requirement> getNonFulfilledRequirement();
+
+} // FeatureFlaw
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/Hazard.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/Hazard.java
new file mode 100644
index 00000000000..c68ba2e96a8
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/Hazard.java
@@ -0,0 +1,105 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hazard</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The Hazard represents a condition or state in the system that may contribute to accidents. It is usually a failure of some kind, but may also be a result of nominal operation.
+ * The Hazard does not address hazards as electric shock, fire, smoke, heat, radiation, toxicity, flammability, reactivity, corrosion, release of energy, and similar hazards unless directly caused by malfunctioning behaviour of E/E safety related systems..
+ * The Hazard metaclass is contained in the context, as Hazard specializes ADLTraceableSpecification. The context describes the element of the system where this hazard occur.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.Hazard#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.Hazard#getMalfunction <em>Malfunction</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.Hazard#getItem <em>Item</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getHazard()
+ * @model
+ * @generated
+ */
+public interface Hazard extends TraceableSpecification {
+ /**
+ * 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.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getHazard_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.Hazard#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>Item</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.Item}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Item</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>Item</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getHazard_Item()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<Item> getItem();
+
+ /**
+ * Returns the value of the '<em><b>Malfunction</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.FeatureFlaw}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Malfunction</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>Malfunction</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getHazard_Malfunction()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<FeatureFlaw> getMalfunction();
+
+} // Hazard
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/HazardousEvent.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/HazardousEvent.java
new file mode 100644
index 00000000000..9437a09778f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/HazardousEvent.java
@@ -0,0 +1,332 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.behavior.Mode;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.ASILKind;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+import org.eclipse.papyrus.eastadl.requirements.OperationalSituation;
+import org.eclipse.papyrus.eastadl.requirements.Requirement;
+import org.eclipse.uml2.uml.UseCase;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hazardous Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The HazardousEvent metaclass represents a combination of a Hazard and a specific situation, the latter being characterized by operating mode and operational situation in terms of a particular use case, environment and traffic.
+ *
+ * Semantics:
+ * The HazardousEvent denotes a combination of a Hazard and an operational situation. The controllability and severity attributes shall be consistent with the operational situation and operational scenario, and the Exposure shall reflect the likelihood of the operational situation and scenario.
+ *
+ * Notation:
+ * The Hazard is shown as a solid-outline rectangle with "Haz" at the top right. It contains the name of the Hazard and optionally the name of the source entity.
+ *
+ * Extension:
+ * UML::Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getControllability <em>Controllability</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getExposure <em>Exposure</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getHazardClassification <em>Hazard Classification</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getSeverity <em>Severity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getClassificationAssumptions <em>Classification Assumptions</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getHazard <em>Hazard</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getTraffic <em>Traffic</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getEnvironment <em>Environment</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getOperationalSituationUseCase <em>Operational Situation Use Case</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getOperatingMode <em>Operating Mode</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getExternalMeasures <em>External Measures</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getHazardousEvent()
+ * @model
+ * @generated
+ */
+public interface HazardousEvent extends TraceableSpecification {
+ /**
+ * 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.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getHazardousEvent_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#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>Classification Assumptions</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Classification Assumptions</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Classification Assumptions</em>' attribute.
+ * @see #setClassificationAssumptions(String)
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getHazardousEvent_ClassificationAssumptions()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" ordered="false"
+ * @generated
+ */
+ String getClassificationAssumptions();
+
+ /**
+ * Returns the value of the '<em><b>Controllability</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.eastadl.dependability.ControllabilityClassKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Controllability</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Controllability</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.dependability.ControllabilityClassKind
+ * @see #setControllability(ControllabilityClassKind)
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getHazardousEvent_Controllability()
+ * @model unique="false" required="true" ordered="false"
+ * @generated
+ */
+ ControllabilityClassKind getControllability();
+
+ /**
+ * Returns the value of the '<em><b>Environment</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.OperationalSituation}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Environment</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>Environment</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getHazardousEvent_Environment()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<OperationalSituation> getEnvironment();
+
+ /**
+ * Returns the value of the '<em><b>Exposure</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.eastadl.dependability.ExposureClassKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Exposure</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Exposure</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.dependability.ExposureClassKind
+ * @see #setExposure(ExposureClassKind)
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getHazardousEvent_Exposure()
+ * @model unique="false" required="true" ordered="false"
+ * @generated
+ */
+ ExposureClassKind getExposure();
+
+ /**
+ * Returns the value of the '<em><b>External Measures</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.Requirement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>External Measures</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>External Measures</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getHazardousEvent_ExternalMeasures()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Requirement> getExternalMeasures();
+
+ /**
+ * Returns the value of the '<em><b>Hazard</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.Hazard}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Hazard</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>Hazard</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getHazardousEvent_Hazard()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<Hazard> getHazard();
+
+ /**
+ * Returns the value of the '<em><b>Hazard Classification</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.ASILKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Hazard Classification</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Hazard Classification</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.ASILKind
+ * @see #setHazardClassification(ASILKind)
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getHazardousEvent_HazardClassification()
+ * @model unique="false" required="true" ordered="false"
+ * @generated
+ */
+ ASILKind getHazardClassification();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getHazardClassification <em>Hazard Classification</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Hazard Classification</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.ASILKind
+ * @see #getHazardClassification()
+ * @generated
+ */
+ void setHazardClassification(ASILKind value);
+
+ /**
+ * Returns the value of the '<em><b>Operating Mode</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.behavior.Mode}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Operating 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>Operating Mode</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getHazardousEvent_OperatingMode()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Mode> getOperatingMode();
+
+ /**
+ * Returns the value of the '<em><b>Operational Situation Use Case</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.UseCase}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Operational Situation Use Case</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>Operational Situation Use Case</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getHazardousEvent_OperationalSituationUseCase()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<UseCase> getOperationalSituationUseCase();
+
+ /**
+ * Returns the value of the '<em><b>Severity</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.eastadl.dependability.SeverityClassKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Severity</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Severity</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.dependability.SeverityClassKind
+ * @see #setSeverity(SeverityClassKind)
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getHazardousEvent_Severity()
+ * @model unique="false" required="true" ordered="false"
+ * @generated
+ */
+ SeverityClassKind getSeverity();
+
+ /**
+ * Returns the value of the '<em><b>Traffic</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.OperationalSituation}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Traffic</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>Traffic</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getHazardousEvent_Traffic()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<OperationalSituation> getTraffic();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getClassificationAssumptions <em>Classification Assumptions</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Classification Assumptions</em>' attribute.
+ * @see #getClassificationAssumptions()
+ * @generated
+ */
+ void setClassificationAssumptions(String value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getControllability <em>Controllability</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Controllability</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.dependability.ControllabilityClassKind
+ * @see #getControllability()
+ * @generated
+ */
+ void setControllability(ControllabilityClassKind value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getExposure <em>Exposure</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Exposure</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.dependability.ExposureClassKind
+ * @see #getExposure()
+ * @generated
+ */
+ void setExposure(ExposureClassKind value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent#getSeverity <em>Severity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Severity</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.dependability.SeverityClassKind
+ * @see #getSeverity()
+ * @generated
+ */
+ void setSeverity(SeverityClassKind value);
+
+} // HazardousEvent
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/Item.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/Item.java
new file mode 100644
index 00000000000..e7a7e7c38b4
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/Item.java
@@ -0,0 +1,122 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Item</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The Item entity identifies the scope of safety information and the safety assessment, i.e. the part of the system onto which the ISO26262 related information applies. Safety analyses are carried out on the basis of an item definition and the safety concepts are derived from it.
+ *
+ * Semantics:
+ * Item represents the scope of safety information and the safety assessment trough its reference to one or several Features.
+ *
+ * Extension:
+ * UML::Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.Item#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.Item#getDevelopmentCategory <em>Development Category</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.Item#getVehicleFeature <em>Vehicle Feature</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getItem()
+ * @model
+ * @generated
+ */
+public interface Item extends EAElement {
+ /**
+ * 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.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getItem_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.Item#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>Development Category</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.eastadl.dependability.DevelopmentCategoryKind}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * It shall be determined whether the item is a modification of an existing item or if it is a new development.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Development Category</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.dependability.DevelopmentCategoryKind
+ * @see #setDevelopmentCategory(DevelopmentCategoryKind)
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getItem_DevelopmentCategory()
+ * @model unique="false" required="true" ordered="false"
+ * @generated
+ */
+ DevelopmentCategoryKind getDevelopmentCategory();
+
+ /**
+ * Returns the value of the '<em><b>Vehicle Feature</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Vehicle Feature</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>Vehicle Feature</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getItem_VehicleFeature()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<VehicleFeature> getVehicleFeature();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.Item#getDevelopmentCategory <em>Development Category</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Development Category</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.dependability.DevelopmentCategoryKind
+ * @see #getDevelopmentCategory()
+ * @generated
+ */
+ void setDevelopmentCategory(DevelopmentCategoryKind value);
+
+} // Item
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/SeverityClassKind.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/SeverityClassKind.java
new file mode 100644
index 00000000000..93845f0a370
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/SeverityClassKind.java
@@ -0,0 +1,280 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability;
+
+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>Severity Class Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The SeverityClassKind is an enumeration metaclass with enumeration literals indicating the severity attributes S0, S1, S2 or S3 in accordance with ISO26262.
+ *
+ * Semantics:
+ * The semantics is defined at each enumeration literal and fully defined in the ISO26262 standard.
+ *
+ * Extension:
+ * Enumeration, no extension.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.DependabilityPackage#getSeverityClassKind()
+ * @model
+ * @generated
+ */
+public enum SeverityClassKind implements Enumerator {
+ /**
+ * The '<em><b>S0</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #S0_VALUE
+ * @generated
+ * @ordered
+ */
+ S0(0, "S0", "S0"),
+
+ /**
+ * The '<em><b>S1</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #S1_VALUE
+ * @generated
+ * @ordered
+ */
+ S1(1, "S1", "S1"),
+
+ /**
+ * The '<em><b>S2</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #S2_VALUE
+ * @generated
+ * @ordered
+ */
+ S2(2, "S2", "S2"),
+
+ /**
+ * The '<em><b>S3</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #S3_VALUE
+ * @generated
+ * @ordered
+ */
+ S3(3, "S3", "S3");
+
+ /**
+ * The '<em><b>S0</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * No injuries.
+ * <!-- end-model-doc -->
+ * @see #S0
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int S0_VALUE = 0;
+
+ /**
+ * The '<em><b>S1</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Light and moderate injuries
+ * <!-- end-model-doc -->
+ * @see #S1
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int S1_VALUE = 1;
+
+ /**
+ * The '<em><b>S2</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Severe and life-threatening injuries (survival probable)
+ * <!-- end-model-doc -->
+ * @see #S2
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int S2_VALUE = 2;
+
+ /**
+ * The '<em><b>S3</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Life-threatening injuries (survival uncertain), fatal injuries
+ * <!-- end-model-doc -->
+ * @see #S3
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int S3_VALUE = 3;
+
+ /**
+ * An array of all the '<em><b>Severity Class Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final SeverityClassKind[] VALUES_ARRAY =
+ new SeverityClassKind[] {
+ S0,
+ S1,
+ S2,
+ S3,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Severity Class Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<SeverityClassKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Severity Class Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static SeverityClassKind get(int value) {
+ switch (value) {
+ case S0_VALUE: return S0;
+ case S1_VALUE: return S1;
+ case S2_VALUE: return S2;
+ case S3_VALUE: return S3;
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Severity Class Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static SeverityClassKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ SeverityClassKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Severity Class Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static SeverityClassKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ SeverityClassKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ 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 SeverityClassKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * 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;
+ }
+
+} //SeverityClassKind
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/Anomaly.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/Anomaly.java
new file mode 100644
index 00000000000..1bf18cc3430
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/Anomaly.java
@@ -0,0 +1,142 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel;
+
+
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatype;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.uml2.uml.Property;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Anomaly</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The Anomaly metaclass represents a Fault that may occur internally in an ErrorModel or being propagated to it, or a failure that is propagated out of an Error Model. The anomaly may represent different faults or failures depending on the range of its EADatatype. Typically, the EADatatype is an Enumeration, for example:
+ *
+ * BrakeAnomaly:
+ * - BrakePressureTooLow
+ * Semantics="brake pressure is below 20% of requested value"
+ * - Omission
+ * Semantics="brake pressure is below 10% of maximal brake pressure"
+ * - Comission
+ * Semantics="brake pressure exceeds requested value with more than 10% of maximal brake pressure"
+ *
+ * Semantics may also be a more formal expression defining in the type of the nominal datatype what value range is considered a fault. This depends on the user and tooling available.
+ *
+ * Semantics:
+ * An anomaly refers to a condition that deviates from expectations based on requirements specifications, design documents, user documents, standards, etc., or from someone's perceptions or experiences (ISO26262). The set of available faults or failures represented by the Anomaly is defined by its EADatatype, typically an enumeration type like {omission, commission}. It is an abstract class further specialized with metaclasses for different types of fault/failure.
+ *
+ *
+ * Extension:
+ * (UML::Part)
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.Anomaly#getGenericDescription <em>Generic Description</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.Anomaly#getBase_Property <em>Base Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.Anomaly#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getAnomaly()
+ * @model
+ * @generated
+ */
+public interface Anomaly extends EAElement {
+ /**
+ * Returns the value of the '<em><b>Generic Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Generic Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Generic Description</em>' attribute.
+ * @see #setGenericDescription(String)
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getAnomaly_GenericDescription()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getGenericDescription();
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Type</em>' reference.
+ * @see #setType(EADatatype)
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getAnomaly_Type()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EADatatype getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.Anomaly#getType <em>Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' reference.
+ * @see #getType()
+ * @generated
+ */
+ void setType(EADatatype value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.Anomaly#getGenericDescription <em>Generic Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Generic Description</em>' attribute.
+ * @see #getGenericDescription()
+ * @generated
+ */
+ void setGenericDescription(String 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.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getAnomaly_Base_Property()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Property getBase_Property();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.Anomaly#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);
+
+} // Anomaly
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/ErrorBehavior.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/ErrorBehavior.java
new file mode 100644
index 00000000000..68acd13b8ed
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/ErrorBehavior.java
@@ -0,0 +1,231 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.uml2.uml.Behavior;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Error Behavior</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * ErrorBehavior represents the descriptions of failure logics or semantics that the target element identified by the ErrorModelType exhibits. Typically the target is a system, a function, a software component, or a hardware device.
+ * Each ErrorBehavior description relates the occurrences of internal faults and incoming external faults to failures. The faults and failures that the errorBehavior propagated to and from the target element are declared through the ports of the error model.
+ *
+ * Semantics:
+ * ErrorBehavior defines the error propagation logic of its containing ErrorModelType.
+ * The ErrorBehavior description represents the error propagations from internal faults or incoming faults to external failures. Faults are identified by the internalFault and externalFault associations respectively. The propagated failures are identified by the externalFailure association.
+ * The ErrorBehavior is defined in the failureLogic string, either directly or as a url referencing an external specification.
+ * The failureLogic can be based on different formalisms, depending on the analysis techniques and tools available. This is indicated by its type:ErrorBehaviorKind attribute. The failureLogic attribute contains the actual failure propagation logic.
+ *
+ * Extension:
+ * UML:Behavior
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getBase_Behavior <em>Base Behavior</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getFailureLogic <em>Failure Logic</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getInternalFault <em>Internal Fault</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getExternalFailure <em>External Failure</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getExternalFault <em>External Fault</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getProcessFault <em>Process Fault</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorBehavior()
+ * @model
+ * @generated
+ */
+public interface ErrorBehavior extends EAElement {
+ /**
+ * Returns the value of the '<em><b>Base Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Behavior</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 Behavior</em>' reference.
+ * @see #setBase_Behavior(Behavior)
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorBehavior_Base_Behavior()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Behavior getBase_Behavior();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getBase_Behavior <em>Base Behavior</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Behavior</em>' reference.
+ * @see #getBase_Behavior()
+ * @generated
+ */
+ void setBase_Behavior(Behavior value);
+
+ /**
+ * Returns the value of the '<em><b>External Failure</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.errormodel.FailureOutPort}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>External Failure</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>External Failure</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorBehavior_ExternalFailure()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<FailureOutPort> getExternalFailure();
+
+ /**
+ * Returns the value of the '<em><b>External Fault</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultInPort}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>External Fault</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>External Fault</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorBehavior_ExternalFault()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<FaultInPort> getExternalFault();
+
+ /**
+ * Returns the value of the '<em><b>Failure Logic</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The error logic description based on an external formalism or the path to the file or model entity containing the external error logic description.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Failure Logic</em>' attribute.
+ * @see #setFailureLogic(String)
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorBehavior_FailureLogic()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" ordered="false"
+ * @generated
+ */
+ String getFailureLogic();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getFailureLogic <em>Failure Logic</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Failure Logic</em>' attribute.
+ * @see #getFailureLogic()
+ * @generated
+ */
+ void setFailureLogic(String value);
+
+ /**
+ * Returns the value of the '<em><b>Internal Fault</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.errormodel.InternalFaultPrototype}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The occurrences of internal faults.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Internal Fault</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorBehavior_InternalFault()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<InternalFaultPrototype> getInternalFault();
+
+ /**
+ * Returns the value of the '<em><b>Owner</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getErrorBehaviorDescription <em>Error Behavior Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Owner</em>' container reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Owner</em>' reference.
+ * @see #setOwner(ErrorModelType)
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorBehavior_Owner()
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getErrorBehaviorDescription
+ * @model opposite="errorBehaviorDescription" ordered="false"
+ * @generated
+ */
+ ErrorModelType getOwner();
+
+ /**
+ * Returns the value of the '<em><b>Process Fault</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.errormodel.ProcessFaultPrototype}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Process Fault</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>Process Fault</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorBehavior_ProcessFault()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<ProcessFaultPrototype> getProcessFault();
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehaviorKind}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The type of formalism applied for the error behavior description.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Type</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehaviorKind
+ * @see #setType(ErrorBehaviorKind)
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorBehavior_Type()
+ * @model unique="false" required="true" ordered="false"
+ * @generated
+ */
+ ErrorBehaviorKind getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getOwner <em>Owner</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Owner</em>' reference.
+ * @see #getOwner()
+ * @generated
+ */
+ void setOwner(ErrorModelType value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getType <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehaviorKind
+ * @see #getType()
+ * @generated
+ */
+ void setType(ErrorBehaviorKind value);
+
+} // ErrorBehavior
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/ErrorBehaviorKind.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/ErrorBehaviorKind.java
new file mode 100644
index 00000000000..4dbe33970b7
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/ErrorBehaviorKind.java
@@ -0,0 +1,282 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel;
+
+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>Error Behavior Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The ErrorBehaviorKind metaclass represents an enumeration of literals describing various types of formalisms used for specifying error behavior.
+ *
+ * Semantics:
+ * ErrorBehaviorKind represents different formalisms for ErrorBehavior. The semantics is defined at each enumeration literal.
+ *
+ * Extension:
+ * Enumeration, no extension.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorBehaviorKind()
+ * @model
+ * @generated
+ */
+public enum ErrorBehaviorKind implements Enumerator {
+ /**
+ * The '<em><b>HIP HOPS</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #HIP_HOPS_VALUE
+ * @generated
+ * @ordered
+ */
+ HIP_HOPS(0, "HIP_HOPS", "HIP_HOPS"), /**
+ * The '<em><b>ALTARICA</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ALTARICA_VALUE
+ * @generated
+ * @ordered
+ */
+ ALTARICA(1, "ALTARICA", "ALTARICA"),
+
+ /**
+ * The '<em><b>AADL</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #AADL_VALUE
+ * @generated
+ * @ordered
+ */
+ AADL(2, "AADL", "AADL"),
+
+ /**
+ * The '<em><b>OTHER</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #OTHER_VALUE
+ * @generated
+ * @ordered
+ */
+ OTHER(3, "OTHER", "OTHER");
+
+ /**
+ * The '<em><b>HIP HOPS</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>HIP HOPS</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #HIP_HOPS
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int HIP_HOPS_VALUE = 0;
+
+ /**
+ * The '<em><b>ALTARICA</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>ALTARICA</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ALTARICA
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int ALTARICA_VALUE = 1;
+
+ /**
+ * The '<em><b>AADL</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>AADL</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #AADL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int AADL_VALUE = 2;
+
+ /**
+ * The '<em><b>OTHER</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>OTHER</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #OTHER
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int OTHER_VALUE = 3;
+
+ /**
+ * An array of all the '<em><b>Error Behavior Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final ErrorBehaviorKind[] VALUES_ARRAY =
+ new ErrorBehaviorKind[] {
+ HIP_HOPS,
+ ALTARICA,
+ AADL,
+ OTHER,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Error Behavior Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<ErrorBehaviorKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Error Behavior Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ErrorBehaviorKind get(int value) {
+ switch (value) {
+ case HIP_HOPS_VALUE: return HIP_HOPS;
+ case ALTARICA_VALUE: return ALTARICA;
+ case AADL_VALUE: return AADL;
+ case OTHER_VALUE: return OTHER;
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Error Behavior Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ErrorBehaviorKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ErrorBehaviorKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Error Behavior Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ErrorBehaviorKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ErrorBehaviorKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ 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 ErrorBehaviorKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * 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;
+ }
+
+} //ErrorBehaviorKind
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/ErrorModelPrototype.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/ErrorModelPrototype.java
new file mode 100644
index 00000000000..938a00f0da2
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/ErrorModelPrototype.java
@@ -0,0 +1,194 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentPrototype;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Property;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Error Model Prototype</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * ErrorModelType and ErrorModelPrototype support the hierarchical composition of error models based on the type-prototype pattern also adopted for the nominal architecture composition. The purpose of the error models is to represent information relating to the anomalies of a nominal model element.
+ *
+ * The ErrorModelPrototype is used to define hierarchical error models allowing additional detail or structure to the error model of a particular target. A hierarchal structure can also be defined when several ErrorModels are integrated to a larger ErrorModel representing a system integrated from several targets.
+ *
+ * Typically the target is a system/subsystem, a function, a software component, or a hardware device.
+ *
+ *
+ * Semantics:
+ * An ErrorModelPrototype represents a unique compositional occurrence of the ErrorModelType that types it in the containing ErrorModelType.
+ *
+ * Extension:
+ * (See ADLFunctionPrototype)
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype#getBase_Property <em>Base Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype#getTarget <em>Target</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype#getFunctionTarget <em>Function Target</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype#getHwTarget <em>Hw Target</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype#getFunctionTarget_path <em>Function Target path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype#getHwTarget_path <em>Hw Target path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorModelPrototype()
+ * @model
+ * @generated
+ */
+public interface ErrorModelPrototype extends EAElement {
+ /**
+ * 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.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorModelPrototype_Base_Property()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Property getBase_Property();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype#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);
+
+ /**
+ * Returns the value of the '<em><b>Function Target</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Function Target</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>Function Target</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorModelPrototype_FunctionTarget()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<FunctionPrototype> getFunctionTarget();
+
+ /**
+ * Returns the value of the '<em><b>Hw Target</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentPrototype}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Hw Target</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 Target</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorModelPrototype_HwTarget()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<HardwareComponentPrototype> getHwTarget();
+
+ /**
+ * Returns the value of the '<em><b>Function Target path</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Function Target path</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>Function Target path</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorModelPrototype_FunctionTarget_path()
+ * @model
+ * @generated
+ */
+ EList<FunctionPrototype> getFunctionTarget_path();
+
+ /**
+ * Returns the value of the '<em><b>Hw Target path</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentPrototype}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Hw Target path</em>' containment 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 Target path</em>' containment reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorModelPrototype_HwTarget_path()
+ * @model containment="true"
+ * @generated
+ */
+ EList<HardwareComponentPrototype> getHwTarget_path();
+
+ /**
+ * Returns the value of the '<em><b>Target</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Target</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Target</em>' reference.
+ * @see #setTarget(NamedElement)
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorModelPrototype_Target()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ NamedElement getTarget();
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * {derived from UML::TypedElement::type}
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Type</em>' reference.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorModelPrototype_Type()
+ * @model required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ ErrorModelType getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype#getTarget <em>Target</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Target</em>' reference.
+ * @see #getTarget()
+ * @generated
+ */
+ void setTarget(NamedElement value);
+
+} // ErrorModelPrototype
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/ErrorModelType.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/ErrorModelType.java
new file mode 100644
index 00000000000..a3d996cd684
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/ErrorModelType.java
@@ -0,0 +1,283 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Error Model Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * ErrorModelType and ErrorModelPrototype support the hierarchical composition of error models based on the type-prototype pattern also adopted for the nominal architecture composition. The purpose of the error models is to represent information relating to the anomalies of a nominal model element.
+ *
+ * An ErrorModelType represents the internal faults and fault propagations of the nominal element that it targets.
+ *
+ * Typically the target is a system/subsystem, a function, a software component, or a hardware device.
+ *
+ * ErrorModelType inherits the abstract metaclass TraceableSpecification, allowing the ErrorModelType to be referenced from its design context in a similar way as requirements, test cases and other specifications.
+ *
+ * Constraints:
+ * An ErrorModelType without part shall have one errorBehaviorDescription
+ *
+ * Semantics:
+ * The ErrorModelType represents a specification of the faults and fault propagations of its target element.
+ *
+ * Both types and prototypes may be targets, and the following cases are relevant:
+ * - One nominal type:
+ * The ErrorModelType represents the identified nominal type wherever this nominal type is instantiated.
+ * - Several nominal types:
+ * The ErrorModelType represents the identified nominal types individually, i.e. the same error model applies to all nominal types and is reused.
+ * - One nominal prototype:
+ * The ErrorModelType represents the identified nominal prototype whenever its context, i.e. its top-level composition is instantiated.
+ * - Several nominal prototypes with instanceref:
+ * The ErrorModelType represents the identified set of nominal prototypes (together) whenever their context, i.e. their top-level composition is instantiated.
+ *
+ * The fault propagation of an errorModelType is defined by its contained parts, the ErrorModelPrototypes and their connections. In case it contains both parts and an errorBehaviorDescription, the errorBehaviorDescription shall be consistent with the parts.
+ * FaultFailurePropagationLinks define valid propagation paths in the ErrorModelType. In case the contained FaultInPorts and FailureOutPorts reference nominal ports, the connectivity of the nominal model may serve as a pattern for connecting ports in the ErrorModelType.
+ * The ErrorModelType contains internalFaults and externalFaults, representing faults that are either propagated to externalFailures or masked, according to the definition of its fault propagation.
+ * A processFault represents a flaw introduced during design, and may lead to any of the failures represented by the ErrorModelType. A processFault thus has a direct propagation to all externalFailures and cannot be masked.
+ *
+ * Extension:
+ * (see ADLTraceableSpecfication)
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getGenericDescription <em>Generic Description</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getFaultFailureConnector <em>Fault Failure Connector</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getPart <em>Part</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getFailure <em>Failure</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getExternalFault <em>External Fault</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getInternalFault <em>Internal Fault</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getProcessFault <em>Process Fault</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getTarget <em>Target</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getHwTarget <em>Hw Target</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getErrorBehaviorDescription <em>Error Behavior Description</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorModelType()
+ * @model
+ * @generated
+ */
+public interface ErrorModelType extends TraceableSpecification {
+ /**
+ * 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.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorModelType_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#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>Error Behavior Description</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getOwner <em>Owner</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Error Behavior Description</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>Error Behavior Description</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorModelType_ErrorBehaviorDescription()
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getOwner
+ * @model opposite="owner" required="true" ordered="false"
+ * @generated
+ */
+ EList<ErrorBehavior> getErrorBehaviorDescription();
+
+ /**
+ * Returns the value of the '<em><b>External Fault</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultInPort}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>External Fault</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>External Fault</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorModelType_ExternalFault()
+ * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<FaultInPort> getExternalFault();
+
+ /**
+ * Returns the value of the '<em><b>Failure</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.errormodel.FailureOutPort}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Failure</em>' containment reference 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>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorModelType_Failure()
+ * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<FailureOutPort> getFailure();
+
+ /**
+ * Returns the value of the '<em><b>Fault Failure Connector</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The links for the error propagations between subordinate error models.
+ * {derived from UML::StructuredClassifier::ownedConnector}
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Fault Failure Connector</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorModelType_FaultFailureConnector()
+ * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<FaultFailurePropagationLink> getFaultFailureConnector();
+
+ /**
+ * Returns the value of the '<em><b>Generic Description</b></em>' attribute.
+ * The default value is <code>"NA"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Generic Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Generic Description</em>' attribute.
+ * @see #setGenericDescription(String)
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorModelType_GenericDescription()
+ * @model default="NA" unique="false" dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getGenericDescription();
+
+ /**
+ * Returns the value of the '<em><b>Hw Target</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Hw Target</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 Target</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorModelType_HwTarget()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<HardwareComponentType> getHwTarget();
+
+ /**
+ * Returns the value of the '<em><b>Internal Fault</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.errormodel.InternalFaultPrototype}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Internal Fault</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Internal Fault</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorModelType_InternalFault()
+ * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<InternalFaultPrototype> getInternalFault();
+
+ /**
+ * Returns the value of the '<em><b>Part</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * {derived from UML::Classifier::attribute}
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Part</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorModelType_Part()
+ * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<ErrorModelPrototype> getPart();
+
+ /**
+ * Returns the value of the '<em><b>Process Fault</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.errormodel.ProcessFaultPrototype}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Process Fault</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Process Fault</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorModelType_ProcessFault()
+ * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<ProcessFaultPrototype> getProcessFault();
+
+ /**
+ * Returns the value of the '<em><b>Target</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Target</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</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getErrorModelType_Target()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<FunctionType> getTarget();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getGenericDescription <em>Generic Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Generic Description</em>' attribute.
+ * @see #getGenericDescription()
+ * @generated
+ */
+ void setGenericDescription(String value);
+
+} // ErrorModelType
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/ErrormodelFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/ErrormodelFactory.java
new file mode 100644
index 00000000000..cec0c2fdd12
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/ErrormodelFactory.java
@@ -0,0 +1,127 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel;
+
+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.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage
+ * @generated
+ */
+public interface ErrormodelFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ErrormodelFactory eINSTANCE = org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Anomaly</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Anomaly</em>'.
+ * @generated
+ */
+ Anomaly createAnomaly();
+
+ /**
+ * Returns a new object of class '<em>Error Behavior</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Error Behavior</em>'.
+ * @generated
+ */
+ ErrorBehavior createErrorBehavior();
+
+ /**
+ * Returns a new object of class '<em>Error Model Prototype</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Error Model Prototype</em>'.
+ * @generated
+ */
+ ErrorModelPrototype createErrorModelPrototype();
+
+ /**
+ * Returns a new object of class '<em>Error Model Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Error Model Type</em>'.
+ * @generated
+ */
+ ErrorModelType createErrorModelType();
+
+ /**
+ * Returns a new object of class '<em>Failure Out Port</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Failure Out Port</em>'.
+ * @generated
+ */
+ FailureOutPort createFailureOutPort();
+
+ /**
+ * Returns a new object of class '<em>Fault Failure Propagation Link</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Fault Failure Propagation Link</em>'.
+ * @generated
+ */
+ FaultFailurePropagationLink createFaultFailurePropagationLink();
+
+ /**
+ * Returns a new object of class '<em>Fault In Port</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Fault In Port</em>'.
+ * @generated
+ */
+ FaultInPort createFaultInPort();
+
+ /**
+ * Returns a new object of class '<em>Internal Fault Prototype</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Internal Fault Prototype</em>'.
+ * @generated
+ */
+ InternalFaultPrototype createInternalFaultPrototype();
+
+ /**
+ * Returns a new object of class '<em>Process Fault Prototype</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Process Fault Prototype</em>'.
+ * @generated
+ */
+ ProcessFaultPrototype createProcessFaultPrototype();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ ErrormodelPackage getErrormodelPackage();
+
+} //ErrormodelFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/ErrormodelPackage.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/ErrormodelPackage.java
new file mode 100644
index 00000000000..88a6127db82
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/ErrormodelPackage.java
@@ -0,0 +1,2241 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel;
+
+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.eastadl.infrastructure.elements.ElementsPackage;
+
+
+/**
+ * <!-- 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 -->
+ * <!-- begin-model-doc -->
+ * The EAST-ADL2 sub-package for error modeling provides support for safety engineering by representing possible, incorrect behaviors of a system in its operation (e.g., component errors and their propagations).
+ * Abnormal behaviors of architectural elements as well as their instantiations in a particular product context can be represented, forming a basis for safety analysis through external techniques and tools. Through the integration with other language constructs, definitions of error behaviors and hazards can be traced to the specifications of safety requirements, and further to the subsequent functional and non-functional requirements on error handing and hazard mitigations as well as to the necessary V&V efforts.
+ * Error behaviors are treated as a separated view, orthogonal to the nominal architecture model. This separation of concern in modeling is considered necessary in order to avoid some undesired effects of error modeling, such as the risk of mixing nominal and erroneous behavior in regards to the comprehension, reuse, and system synthesis (e.g., code generation).
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface ErrormodelPackage extends EPackage {
+ /**
+ * <!-- 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.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorBehaviorImpl <em>Error Behavior</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorBehaviorImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl#getErrorBehavior()
+ * @generated
+ */
+ EClass ERROR_BEHAVIOR = eINSTANCE.getErrorBehavior();
+
+ /**
+ * The meta object literal for the '<em><b>Base Behavior</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ERROR_BEHAVIOR__BASE_BEHAVIOR = eINSTANCE.getErrorBehavior_Base_Behavior();
+
+ /**
+ * The meta object literal for the '<em><b>Failure Logic</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ERROR_BEHAVIOR__FAILURE_LOGIC = eINSTANCE.getErrorBehavior_FailureLogic();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ERROR_BEHAVIOR__TYPE = eINSTANCE.getErrorBehavior_Type();
+
+ /**
+ * The meta object literal for the '<em><b>Internal Fault</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ERROR_BEHAVIOR__INTERNAL_FAULT = eINSTANCE.getErrorBehavior_InternalFault();
+
+ /**
+ * The meta object literal for the '<em><b>Owner</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ERROR_BEHAVIOR__OWNER = eINSTANCE.getErrorBehavior_Owner();
+
+ /**
+ * The meta object literal for the '<em><b>External Failure</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ERROR_BEHAVIOR__EXTERNAL_FAILURE = eINSTANCE.getErrorBehavior_ExternalFailure();
+
+ /**
+ * The meta object literal for the '<em><b>External Fault</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ERROR_BEHAVIOR__EXTERNAL_FAULT = eINSTANCE.getErrorBehavior_ExternalFault();
+
+ /**
+ * The meta object literal for the '<em><b>Process Fault</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ERROR_BEHAVIOR__PROCESS_FAULT = eINSTANCE.getErrorBehavior_ProcessFault();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.AnomalyImpl <em>Anomaly</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.AnomalyImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl#getAnomaly()
+ * @generated
+ */
+ EClass ANOMALY = eINSTANCE.getAnomaly();
+
+ /**
+ * The meta object literal for the '<em><b>Generic Description</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ANOMALY__GENERIC_DESCRIPTION = eINSTANCE.getAnomaly_GenericDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Base Property</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ANOMALY__BASE_PROPERTY = eINSTANCE.getAnomaly_Base_Property();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ANOMALY__TYPE = eINSTANCE.getAnomaly_Type();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.InternalFaultPrototypeImpl <em>Internal Fault Prototype</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.InternalFaultPrototypeImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl#getInternalFaultPrototype()
+ * @generated
+ */
+ EClass INTERNAL_FAULT_PROTOTYPE = eINSTANCE.getInternalFaultPrototype();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference INTERNAL_FAULT_PROTOTYPE__BASE_CLASS = eINSTANCE.getInternalFaultPrototype_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Base Event</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference INTERNAL_FAULT_PROTOTYPE__BASE_EVENT = eINSTANCE.getInternalFaultPrototype_Base_Event();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorModelTypeImpl <em>Error Model Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorModelTypeImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl#getErrorModelType()
+ * @generated
+ */
+ EClass ERROR_MODEL_TYPE = eINSTANCE.getErrorModelType();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ERROR_MODEL_TYPE__BASE_CLASS = eINSTANCE.getErrorModelType_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Generic Description</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ERROR_MODEL_TYPE__GENERIC_DESCRIPTION = eINSTANCE.getErrorModelType_GenericDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Fault Failure Connector</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ERROR_MODEL_TYPE__FAULT_FAILURE_CONNECTOR = eINSTANCE.getErrorModelType_FaultFailureConnector();
+
+ /**
+ * The meta object literal for the '<em><b>Part</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ERROR_MODEL_TYPE__PART = eINSTANCE.getErrorModelType_Part();
+
+ /**
+ * The meta object literal for the '<em><b>Failure</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ERROR_MODEL_TYPE__FAILURE = eINSTANCE.getErrorModelType_Failure();
+
+ /**
+ * The meta object literal for the '<em><b>External Fault</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ERROR_MODEL_TYPE__EXTERNAL_FAULT = eINSTANCE.getErrorModelType_ExternalFault();
+
+ /**
+ * The meta object literal for the '<em><b>Internal Fault</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ERROR_MODEL_TYPE__INTERNAL_FAULT = eINSTANCE.getErrorModelType_InternalFault();
+
+ /**
+ * The meta object literal for the '<em><b>Process Fault</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ERROR_MODEL_TYPE__PROCESS_FAULT = eINSTANCE.getErrorModelType_ProcessFault();
+
+ /**
+ * The meta object literal for the '<em><b>Target</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ERROR_MODEL_TYPE__TARGET = eINSTANCE.getErrorModelType_Target();
+
+ /**
+ * The meta object literal for the '<em><b>Hw Target</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ERROR_MODEL_TYPE__HW_TARGET = eINSTANCE.getErrorModelType_HwTarget();
+
+ /**
+ * The meta object literal for the '<em><b>Error Behavior Description</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ERROR_MODEL_TYPE__ERROR_BEHAVIOR_DESCRIPTION = eINSTANCE.getErrorModelType_ErrorBehaviorDescription();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.FaultFailurePropagationLinkImpl <em>Fault Failure Propagation Link</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.FaultFailurePropagationLinkImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl#getFaultFailurePropagationLink()
+ * @generated
+ */
+ EClass FAULT_FAILURE_PROPAGATION_LINK = eINSTANCE.getFaultFailurePropagationLink();
+
+ /**
+ * The meta object literal for the '<em><b>Base Connector</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FAULT_FAILURE_PROPAGATION_LINK__BASE_CONNECTOR = eINSTANCE.getFaultFailurePropagationLink_Base_Connector();
+
+ /**
+ * The meta object literal for the '<em><b>Immediate Propagation</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FAULT_FAILURE_PROPAGATION_LINK__IMMEDIATE_PROPAGATION = eINSTANCE.getFaultFailurePropagationLink_ImmediatePropagation();
+
+ /**
+ * The meta object literal for the '<em><b>To Port</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FAULT_FAILURE_PROPAGATION_LINK__TO_PORT = eINSTANCE.getFaultFailurePropagationLink_ToPort();
+
+ /**
+ * The meta object literal for the '<em><b>From Port</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FAULT_FAILURE_PROPAGATION_LINK__FROM_PORT = eINSTANCE.getFaultFailurePropagationLink_FromPort();
+
+ /**
+ * The meta object literal for the '<em><b>From Port path</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FAULT_FAILURE_PROPAGATION_LINK__FROM_PORT_PATH = eINSTANCE.getFaultFailurePropagationLink_FromPort_path();
+
+ /**
+ * The meta object literal for the '<em><b>To Port path</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FAULT_FAILURE_PROPAGATION_LINK__TO_PORT_PATH = eINSTANCE.getFaultFailurePropagationLink_ToPort_path();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.FaultFailurePortImpl <em>Fault Failure Port</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.FaultFailurePortImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl#getFaultFailurePort()
+ * @generated
+ */
+ EClass FAULT_FAILURE_PORT = eINSTANCE.getFaultFailurePort();
+
+ /**
+ * The meta object literal for the '<em><b>Base Port</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FAULT_FAILURE_PORT__BASE_PORT = eINSTANCE.getFaultFailurePort_Base_Port();
+
+ /**
+ * The meta object literal for the '<em><b>Function Target</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FAULT_FAILURE_PORT__FUNCTION_TARGET = eINSTANCE.getFaultFailurePort_FunctionTarget();
+
+ /**
+ * The meta object literal for the '<em><b>Hw Target</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FAULT_FAILURE_PORT__HW_TARGET = eINSTANCE.getFaultFailurePort_HwTarget();
+
+ /**
+ * The meta object literal for the '<em><b>Function Target path</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FAULT_FAILURE_PORT__FUNCTION_TARGET_PATH = eINSTANCE.getFaultFailurePort_FunctionTarget_path();
+
+ /**
+ * The meta object literal for the '<em><b>Hw Target path</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FAULT_FAILURE_PORT__HW_TARGET_PATH = eINSTANCE.getFaultFailurePort_HwTarget_path();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorModelPrototypeImpl <em>Error Model Prototype</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorModelPrototypeImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl#getErrorModelPrototype()
+ * @generated
+ */
+ EClass ERROR_MODEL_PROTOTYPE = eINSTANCE.getErrorModelPrototype();
+
+ /**
+ * The meta object literal for the '<em><b>Base Property</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ERROR_MODEL_PROTOTYPE__BASE_PROPERTY = eINSTANCE.getErrorModelPrototype_Base_Property();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ERROR_MODEL_PROTOTYPE__TYPE = eINSTANCE.getErrorModelPrototype_Type();
+
+ /**
+ * The meta object literal for the '<em><b>Target</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ERROR_MODEL_PROTOTYPE__TARGET = eINSTANCE.getErrorModelPrototype_Target();
+
+ /**
+ * The meta object literal for the '<em><b>Function Target</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ERROR_MODEL_PROTOTYPE__FUNCTION_TARGET = eINSTANCE.getErrorModelPrototype_FunctionTarget();
+
+ /**
+ * The meta object literal for the '<em><b>Hw Target</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ERROR_MODEL_PROTOTYPE__HW_TARGET = eINSTANCE.getErrorModelPrototype_HwTarget();
+
+ /**
+ * The meta object literal for the '<em><b>Function Target path</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ERROR_MODEL_PROTOTYPE__FUNCTION_TARGET_PATH = eINSTANCE.getErrorModelPrototype_FunctionTarget_path();
+
+ /**
+ * The meta object literal for the '<em><b>Hw Target path</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ERROR_MODEL_PROTOTYPE__HW_TARGET_PATH = eINSTANCE.getErrorModelPrototype_HwTarget_path();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ProcessFaultPrototypeImpl <em>Process Fault Prototype</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ProcessFaultPrototypeImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl#getProcessFaultPrototype()
+ * @generated
+ */
+ EClass PROCESS_FAULT_PROTOTYPE = eINSTANCE.getProcessFaultPrototype();
+
+ /**
+ * The meta object literal for the '<em><b>Base Event</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PROCESS_FAULT_PROTOTYPE__BASE_EVENT = eINSTANCE.getProcessFaultPrototype_Base_Event();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.FailureOutPortImpl <em>Failure Out Port</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.FailureOutPortImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl#getFailureOutPort()
+ * @generated
+ */
+ EClass FAILURE_OUT_PORT = eINSTANCE.getFailureOutPort();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.FaultInPortImpl <em>Fault In Port</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.FaultInPortImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl#getFaultInPort()
+ * @generated
+ */
+ EClass FAULT_IN_PORT = eINSTANCE.getFaultInPort();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehaviorKind <em>Error Behavior Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehaviorKind
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl#getErrorBehaviorKind()
+ * @generated
+ */
+ EEnum ERROR_BEHAVIOR_KIND = eINSTANCE.getErrorBehaviorKind();
+
+ }
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "errormodel";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.papyrusuml.org/EAST-ADL2/Dependability/ErrorModel/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "ErrorModel";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ErrormodelPackage eINSTANCE = org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorBehaviorImpl <em>Error Behavior</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorBehaviorImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl#getErrorBehavior()
+ * @generated
+ */
+ int ERROR_BEHAVIOR = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_BEHAVIOR__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_BEHAVIOR__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_BEHAVIOR__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.InternalFaultPrototypeImpl <em>Internal Fault Prototype</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.InternalFaultPrototypeImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl#getInternalFaultPrototype()
+ * @generated
+ */
+ int INTERNAL_FAULT_PROTOTYPE = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorModelTypeImpl <em>Error Model Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorModelTypeImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl#getErrorModelType()
+ * @generated
+ */
+ int ERROR_MODEL_TYPE = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.FaultFailurePropagationLinkImpl <em>Fault Failure Propagation Link</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.FaultFailurePropagationLinkImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl#getFaultFailurePropagationLink()
+ * @generated
+ */
+ int FAULT_FAILURE_PROPAGATION_LINK = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorModelPrototypeImpl <em>Error Model Prototype</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorModelPrototypeImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl#getErrorModelPrototype()
+ * @generated
+ */
+ int ERROR_MODEL_PROTOTYPE = 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.FailureOutPortImpl <em>Failure Out Port</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.FailureOutPortImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl#getFailureOutPort()
+ * @generated
+ */
+ int FAILURE_OUT_PORT = 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.FaultInPortImpl <em>Fault In Port</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.FaultInPortImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl#getFaultInPort()
+ * @generated
+ */
+ int FAULT_IN_PORT = 8;
+
+ /**
+ * The feature id for the '<em><b>Base Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_BEHAVIOR__BASE_BEHAVIOR = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Failure Logic</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_BEHAVIOR__FAILURE_LOGIC = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_BEHAVIOR__TYPE = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Internal Fault</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_BEHAVIOR__INTERNAL_FAULT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_BEHAVIOR__OWNER = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>External Failure</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_BEHAVIOR__EXTERNAL_FAILURE = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>External Fault</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_BEHAVIOR__EXTERNAL_FAULT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Process Fault</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_BEHAVIOR__PROCESS_FAULT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 7;
+
+ /**
+ * The number of structural features of the '<em>Error Behavior</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_BEHAVIOR_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.AnomalyImpl <em>Anomaly</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.AnomalyImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl#getAnomaly()
+ * @generated
+ */
+ int ANOMALY = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANOMALY__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANOMALY__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANOMALY__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Generic Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANOMALY__GENERIC_DESCRIPTION = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANOMALY__BASE_PROPERTY = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANOMALY__TYPE = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Anomaly</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANOMALY_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_FAULT_PROTOTYPE__NAME = ANOMALY__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_FAULT_PROTOTYPE__BASE_NAMED_ELEMENT = ANOMALY__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_FAULT_PROTOTYPE__OWNED_COMMENT = ANOMALY__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Generic Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_FAULT_PROTOTYPE__GENERIC_DESCRIPTION = ANOMALY__GENERIC_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_FAULT_PROTOTYPE__BASE_PROPERTY = ANOMALY__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_FAULT_PROTOTYPE__TYPE = ANOMALY__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_FAULT_PROTOTYPE__BASE_CLASS = ANOMALY_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_FAULT_PROTOTYPE__BASE_EVENT = ANOMALY_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Internal Fault Prototype</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_FAULT_PROTOTYPE_FEATURE_COUNT = ANOMALY_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_MODEL_TYPE__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_MODEL_TYPE__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_MODEL_TYPE__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_MODEL_TYPE__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_MODEL_TYPE__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_MODEL_TYPE__BASE_CLASS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Generic Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_MODEL_TYPE__GENERIC_DESCRIPTION = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Fault Failure Connector</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_MODEL_TYPE__FAULT_FAILURE_CONNECTOR = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Part</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_MODEL_TYPE__PART = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Failure</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_MODEL_TYPE__FAILURE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>External Fault</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_MODEL_TYPE__EXTERNAL_FAULT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Internal Fault</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_MODEL_TYPE__INTERNAL_FAULT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Process Fault</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_MODEL_TYPE__PROCESS_FAULT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Target</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_MODEL_TYPE__TARGET = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Hw Target</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_MODEL_TYPE__HW_TARGET = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Error Behavior Description</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_MODEL_TYPE__ERROR_BEHAVIOR_DESCRIPTION = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 10;
+
+ /**
+ * The number of structural features of the '<em>Error Model Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_MODEL_TYPE_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE_PROPAGATION_LINK__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE_PROPAGATION_LINK__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE_PROPAGATION_LINK__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Connector</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE_PROPAGATION_LINK__BASE_CONNECTOR = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Immediate Propagation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE_PROPAGATION_LINK__IMMEDIATE_PROPAGATION = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>To Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE_PROPAGATION_LINK__TO_PORT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>From Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE_PROPAGATION_LINK__FROM_PORT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>From Port path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE_PROPAGATION_LINK__FROM_PORT_PATH = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>To Port path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE_PROPAGATION_LINK__TO_PORT_PATH = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Fault Failure Propagation Link</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE_PROPAGATION_LINK_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.FaultFailurePortImpl <em>Fault Failure Port</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.FaultFailurePortImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl#getFaultFailurePort()
+ * @generated
+ */
+ int FAULT_FAILURE_PORT = 5;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE_PORT__NAME = ANOMALY__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE_PORT__BASE_NAMED_ELEMENT = ANOMALY__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE_PORT__OWNED_COMMENT = ANOMALY__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Generic Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE_PORT__GENERIC_DESCRIPTION = ANOMALY__GENERIC_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE_PORT__BASE_PROPERTY = ANOMALY__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE_PORT__TYPE = ANOMALY__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Base Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE_PORT__BASE_PORT = ANOMALY_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Function Target</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE_PORT__FUNCTION_TARGET = ANOMALY_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Hw Target</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE_PORT__HW_TARGET = ANOMALY_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Function Target path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE_PORT__FUNCTION_TARGET_PATH = ANOMALY_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Hw Target path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE_PORT__HW_TARGET_PATH = ANOMALY_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Fault Failure Port</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE_PORT_FEATURE_COUNT = ANOMALY_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ProcessFaultPrototypeImpl <em>Process Fault Prototype</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ProcessFaultPrototypeImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl#getProcessFaultPrototype()
+ * @generated
+ */
+ int PROCESS_FAULT_PROTOTYPE = 9;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_MODEL_PROTOTYPE__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_MODEL_PROTOTYPE__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_MODEL_PROTOTYPE__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_MODEL_PROTOTYPE__BASE_PROPERTY = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_MODEL_PROTOTYPE__TYPE = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Target</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_MODEL_PROTOTYPE__TARGET = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Function Target</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_MODEL_PROTOTYPE__FUNCTION_TARGET = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Hw Target</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_MODEL_PROTOTYPE__HW_TARGET = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Function Target path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_MODEL_PROTOTYPE__FUNCTION_TARGET_PATH = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Hw Target path</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_MODEL_PROTOTYPE__HW_TARGET_PATH = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The number of structural features of the '<em>Error Model Prototype</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_MODEL_PROTOTYPE_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAILURE_OUT_PORT__NAME = FAULT_FAILURE_PORT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAILURE_OUT_PORT__BASE_NAMED_ELEMENT = FAULT_FAILURE_PORT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAILURE_OUT_PORT__OWNED_COMMENT = FAULT_FAILURE_PORT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Generic Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAILURE_OUT_PORT__GENERIC_DESCRIPTION = FAULT_FAILURE_PORT__GENERIC_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAILURE_OUT_PORT__BASE_PROPERTY = FAULT_FAILURE_PORT__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAILURE_OUT_PORT__TYPE = FAULT_FAILURE_PORT__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Base Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAILURE_OUT_PORT__BASE_PORT = FAULT_FAILURE_PORT__BASE_PORT;
+
+ /**
+ * The feature id for the '<em><b>Function Target</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAILURE_OUT_PORT__FUNCTION_TARGET = FAULT_FAILURE_PORT__FUNCTION_TARGET;
+
+ /**
+ * The feature id for the '<em><b>Hw Target</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAILURE_OUT_PORT__HW_TARGET = FAULT_FAILURE_PORT__HW_TARGET;
+
+ /**
+ * The feature id for the '<em><b>Function Target path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAILURE_OUT_PORT__FUNCTION_TARGET_PATH = FAULT_FAILURE_PORT__FUNCTION_TARGET_PATH;
+
+ /**
+ * The feature id for the '<em><b>Hw Target path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAILURE_OUT_PORT__HW_TARGET_PATH = FAULT_FAILURE_PORT__HW_TARGET_PATH;
+
+ /**
+ * The number of structural features of the '<em>Failure Out Port</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAILURE_OUT_PORT_FEATURE_COUNT = FAULT_FAILURE_PORT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_IN_PORT__NAME = FAULT_FAILURE_PORT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_IN_PORT__BASE_NAMED_ELEMENT = FAULT_FAILURE_PORT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_IN_PORT__OWNED_COMMENT = FAULT_FAILURE_PORT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Generic Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_IN_PORT__GENERIC_DESCRIPTION = FAULT_FAILURE_PORT__GENERIC_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_IN_PORT__BASE_PROPERTY = FAULT_FAILURE_PORT__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_IN_PORT__TYPE = FAULT_FAILURE_PORT__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Base Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_IN_PORT__BASE_PORT = FAULT_FAILURE_PORT__BASE_PORT;
+
+ /**
+ * The feature id for the '<em><b>Function Target</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_IN_PORT__FUNCTION_TARGET = FAULT_FAILURE_PORT__FUNCTION_TARGET;
+
+ /**
+ * The feature id for the '<em><b>Hw Target</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_IN_PORT__HW_TARGET = FAULT_FAILURE_PORT__HW_TARGET;
+
+ /**
+ * The feature id for the '<em><b>Function Target path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_IN_PORT__FUNCTION_TARGET_PATH = FAULT_FAILURE_PORT__FUNCTION_TARGET_PATH;
+
+ /**
+ * The feature id for the '<em><b>Hw Target path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_IN_PORT__HW_TARGET_PATH = FAULT_FAILURE_PORT__HW_TARGET_PATH;
+
+ /**
+ * The number of structural features of the '<em>Fault In Port</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_IN_PORT_FEATURE_COUNT = FAULT_FAILURE_PORT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROCESS_FAULT_PROTOTYPE__NAME = ANOMALY__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROCESS_FAULT_PROTOTYPE__BASE_NAMED_ELEMENT = ANOMALY__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROCESS_FAULT_PROTOTYPE__OWNED_COMMENT = ANOMALY__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Generic Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROCESS_FAULT_PROTOTYPE__GENERIC_DESCRIPTION = ANOMALY__GENERIC_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROCESS_FAULT_PROTOTYPE__BASE_PROPERTY = ANOMALY__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROCESS_FAULT_PROTOTYPE__TYPE = ANOMALY__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Base Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROCESS_FAULT_PROTOTYPE__BASE_EVENT = ANOMALY_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Process Fault Prototype</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROCESS_FAULT_PROTOTYPE_FEATURE_COUNT = ANOMALY_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehaviorKind <em>Error Behavior Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehaviorKind
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl#getErrorBehaviorKind()
+ * @generated
+ */
+ int ERROR_BEHAVIOR_KIND = 10;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.Anomaly <em>Anomaly</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Anomaly</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.Anomaly
+ * @generated
+ */
+ EClass getAnomaly();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.Anomaly#getGenericDescription <em>Generic Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Generic Description</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.Anomaly#getGenericDescription()
+ * @see #getAnomaly()
+ * @generated
+ */
+ EAttribute getAnomaly_GenericDescription();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.Anomaly#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.eclipse.papyrus.eastadl.dependability.errormodel.Anomaly#getBase_Property()
+ * @see #getAnomaly()
+ * @generated
+ */
+ EReference getAnomaly_Base_Property();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.Anomaly#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.Anomaly#getType()
+ * @see #getAnomaly()
+ * @generated
+ */
+ EReference getAnomaly_Type();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior <em>Error Behavior</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Error Behavior</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior
+ * @generated
+ */
+ EClass getErrorBehavior();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getBase_Behavior <em>Base Behavior</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Behavior</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getBase_Behavior()
+ * @see #getErrorBehavior()
+ * @generated
+ */
+ EReference getErrorBehavior_Base_Behavior();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getExternalFailure <em>External Failure</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>External Failure</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getExternalFailure()
+ * @see #getErrorBehavior()
+ * @generated
+ */
+ EReference getErrorBehavior_ExternalFailure();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getExternalFault <em>External Fault</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>External Fault</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getExternalFault()
+ * @see #getErrorBehavior()
+ * @generated
+ */
+ EReference getErrorBehavior_ExternalFault();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getFailureLogic <em>Failure Logic</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Failure Logic</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getFailureLogic()
+ * @see #getErrorBehavior()
+ * @generated
+ */
+ EAttribute getErrorBehavior_FailureLogic();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getInternalFault <em>Internal Fault</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Internal Fault</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getInternalFault()
+ * @see #getErrorBehavior()
+ * @generated
+ */
+ EReference getErrorBehavior_InternalFault();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getOwner <em>Owner</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Owner</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getOwner()
+ * @see #getErrorBehavior()
+ * @generated
+ */
+ EReference getErrorBehavior_Owner();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getProcessFault <em>Process Fault</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Process Fault</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getProcessFault()
+ * @see #getErrorBehavior()
+ * @generated
+ */
+ EReference getErrorBehavior_ProcessFault();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior#getType()
+ * @see #getErrorBehavior()
+ * @generated
+ */
+ EAttribute getErrorBehavior_Type();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehaviorKind <em>Error Behavior Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Error Behavior Kind</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehaviorKind
+ * @generated
+ */
+ EEnum getErrorBehaviorKind();
+
+ /**
+ * 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
+ */
+ ErrormodelFactory getErrormodelFactory();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype <em>Error Model Prototype</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Error Model Prototype</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype
+ * @generated
+ */
+ EClass getErrorModelPrototype();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype#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.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype#getBase_Property()
+ * @see #getErrorModelPrototype()
+ * @generated
+ */
+ EReference getErrorModelPrototype_Base_Property();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype#getFunctionTarget <em>Function Target</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Function Target</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype#getFunctionTarget()
+ * @see #getErrorModelPrototype()
+ * @generated
+ */
+ EReference getErrorModelPrototype_FunctionTarget();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype#getHwTarget <em>Hw Target</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Hw Target</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype#getHwTarget()
+ * @see #getErrorModelPrototype()
+ * @generated
+ */
+ EReference getErrorModelPrototype_HwTarget();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype#getFunctionTarget_path <em>Function Target path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Function Target path</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype#getFunctionTarget_path()
+ * @see #getErrorModelPrototype()
+ * @generated
+ */
+ EReference getErrorModelPrototype_FunctionTarget_path();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype#getHwTarget_path <em>Hw Target path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Hw Target path</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype#getHwTarget_path()
+ * @see #getErrorModelPrototype()
+ * @generated
+ */
+ EReference getErrorModelPrototype_HwTarget_path();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype#getTarget <em>Target</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Target</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype#getTarget()
+ * @see #getErrorModelPrototype()
+ * @generated
+ */
+ EReference getErrorModelPrototype_Target();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype#getType()
+ * @see #getErrorModelPrototype()
+ * @generated
+ */
+ EReference getErrorModelPrototype_Type();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType <em>Error Model Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Error Model Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType
+ * @generated
+ */
+ EClass getErrorModelType();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#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.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getBase_Class()
+ * @see #getErrorModelType()
+ * @generated
+ */
+ EReference getErrorModelType_Base_Class();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getErrorBehaviorDescription <em>Error Behavior Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Error Behavior Description</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getErrorBehaviorDescription()
+ * @see #getErrorModelType()
+ * @generated
+ */
+ EReference getErrorModelType_ErrorBehaviorDescription();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getExternalFault <em>External Fault</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>External Fault</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getExternalFault()
+ * @see #getErrorModelType()
+ * @generated
+ */
+ EReference getErrorModelType_ExternalFault();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getFailure <em>Failure</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Failure</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getFailure()
+ * @see #getErrorModelType()
+ * @generated
+ */
+ EReference getErrorModelType_Failure();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getFaultFailureConnector <em>Fault Failure Connector</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Fault Failure Connector</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getFaultFailureConnector()
+ * @see #getErrorModelType()
+ * @generated
+ */
+ EReference getErrorModelType_FaultFailureConnector();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getGenericDescription <em>Generic Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Generic Description</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getGenericDescription()
+ * @see #getErrorModelType()
+ * @generated
+ */
+ EAttribute getErrorModelType_GenericDescription();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getHwTarget <em>Hw Target</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Hw Target</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getHwTarget()
+ * @see #getErrorModelType()
+ * @generated
+ */
+ EReference getErrorModelType_HwTarget();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getInternalFault <em>Internal Fault</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Internal Fault</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getInternalFault()
+ * @see #getErrorModelType()
+ * @generated
+ */
+ EReference getErrorModelType_InternalFault();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getPart <em>Part</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Part</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getPart()
+ * @see #getErrorModelType()
+ * @generated
+ */
+ EReference getErrorModelType_Part();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getProcessFault <em>Process Fault</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Process Fault</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getProcessFault()
+ * @see #getErrorModelType()
+ * @generated
+ */
+ EReference getErrorModelType_ProcessFault();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getTarget <em>Target</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Target</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType#getTarget()
+ * @see #getErrorModelType()
+ * @generated
+ */
+ EReference getErrorModelType_Target();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FailureOutPort <em>Failure Out Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Failure Out Port</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.FailureOutPort
+ * @generated
+ */
+ EClass getFailureOutPort();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePort <em>Fault Failure Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Fault Failure Port</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePort
+ * @generated
+ */
+ EClass getFaultFailurePort();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePort#getBase_Port <em>Base Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Port</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePort#getBase_Port()
+ * @see #getFaultFailurePort()
+ * @generated
+ */
+ EReference getFaultFailurePort_Base_Port();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePort#getFunctionTarget <em>Function Target</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Function Target</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePort#getFunctionTarget()
+ * @see #getFaultFailurePort()
+ * @generated
+ */
+ EReference getFaultFailurePort_FunctionTarget();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePort#getHwTarget <em>Hw Target</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Hw Target</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePort#getHwTarget()
+ * @see #getFaultFailurePort()
+ * @generated
+ */
+ EReference getFaultFailurePort_HwTarget();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePort#getFunctionTarget_path <em>Function Target path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Function Target path</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePort#getFunctionTarget_path()
+ * @see #getFaultFailurePort()
+ * @generated
+ */
+ EReference getFaultFailurePort_FunctionTarget_path();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePort#getHwTarget_path <em>Hw Target path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Hw Target path</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePort#getHwTarget_path()
+ * @see #getFaultFailurePort()
+ * @generated
+ */
+ EReference getFaultFailurePort_HwTarget_path();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink <em>Fault Failure Propagation Link</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Fault Failure Propagation Link</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink
+ * @generated
+ */
+ EClass getFaultFailurePropagationLink();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink#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.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink#getBase_Connector()
+ * @see #getFaultFailurePropagationLink()
+ * @generated
+ */
+ EReference getFaultFailurePropagationLink_Base_Connector();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink#getFromPort <em>From Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>From Port</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink#getFromPort()
+ * @see #getFaultFailurePropagationLink()
+ * @generated
+ */
+ EReference getFaultFailurePropagationLink_FromPort();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink#getFromPort_path <em>From Port path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>From Port path</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink#getFromPort_path()
+ * @see #getFaultFailurePropagationLink()
+ * @generated
+ */
+ EReference getFaultFailurePropagationLink_FromPort_path();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink#getToPort_path <em>To Port path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>To Port path</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink#getToPort_path()
+ * @see #getFaultFailurePropagationLink()
+ * @generated
+ */
+ EReference getFaultFailurePropagationLink_ToPort_path();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink#isImmediatePropagation <em>Immediate Propagation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Immediate Propagation</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink#isImmediatePropagation()
+ * @see #getFaultFailurePropagationLink()
+ * @generated
+ */
+ EAttribute getFaultFailurePropagationLink_ImmediatePropagation();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink#getToPort <em>To Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>To Port</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink#getToPort()
+ * @see #getFaultFailurePropagationLink()
+ * @generated
+ */
+ EReference getFaultFailurePropagationLink_ToPort();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultInPort <em>Fault In Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Fault In Port</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.FaultInPort
+ * @generated
+ */
+ EClass getFaultInPort();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.InternalFaultPrototype <em>Internal Fault Prototype</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Internal Fault Prototype</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.InternalFaultPrototype
+ * @generated
+ */
+ EClass getInternalFaultPrototype();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.InternalFaultPrototype#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.eclipse.papyrus.eastadl.dependability.errormodel.InternalFaultPrototype#getBase_Class()
+ * @see #getInternalFaultPrototype()
+ * @generated
+ */
+ EReference getInternalFaultPrototype_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.InternalFaultPrototype#getBase_Event <em>Base Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Event</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.InternalFaultPrototype#getBase_Event()
+ * @see #getInternalFaultPrototype()
+ * @generated
+ */
+ EReference getInternalFaultPrototype_Base_Event();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ProcessFaultPrototype <em>Process Fault Prototype</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Process Fault Prototype</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ProcessFaultPrototype
+ * @generated
+ */
+ EClass getProcessFaultPrototype();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ProcessFaultPrototype#getBase_Event <em>Base Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Event</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ProcessFaultPrototype#getBase_Event()
+ * @see #getProcessFaultPrototype()
+ * @generated
+ */
+ EReference getProcessFaultPrototype_Base_Event();
+
+} //ErrormodelPackage
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/FailureOutPort.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/FailureOutPort.java
new file mode 100644
index 00000000000..b1401483900
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/FailureOutPort.java
@@ -0,0 +1,48 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel;
+
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Failure Out Port</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The FailureOutPort represents a propagation point for failures that propagate out from the containing ErrorModelType.The EADatatype of the FailureOutPort defines the range of valid failures.
+ *
+ *
+ * Constraints:
+ * [1] The direction of the nominal port must be out.
+ *
+ * Semantics:
+ * The value range of a FailureOutPort represents failures that can propagate to FaultInPorts in other ErrorModels. The value range is defined by the FailureOutPort’s EADatatype.
+ *
+ * If nominal Ports HWTargets or FunctionTargets are referenced, the failures of the FailureOutPort correspond to data on these nominal ports.
+ *
+ *
+ * Extension:
+ * UML::Port
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getFailureOutPort()
+ * @model
+ * @generated
+ */
+public interface FailureOutPort extends FaultFailurePort {
+} // FailureOutPort
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/FaultFailurePort.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/FaultFailurePort.java
new file mode 100644
index 00000000000..9693f6d6ba8
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/FaultFailurePort.java
@@ -0,0 +1,137 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentPrototype;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin;
+import org.eclipse.uml2.uml.Port;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Fault Failure Port</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePort#getBase_Port <em>Base Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePort#getFunctionTarget <em>Function Target</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePort#getHwTarget <em>Hw Target</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePort#getFunctionTarget_path <em>Function Target path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePort#getHwTarget_path <em>Hw Target path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getFaultFailurePort()
+ * @model abstract="true"
+ * @generated
+ */
+public interface FaultFailurePort extends Anomaly {
+ /**
+ * Returns the value of the '<em><b>Base Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base 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>Base Port</em>' reference.
+ * @see #setBase_Port(Port)
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getFaultFailurePort_Base_Port()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Port getBase_Port();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePort#getBase_Port <em>Base Port</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Port</em>' reference.
+ * @see #getBase_Port()
+ * @generated
+ */
+ void setBase_Port(Port value);
+
+ /**
+ * Returns the value of the '<em><b>Function Target</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPort}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Function Target</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>Function Target</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getFaultFailurePort_FunctionTarget()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<FunctionPort> getFunctionTarget();
+
+ /**
+ * Returns the value of the '<em><b>Hw Target</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Hw Target</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 Target</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getFaultFailurePort_HwTarget()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<HardwarePin> getHwTarget();
+
+ /**
+ * Returns the value of the '<em><b>Function Target path</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Function Target path</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>Function Target path</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getFaultFailurePort_FunctionTarget_path()
+ * @model
+ * @generated
+ */
+ EList<FunctionPrototype> getFunctionTarget_path();
+
+ /**
+ * Returns the value of the '<em><b>Hw Target path</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentPrototype}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Hw Target path</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 Target path</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getFaultFailurePort_HwTarget_path()
+ * @model
+ * @generated
+ */
+ EList<HardwareComponentPrototype> getHwTarget_path();
+
+} // FaultFailurePort
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/FaultFailurePropagationLink.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/FaultFailurePropagationLink.java
new file mode 100644
index 00000000000..680d6c950d9
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/FaultFailurePropagationLink.java
@@ -0,0 +1,179 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.uml2.uml.Connector;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Fault Failure Propagation Link</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The FaultFailurePropagationLink metaclass represents the links for the propagations of faults/failures across system elements. In particular, it defines that one error model provides the faults/failures that another error model receives.
+ *
+ * A fault/failure link can only be applied to compatible ports, either for fault/failure delegation within an error model or for fault/failure transmission across two error models. A FaultFailurePropagationLink can only connect fault/failure ports that have compatible types.
+ *
+ * Constraints:
+ * [1] Only compatible fromPort-toPort pairs may be connectedNo additional constraints
+ *
+ * [2] Two fault/failure ports are compatible if the EADatatype of the fromPort represents a subset of the Fault/Failure set represented by the toPort’s EADatatype.
+ *
+ *
+ * Semantics:
+ * The FaultFailurePropagationLink defines a Failure propagation path, from the fromPort on one error model to the toPort of another error model.
+ *
+ *
+ * Extension:
+ * UML::Connector
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink#getBase_Connector <em>Base Connector</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink#isImmediatePropagation <em>Immediate Propagation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink#getToPort <em>To Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink#getFromPort <em>From Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink#getFromPort_path <em>From Port path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink#getToPort_path <em>To Port path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getFaultFailurePropagationLink()
+ * @model
+ * @generated
+ */
+public interface FaultFailurePropagationLink extends EAElement {
+ /**
+ * 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.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getFaultFailurePropagationLink_Base_Connector()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Connector getBase_Connector();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink#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>From Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>From 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>From Port</em>' reference.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getFaultFailurePropagationLink_FromPort()
+ * @model required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ FaultFailurePort getFromPort();
+
+ /**
+ * Returns the value of the '<em><b>From Port path</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>From Port path</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 path</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getFaultFailurePropagationLink_FromPort_path()
+ * @model
+ * @generated
+ */
+ EList<ErrorModelPrototype> getFromPort_path();
+
+ /**
+ * Returns the value of the '<em><b>To Port path</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>To Port path</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 Port path</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getFaultFailurePropagationLink_ToPort_path()
+ * @model
+ * @generated
+ */
+ EList<ErrorModelPrototype> getToPort_path();
+
+ /**
+ * Returns the value of the '<em><b>To Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>To 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>To Port</em>' reference.
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getFaultFailurePropagationLink_ToPort()
+ * @model required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ FaultFailurePort getToPort();
+
+ /**
+ * Returns the value of the '<em><b>Immediate Propagation</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Immediate Propagation</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Immediate Propagation</em>' attribute.
+ * @see #setImmediatePropagation(boolean)
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getFaultFailurePropagationLink_ImmediatePropagation()
+ * @model default="true" unique="false" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isImmediatePropagation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink#isImmediatePropagation <em>Immediate Propagation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Immediate Propagation</em>' attribute.
+ * @see #isImmediatePropagation()
+ * @generated
+ */
+ void setImmediatePropagation(boolean value);
+
+} // FaultFailurePropagationLink
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/FaultInPort.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/FaultInPort.java
new file mode 100644
index 00000000000..4c1957d8494
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/FaultInPort.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel;
+
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Fault In Port</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The FaultInPort represents a propagation point for faults that propagate to the containing ErrorModelType. The EADatatype of the FaultInPort defines the range of valid failures.
+ *
+ * Constraints:
+ * [1] The direction of the nominal port must be in.
+ *
+ * Semantics:
+ * The value range of a FaultInPort represents faults propagated from a FailureOutPort in another ErrorModel. The value range is defined by the FaultInPort’s EADatatype.
+ *
+ * If nominal Ports HWTarget or FunctionTarget are referenced, the faults on the FaultInPort.
+ *
+ *
+ * Extension:
+ * UML::Port
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getFaultInPort()
+ * @model
+ * @generated
+ */
+public interface FaultInPort extends FaultFailurePort {
+} // FaultInPort
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/InternalFaultPrototype.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/InternalFaultPrototype.java
new file mode 100644
index 00000000000..1aa1399c934
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/InternalFaultPrototype.java
@@ -0,0 +1,100 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel;
+
+import org.eclipse.uml2.uml.Event;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Internal Fault Prototype</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The InternalFault metaclass represents the particular internal conditions of the target component/system that are of particular concern for its fault/failure definition.
+ *
+ * Semantics:
+ * The system anomaly represented by an InternalFault, which when activated, can cause errors and failures of the target element.
+ *
+ * Extension:
+ * UML::Part / UML::Event
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.InternalFaultPrototype#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.InternalFaultPrototype#getBase_Event <em>Base Event</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getInternalFaultPrototype()
+ * @model
+ * @generated
+ */
+public interface InternalFaultPrototype extends Anomaly {
+ /**
+ * 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.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getInternalFaultPrototype_Base_Class()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.InternalFaultPrototype#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>Base Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Event</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 Event</em>' reference.
+ * @see #setBase_Event(Event)
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getInternalFaultPrototype_Base_Event()
+ * @model ordered="false"
+ * @generated
+ */
+ Event getBase_Event();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.InternalFaultPrototype#getBase_Event <em>Base Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Event</em>' reference.
+ * @see #getBase_Event()
+ * @generated
+ */
+ void setBase_Event(Event value);
+
+} // InternalFaultPrototype
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/ProcessFaultPrototype.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/ProcessFaultPrototype.java
new file mode 100644
index 00000000000..cbbb963701b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/ProcessFaultPrototype.java
@@ -0,0 +1,73 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel;
+
+import org.eclipse.uml2.uml.Event;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Process Fault Prototype</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The ProcessFaultPrototype metaclass represents the anomalies that the target component/system can have due to design or implementation flaws (e.g., incorrect requirements, buffer size configuration, scheduling, etc.).
+ *
+ * Semantics:
+ * The ProcessFaultPrototype metaclass represents the anomalies that the target component/system can have due to design or implementation flaws (e.g., incorrect requirements, buffer size configuration, scheduling, etc.).
+ *
+ * Extension:
+ * UML::Part / UML::Event
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ProcessFaultPrototype#getBase_Event <em>Base Event</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getProcessFaultPrototype()
+ * @model
+ * @generated
+ */
+public interface ProcessFaultPrototype extends Anomaly {
+ /**
+ * Returns the value of the '<em><b>Base Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Event</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 Event</em>' reference.
+ * @see #setBase_Event(Event)
+ * @see org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#getProcessFaultPrototype_Base_Event()
+ * @model ordered="false"
+ * @generated
+ */
+ Event getBase_Event();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ProcessFaultPrototype#getBase_Event <em>Base Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Event</em>' reference.
+ * @see #getBase_Event()
+ * @generated
+ */
+ void setBase_Event(Event value);
+
+} // ProcessFaultPrototype
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/AnomalyImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/AnomalyImpl.java
new file mode 100644
index 00000000000..278ea41cdd0
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/AnomalyImpl.java
@@ -0,0 +1,297 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel.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.eastadl.dependability.errormodel.Anomaly;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatype;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.uml2.uml.Property;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Anomaly</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.AnomalyImpl#getGenericDescription <em>Generic Description</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.AnomalyImpl#getBase_Property <em>Base Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.AnomalyImpl#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AnomalyImpl extends EAElementImpl implements Anomaly {
+ /**
+ * The default value of the '{@link #getGenericDescription() <em>Generic Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getGenericDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String GENERIC_DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getGenericDescription() <em>Generic Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getGenericDescription()
+ * @generated
+ * @ordered
+ */
+ protected String genericDescription = GENERIC_DESCRIPTION_EDEFAULT;
+
+ /**
+ * 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;
+
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected EADatatype type;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AnomalyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EADatatype basicGetType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(EADatatype newType) {
+ EADatatype oldType = type;
+ type = newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ErrormodelPackage.ANOMALY__TYPE, oldType, type));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ErrormodelPackage.ANOMALY__GENERIC_DESCRIPTION:
+ return getGenericDescription();
+ case ErrormodelPackage.ANOMALY__BASE_PROPERTY:
+ if (resolve) return getBase_Property();
+ return basicGetBase_Property();
+ case ErrormodelPackage.ANOMALY__TYPE:
+ if (resolve) return getType();
+ return basicGetType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ErrormodelPackage.ANOMALY__GENERIC_DESCRIPTION:
+ return GENERIC_DESCRIPTION_EDEFAULT == null ? genericDescription != null : !GENERIC_DESCRIPTION_EDEFAULT.equals(genericDescription);
+ case ErrormodelPackage.ANOMALY__BASE_PROPERTY:
+ return base_Property != null;
+ case ErrormodelPackage.ANOMALY__TYPE:
+ return type != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ErrormodelPackage.ANOMALY__GENERIC_DESCRIPTION:
+ setGenericDescription((String)newValue);
+ return;
+ case ErrormodelPackage.ANOMALY__BASE_PROPERTY:
+ setBase_Property((Property)newValue);
+ return;
+ case ErrormodelPackage.ANOMALY__TYPE:
+ setType((EADatatype)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ErrormodelPackage.Literals.ANOMALY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ErrormodelPackage.ANOMALY__GENERIC_DESCRIPTION:
+ setGenericDescription(GENERIC_DESCRIPTION_EDEFAULT);
+ return;
+ case ErrormodelPackage.ANOMALY__BASE_PROPERTY:
+ setBase_Property((Property)null);
+ return;
+ case ErrormodelPackage.ANOMALY__TYPE:
+ setType((EADatatype)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getGenericDescription() {
+ return genericDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EADatatype getType() {
+ if (type != null && type.eIsProxy()) {
+ InternalEObject oldType = (InternalEObject)type;
+ type = (EADatatype)eResolveProxy(oldType);
+ if (type != oldType) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ErrormodelPackage.ANOMALY__TYPE, oldType, type));
+ }
+ }
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setGenericDescription(String newGenericDescription) {
+ String oldGenericDescription = genericDescription;
+ genericDescription = newGenericDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ErrormodelPackage.ANOMALY__GENERIC_DESCRIPTION, oldGenericDescription, genericDescription));
+ }
+
+ /**
+ * <!-- 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, ErrormodelPackage.ANOMALY__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, ErrormodelPackage.ANOMALY__BASE_PROPERTY, oldBase_Property, base_Property));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (genericDescription: ");
+ result.append(genericDescription);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AnomalyImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/ErrorBehaviorImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/ErrorBehaviorImpl.java
new file mode 100644
index 00000000000..fc924b5e5a3
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/ErrorBehaviorImpl.java
@@ -0,0 +1,550 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel.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.util.EObjectResolvingEList;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehaviorKind;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.FailureOutPort;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.FaultInPort;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.InternalFaultPrototype;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ProcessFaultPrototype;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.uml2.uml.Behavior;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Error Behavior</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorBehaviorImpl#getBase_Behavior <em>Base Behavior</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorBehaviorImpl#getFailureLogic <em>Failure Logic</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorBehaviorImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorBehaviorImpl#getInternalFault <em>Internal Fault</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorBehaviorImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorBehaviorImpl#getExternalFailure <em>External Failure</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorBehaviorImpl#getExternalFault <em>External Fault</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorBehaviorImpl#getProcessFault <em>Process Fault</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ErrorBehaviorImpl extends EAElementImpl implements ErrorBehavior {
+ /**
+ * The cached value of the '{@link #getBase_Behavior() <em>Base Behavior</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Behavior()
+ * @generated
+ * @ordered
+ */
+ protected Behavior base_Behavior;
+
+ /**
+ * The default value of the '{@link #getFailureLogic() <em>Failure Logic</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFailureLogic()
+ * @generated
+ * @ordered
+ */
+ protected static final String FAILURE_LOGIC_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFailureLogic() <em>Failure Logic</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFailureLogic()
+ * @generated
+ * @ordered
+ */
+ protected String failureLogic = FAILURE_LOGIC_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 ErrorBehaviorKind TYPE_EDEFAULT = ErrorBehaviorKind.HIP_HOPS;
+
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected ErrorBehaviorKind type = TYPE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getInternalFault() <em>Internal Fault</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInternalFault()
+ * @generated
+ * @ordered
+ */
+ protected EList<InternalFaultPrototype> internalFault;
+
+ /**
+ * The cached value of the '{@link #getOwner() <em>Owner</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwner()
+ * @generated
+ * @ordered
+ */
+ protected ErrorModelType owner;
+
+ /**
+ * The cached value of the '{@link #getExternalFailure() <em>External Failure</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExternalFailure()
+ * @generated
+ * @ordered
+ */
+ protected EList<FailureOutPort> externalFailure;
+
+ /**
+ * The cached value of the '{@link #getExternalFault() <em>External Fault</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExternalFault()
+ * @generated
+ * @ordered
+ */
+ protected EList<FaultInPort> externalFault;
+
+ /**
+ * The cached value of the '{@link #getProcessFault() <em>Process Fault</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProcessFault()
+ * @generated
+ * @ordered
+ */
+ protected EList<ProcessFaultPrototype> processFault;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ErrorBehaviorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ErrorModelType basicGetOwner() {
+ return owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOwner(ErrorModelType newOwner, NotificationChain msgs) {
+ ErrorModelType oldOwner = owner;
+ owner = newOwner;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ErrormodelPackage.ERROR_BEHAVIOR__OWNER, oldOwner, newOwner);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ErrormodelPackage.ERROR_BEHAVIOR__BASE_BEHAVIOR:
+ if (resolve) return getBase_Behavior();
+ return basicGetBase_Behavior();
+ case ErrormodelPackage.ERROR_BEHAVIOR__FAILURE_LOGIC:
+ return getFailureLogic();
+ case ErrormodelPackage.ERROR_BEHAVIOR__TYPE:
+ return getType();
+ case ErrormodelPackage.ERROR_BEHAVIOR__INTERNAL_FAULT:
+ return getInternalFault();
+ case ErrormodelPackage.ERROR_BEHAVIOR__OWNER:
+ if (resolve) return getOwner();
+ return basicGetOwner();
+ case ErrormodelPackage.ERROR_BEHAVIOR__EXTERNAL_FAILURE:
+ return getExternalFailure();
+ case ErrormodelPackage.ERROR_BEHAVIOR__EXTERNAL_FAULT:
+ return getExternalFault();
+ case ErrormodelPackage.ERROR_BEHAVIOR__PROCESS_FAULT:
+ return getProcessFault();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ErrormodelPackage.ERROR_BEHAVIOR__OWNER:
+ if (owner != null)
+ msgs = ((InternalEObject)owner).eInverseRemove(this, ErrormodelPackage.ERROR_MODEL_TYPE__ERROR_BEHAVIOR_DESCRIPTION, ErrorModelType.class, msgs);
+ return basicSetOwner((ErrorModelType)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ErrormodelPackage.ERROR_BEHAVIOR__OWNER:
+ return basicSetOwner(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ErrormodelPackage.ERROR_BEHAVIOR__BASE_BEHAVIOR:
+ return base_Behavior != null;
+ case ErrormodelPackage.ERROR_BEHAVIOR__FAILURE_LOGIC:
+ return FAILURE_LOGIC_EDEFAULT == null ? failureLogic != null : !FAILURE_LOGIC_EDEFAULT.equals(failureLogic);
+ case ErrormodelPackage.ERROR_BEHAVIOR__TYPE:
+ return type != TYPE_EDEFAULT;
+ case ErrormodelPackage.ERROR_BEHAVIOR__INTERNAL_FAULT:
+ return internalFault != null && !internalFault.isEmpty();
+ case ErrormodelPackage.ERROR_BEHAVIOR__OWNER:
+ return owner != null;
+ case ErrormodelPackage.ERROR_BEHAVIOR__EXTERNAL_FAILURE:
+ return externalFailure != null && !externalFailure.isEmpty();
+ case ErrormodelPackage.ERROR_BEHAVIOR__EXTERNAL_FAULT:
+ return externalFault != null && !externalFault.isEmpty();
+ case ErrormodelPackage.ERROR_BEHAVIOR__PROCESS_FAULT:
+ return processFault != null && !processFault.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ErrormodelPackage.ERROR_BEHAVIOR__BASE_BEHAVIOR:
+ setBase_Behavior((Behavior)newValue);
+ return;
+ case ErrormodelPackage.ERROR_BEHAVIOR__FAILURE_LOGIC:
+ setFailureLogic((String)newValue);
+ return;
+ case ErrormodelPackage.ERROR_BEHAVIOR__TYPE:
+ setType((ErrorBehaviorKind)newValue);
+ return;
+ case ErrormodelPackage.ERROR_BEHAVIOR__INTERNAL_FAULT:
+ getInternalFault().clear();
+ getInternalFault().addAll((Collection<? extends InternalFaultPrototype>)newValue);
+ return;
+ case ErrormodelPackage.ERROR_BEHAVIOR__OWNER:
+ setOwner((ErrorModelType)newValue);
+ return;
+ case ErrormodelPackage.ERROR_BEHAVIOR__EXTERNAL_FAILURE:
+ getExternalFailure().clear();
+ getExternalFailure().addAll((Collection<? extends FailureOutPort>)newValue);
+ return;
+ case ErrormodelPackage.ERROR_BEHAVIOR__EXTERNAL_FAULT:
+ getExternalFault().clear();
+ getExternalFault().addAll((Collection<? extends FaultInPort>)newValue);
+ return;
+ case ErrormodelPackage.ERROR_BEHAVIOR__PROCESS_FAULT:
+ getProcessFault().clear();
+ getProcessFault().addAll((Collection<? extends ProcessFaultPrototype>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ErrormodelPackage.Literals.ERROR_BEHAVIOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getBase_Behavior() {
+ if (base_Behavior != null && base_Behavior.eIsProxy()) {
+ InternalEObject oldBase_Behavior = (InternalEObject)base_Behavior;
+ base_Behavior = (Behavior)eResolveProxy(oldBase_Behavior);
+ if (base_Behavior != oldBase_Behavior) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ErrormodelPackage.ERROR_BEHAVIOR__BASE_BEHAVIOR, oldBase_Behavior, base_Behavior));
+ }
+ }
+ return base_Behavior;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior basicGetBase_Behavior() {
+ return base_Behavior;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Behavior(Behavior newBase_Behavior) {
+ Behavior oldBase_Behavior = base_Behavior;
+ base_Behavior = newBase_Behavior;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ErrormodelPackage.ERROR_BEHAVIOR__BASE_BEHAVIOR, oldBase_Behavior, base_Behavior));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ErrormodelPackage.ERROR_BEHAVIOR__BASE_BEHAVIOR:
+ setBase_Behavior((Behavior)null);
+ return;
+ case ErrormodelPackage.ERROR_BEHAVIOR__FAILURE_LOGIC:
+ setFailureLogic(FAILURE_LOGIC_EDEFAULT);
+ return;
+ case ErrormodelPackage.ERROR_BEHAVIOR__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ case ErrormodelPackage.ERROR_BEHAVIOR__INTERNAL_FAULT:
+ getInternalFault().clear();
+ return;
+ case ErrormodelPackage.ERROR_BEHAVIOR__OWNER:
+ setOwner((ErrorModelType)null);
+ return;
+ case ErrormodelPackage.ERROR_BEHAVIOR__EXTERNAL_FAILURE:
+ getExternalFailure().clear();
+ return;
+ case ErrormodelPackage.ERROR_BEHAVIOR__EXTERNAL_FAULT:
+ getExternalFault().clear();
+ return;
+ case ErrormodelPackage.ERROR_BEHAVIOR__PROCESS_FAULT:
+ getProcessFault().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FailureOutPort> getExternalFailure() {
+ if (externalFailure == null) {
+ externalFailure = new EObjectResolvingEList<FailureOutPort>(FailureOutPort.class, this, ErrormodelPackage.ERROR_BEHAVIOR__EXTERNAL_FAILURE);
+ }
+ return externalFailure;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FaultInPort> getExternalFault() {
+ if (externalFault == null) {
+ externalFault = new EObjectResolvingEList<FaultInPort>(FaultInPort.class, this, ErrormodelPackage.ERROR_BEHAVIOR__EXTERNAL_FAULT);
+ }
+ return externalFault;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getFailureLogic() {
+ return failureLogic;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFailureLogic(String newFailureLogic) {
+ String oldFailureLogic = failureLogic;
+ failureLogic = newFailureLogic;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ErrormodelPackage.ERROR_BEHAVIOR__FAILURE_LOGIC, oldFailureLogic, failureLogic));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<InternalFaultPrototype> getInternalFault() {
+ if (internalFault == null) {
+ internalFault = new EObjectResolvingEList<InternalFaultPrototype>(InternalFaultPrototype.class, this, ErrormodelPackage.ERROR_BEHAVIOR__INTERNAL_FAULT);
+ }
+ return internalFault;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ErrorModelType getOwner() {
+ if (owner != null && owner.eIsProxy()) {
+ InternalEObject oldOwner = (InternalEObject)owner;
+ owner = (ErrorModelType)eResolveProxy(oldOwner);
+ if (owner != oldOwner) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ErrormodelPackage.ERROR_BEHAVIOR__OWNER, oldOwner, owner));
+ }
+ }
+ return owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ProcessFaultPrototype> getProcessFault() {
+ if (processFault == null) {
+ processFault = new EObjectResolvingEList<ProcessFaultPrototype>(ProcessFaultPrototype.class, this, ErrormodelPackage.ERROR_BEHAVIOR__PROCESS_FAULT);
+ }
+ return processFault;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ErrorBehaviorKind getType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwner(ErrorModelType newOwner) {
+ if (newOwner != owner) {
+ NotificationChain msgs = null;
+ if (owner != null)
+ msgs = ((InternalEObject)owner).eInverseRemove(this, ErrormodelPackage.ERROR_MODEL_TYPE__ERROR_BEHAVIOR_DESCRIPTION, ErrorModelType.class, msgs);
+ if (newOwner != null)
+ msgs = ((InternalEObject)newOwner).eInverseAdd(this, ErrormodelPackage.ERROR_MODEL_TYPE__ERROR_BEHAVIOR_DESCRIPTION, ErrorModelType.class, msgs);
+ msgs = basicSetOwner(newOwner, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ErrormodelPackage.ERROR_BEHAVIOR__OWNER, newOwner, newOwner));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(ErrorBehaviorKind newType) {
+ ErrorBehaviorKind oldType = type;
+ type = newType == null ? TYPE_EDEFAULT : newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ErrormodelPackage.ERROR_BEHAVIOR__TYPE, oldType, type));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (failureLogic: ");
+ result.append(failureLogic);
+ result.append(", type: ");
+ result.append(type);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ErrorBehaviorImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/ErrorModelPrototypeImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/ErrorModelPrototypeImpl.java
new file mode 100644
index 00000000000..f81a6d7dffe
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/ErrorModelPrototypeImpl.java
@@ -0,0 +1,414 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel.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.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentPrototype;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Error Model Prototype</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorModelPrototypeImpl#getBase_Property <em>Base Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorModelPrototypeImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorModelPrototypeImpl#getTarget <em>Target</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorModelPrototypeImpl#getFunctionTarget <em>Function Target</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorModelPrototypeImpl#getHwTarget <em>Hw Target</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorModelPrototypeImpl#getFunctionTarget_path <em>Function Target path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorModelPrototypeImpl#getHwTarget_path <em>Hw Target path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ErrorModelPrototypeImpl extends EAElementImpl implements ErrorModelPrototype {
+
+ /**
+ * 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;
+
+ /**
+ * The cached value of the '{@link #getTarget() <em>Target</em>}' reference.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @see #getTarget()
+ * @generated
+ * @ordered
+ */
+ protected NamedElement target;
+
+ /**
+ * The cached value of the '{@link #getFunctionTarget() <em>Function Target</em>}' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getFunctionTarget()
+ * @generated
+ * @ordered
+ */
+ protected EList<FunctionPrototype> functionTarget;
+
+ /**
+ * The cached value of the '{@link #getHwTarget() <em>Hw Target</em>}' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getHwTarget()
+ * @generated
+ * @ordered
+ */
+ protected EList<HardwareComponentPrototype> hwTarget;
+
+ /**
+ * The cached value of the '{@link #getFunctionTarget_path() <em>Function Target path</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFunctionTarget_path()
+ * @generated
+ * @ordered
+ */
+ protected EList<FunctionPrototype> functionTarget_path;
+
+ /**
+ * The cached value of the '{@link #getHwTarget_path() <em>Hw Target path</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHwTarget_path()
+ * @generated
+ * @ordered
+ */
+ protected EList<HardwareComponentPrototype> hwTarget_path;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected ErrorModelPrototypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement basicGetTarget() {
+ return target;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public ErrorModelType basicGetType() {
+
+ ErrorModelType type = null;
+
+ if(getBase_Property() != null) {
+ // Retrieve the type of the
+ Type basicType = getBase_Property().getType();
+
+ if(basicType != null) {
+ type=(ErrorModelType)UMLUtil.getStereotypeApplication(basicType, ErrorModelType.class);
+ }
+ }
+
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ErrormodelPackage.ERROR_MODEL_PROTOTYPE__BASE_PROPERTY:
+ if (resolve) return getBase_Property();
+ return basicGetBase_Property();
+ case ErrormodelPackage.ERROR_MODEL_PROTOTYPE__TYPE:
+ if (resolve) return getType();
+ return basicGetType();
+ case ErrormodelPackage.ERROR_MODEL_PROTOTYPE__TARGET:
+ if (resolve) return getTarget();
+ return basicGetTarget();
+ case ErrormodelPackage.ERROR_MODEL_PROTOTYPE__FUNCTION_TARGET:
+ return getFunctionTarget();
+ case ErrormodelPackage.ERROR_MODEL_PROTOTYPE__HW_TARGET:
+ return getHwTarget();
+ case ErrormodelPackage.ERROR_MODEL_PROTOTYPE__FUNCTION_TARGET_PATH:
+ return getFunctionTarget_path();
+ case ErrormodelPackage.ERROR_MODEL_PROTOTYPE__HW_TARGET_PATH:
+ return getHwTarget_path();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ErrormodelPackage.ERROR_MODEL_PROTOTYPE__HW_TARGET_PATH:
+ return ((InternalEList<?>)getHwTarget_path()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ErrormodelPackage.ERROR_MODEL_PROTOTYPE__BASE_PROPERTY:
+ return base_Property != null;
+ case ErrormodelPackage.ERROR_MODEL_PROTOTYPE__TYPE:
+ return basicGetType() != null;
+ case ErrormodelPackage.ERROR_MODEL_PROTOTYPE__TARGET:
+ return target != null;
+ case ErrormodelPackage.ERROR_MODEL_PROTOTYPE__FUNCTION_TARGET:
+ return functionTarget != null && !functionTarget.isEmpty();
+ case ErrormodelPackage.ERROR_MODEL_PROTOTYPE__HW_TARGET:
+ return hwTarget != null && !hwTarget.isEmpty();
+ case ErrormodelPackage.ERROR_MODEL_PROTOTYPE__FUNCTION_TARGET_PATH:
+ return functionTarget_path != null && !functionTarget_path.isEmpty();
+ case ErrormodelPackage.ERROR_MODEL_PROTOTYPE__HW_TARGET_PATH:
+ return hwTarget_path != null && !hwTarget_path.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ErrormodelPackage.ERROR_MODEL_PROTOTYPE__BASE_PROPERTY:
+ setBase_Property((Property)newValue);
+ return;
+ case ErrormodelPackage.ERROR_MODEL_PROTOTYPE__TARGET:
+ setTarget((NamedElement)newValue);
+ return;
+ case ErrormodelPackage.ERROR_MODEL_PROTOTYPE__FUNCTION_TARGET:
+ getFunctionTarget().clear();
+ getFunctionTarget().addAll((Collection<? extends FunctionPrototype>)newValue);
+ return;
+ case ErrormodelPackage.ERROR_MODEL_PROTOTYPE__HW_TARGET:
+ getHwTarget().clear();
+ getHwTarget().addAll((Collection<? extends HardwareComponentPrototype>)newValue);
+ return;
+ case ErrormodelPackage.ERROR_MODEL_PROTOTYPE__FUNCTION_TARGET_PATH:
+ getFunctionTarget_path().clear();
+ getFunctionTarget_path().addAll((Collection<? extends FunctionPrototype>)newValue);
+ return;
+ case ErrormodelPackage.ERROR_MODEL_PROTOTYPE__HW_TARGET_PATH:
+ getHwTarget_path().clear();
+ getHwTarget_path().addAll((Collection<? extends HardwareComponentPrototype>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ErrormodelPackage.Literals.ERROR_MODEL_PROTOTYPE;
+ }
+
+ /**
+ * <!-- 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, ErrormodelPackage.ERROR_MODEL_PROTOTYPE__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, ErrormodelPackage.ERROR_MODEL_PROTOTYPE__BASE_PROPERTY, oldBase_Property, base_Property));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ErrormodelPackage.ERROR_MODEL_PROTOTYPE__BASE_PROPERTY:
+ setBase_Property((Property)null);
+ return;
+ case ErrormodelPackage.ERROR_MODEL_PROTOTYPE__TARGET:
+ setTarget((NamedElement)null);
+ return;
+ case ErrormodelPackage.ERROR_MODEL_PROTOTYPE__FUNCTION_TARGET:
+ getFunctionTarget().clear();
+ return;
+ case ErrormodelPackage.ERROR_MODEL_PROTOTYPE__HW_TARGET:
+ getHwTarget().clear();
+ return;
+ case ErrormodelPackage.ERROR_MODEL_PROTOTYPE__FUNCTION_TARGET_PATH:
+ getFunctionTarget_path().clear();
+ return;
+ case ErrormodelPackage.ERROR_MODEL_PROTOTYPE__HW_TARGET_PATH:
+ getHwTarget_path().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FunctionPrototype> getFunctionTarget() {
+ if (functionTarget == null) {
+ functionTarget = new EObjectResolvingEList<FunctionPrototype>(FunctionPrototype.class, this, ErrormodelPackage.ERROR_MODEL_PROTOTYPE__FUNCTION_TARGET);
+ }
+ return functionTarget;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HardwareComponentPrototype> getHwTarget() {
+ if (hwTarget == null) {
+ hwTarget = new EObjectResolvingEList<HardwareComponentPrototype>(HardwareComponentPrototype.class, this, ErrormodelPackage.ERROR_MODEL_PROTOTYPE__HW_TARGET);
+ }
+ return hwTarget;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FunctionPrototype> getFunctionTarget_path() {
+ if (functionTarget_path == null) {
+ functionTarget_path = new EObjectResolvingEList<FunctionPrototype>(FunctionPrototype.class, this, ErrormodelPackage.ERROR_MODEL_PROTOTYPE__FUNCTION_TARGET_PATH);
+ }
+ return functionTarget_path;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HardwareComponentPrototype> getHwTarget_path() {
+ if (hwTarget_path == null) {
+ hwTarget_path = new EObjectContainmentEList<HardwareComponentPrototype>(HardwareComponentPrototype.class, this, ErrormodelPackage.ERROR_MODEL_PROTOTYPE__HW_TARGET_PATH);
+ }
+ return hwTarget_path;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getTarget() {
+ if (target != null && target.eIsProxy()) {
+ InternalEObject oldTarget = (InternalEObject)target;
+ target = (NamedElement)eResolveProxy(oldTarget);
+ if (target != oldTarget) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ErrormodelPackage.ERROR_MODEL_PROTOTYPE__TARGET, oldTarget, target));
+ }
+ }
+ return target;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ErrorModelType getType() {
+ ErrorModelType type = basicGetType();
+ return type != null && type.eIsProxy() ? (ErrorModelType)eResolveProxy((InternalEObject)type) : type;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTarget(NamedElement newTarget) {
+ NamedElement oldTarget = target;
+ target = newTarget;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ErrormodelPackage.ERROR_MODEL_PROTOTYPE__TARGET, oldTarget, target));
+ }
+
+} // ErrorModelPrototypeImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/ErrorModelTypeImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/ErrorModelTypeImpl.java
new file mode 100644
index 00000000000..b18a8d091f4
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/ErrorModelTypeImpl.java
@@ -0,0 +1,585 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel.impl;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.BasicEList;
+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.BasicInternalEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.FailureOutPort;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.FaultInPort;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.InternalFaultPrototype;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ProcessFaultPrototype;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Error Model Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorModelTypeImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorModelTypeImpl#getGenericDescription <em>Generic Description</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorModelTypeImpl#getFaultFailureConnector <em>Fault Failure Connector</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorModelTypeImpl#getPart <em>Part</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorModelTypeImpl#getFailure <em>Failure</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorModelTypeImpl#getExternalFault <em>External Fault</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorModelTypeImpl#getInternalFault <em>Internal Fault</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorModelTypeImpl#getProcessFault <em>Process Fault</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorModelTypeImpl#getTarget <em>Target</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorModelTypeImpl#getHwTarget <em>Hw Target</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrorModelTypeImpl#getErrorBehaviorDescription <em>Error Behavior Description</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ErrorModelTypeImpl extends TraceableSpecificationImpl implements ErrorModelType {
+
+ /**
+ * 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 #getGenericDescription() <em>Generic Description</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getGenericDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String GENERIC_DESCRIPTION_EDEFAULT = "NA";
+
+ /**
+ * The cached value of the '{@link #getGenericDescription() <em>Generic Description</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getGenericDescription()
+ * @generated
+ * @ordered
+ */
+ protected String genericDescription = GENERIC_DESCRIPTION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getTarget() <em>Target</em>}' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTarget()
+ * @generated
+ * @ordered
+ */
+ protected EList<FunctionType> target;
+
+ /**
+ * The cached value of the '{@link #getHwTarget() <em>Hw Target</em>}' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getHwTarget()
+ * @generated
+ * @ordered
+ */
+ protected EList<HardwareComponentType> hwTarget;
+
+ /**
+ * The cached value of the '{@link #getErrorBehaviorDescription() <em>Error Behavior Description</em>}' reference list.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see #getErrorBehaviorDescription()
+ * @generated
+ * @ordered
+ */
+ protected EList<ErrorBehavior> errorBehaviorDescription;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected ErrorModelTypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ErrormodelPackage.ERROR_MODEL_TYPE__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case ErrormodelPackage.ERROR_MODEL_TYPE__GENERIC_DESCRIPTION:
+ return getGenericDescription();
+ case ErrormodelPackage.ERROR_MODEL_TYPE__FAULT_FAILURE_CONNECTOR:
+ return getFaultFailureConnector();
+ case ErrormodelPackage.ERROR_MODEL_TYPE__PART:
+ return getPart();
+ case ErrormodelPackage.ERROR_MODEL_TYPE__FAILURE:
+ return getFailure();
+ case ErrormodelPackage.ERROR_MODEL_TYPE__EXTERNAL_FAULT:
+ return getExternalFault();
+ case ErrormodelPackage.ERROR_MODEL_TYPE__INTERNAL_FAULT:
+ return getInternalFault();
+ case ErrormodelPackage.ERROR_MODEL_TYPE__PROCESS_FAULT:
+ return getProcessFault();
+ case ErrormodelPackage.ERROR_MODEL_TYPE__TARGET:
+ return getTarget();
+ case ErrormodelPackage.ERROR_MODEL_TYPE__HW_TARGET:
+ return getHwTarget();
+ case ErrormodelPackage.ERROR_MODEL_TYPE__ERROR_BEHAVIOR_DESCRIPTION:
+ return getErrorBehaviorDescription();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ErrormodelPackage.ERROR_MODEL_TYPE__ERROR_BEHAVIOR_DESCRIPTION:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getErrorBehaviorDescription()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ErrormodelPackage.ERROR_MODEL_TYPE__ERROR_BEHAVIOR_DESCRIPTION:
+ return ((InternalEList<?>)getErrorBehaviorDescription()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ErrormodelPackage.ERROR_MODEL_TYPE__BASE_CLASS:
+ return base_Class != null;
+ case ErrormodelPackage.ERROR_MODEL_TYPE__GENERIC_DESCRIPTION:
+ return GENERIC_DESCRIPTION_EDEFAULT == null ? genericDescription != null : !GENERIC_DESCRIPTION_EDEFAULT.equals(genericDescription);
+ case ErrormodelPackage.ERROR_MODEL_TYPE__FAULT_FAILURE_CONNECTOR:
+ return !getFaultFailureConnector().isEmpty();
+ case ErrormodelPackage.ERROR_MODEL_TYPE__PART:
+ return !getPart().isEmpty();
+ case ErrormodelPackage.ERROR_MODEL_TYPE__FAILURE:
+ return !getFailure().isEmpty();
+ case ErrormodelPackage.ERROR_MODEL_TYPE__EXTERNAL_FAULT:
+ return !getExternalFault().isEmpty();
+ case ErrormodelPackage.ERROR_MODEL_TYPE__INTERNAL_FAULT:
+ return !getInternalFault().isEmpty();
+ case ErrormodelPackage.ERROR_MODEL_TYPE__PROCESS_FAULT:
+ return !getProcessFault().isEmpty();
+ case ErrormodelPackage.ERROR_MODEL_TYPE__TARGET:
+ return target != null && !target.isEmpty();
+ case ErrormodelPackage.ERROR_MODEL_TYPE__HW_TARGET:
+ return hwTarget != null && !hwTarget.isEmpty();
+ case ErrormodelPackage.ERROR_MODEL_TYPE__ERROR_BEHAVIOR_DESCRIPTION:
+ return errorBehaviorDescription != null && !errorBehaviorDescription.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ErrormodelPackage.ERROR_MODEL_TYPE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case ErrormodelPackage.ERROR_MODEL_TYPE__GENERIC_DESCRIPTION:
+ setGenericDescription((String)newValue);
+ return;
+ case ErrormodelPackage.ERROR_MODEL_TYPE__TARGET:
+ getTarget().clear();
+ getTarget().addAll((Collection<? extends FunctionType>)newValue);
+ return;
+ case ErrormodelPackage.ERROR_MODEL_TYPE__HW_TARGET:
+ getHwTarget().clear();
+ getHwTarget().addAll((Collection<? extends HardwareComponentType>)newValue);
+ return;
+ case ErrormodelPackage.ERROR_MODEL_TYPE__ERROR_BEHAVIOR_DESCRIPTION:
+ getErrorBehaviorDescription().clear();
+ getErrorBehaviorDescription().addAll((Collection<? extends ErrorBehavior>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ErrormodelPackage.Literals.ERROR_MODEL_TYPE;
+ }
+
+ /**
+ * <!-- 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, ErrormodelPackage.ERROR_MODEL_TYPE__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, ErrormodelPackage.ERROR_MODEL_TYPE__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ErrormodelPackage.ERROR_MODEL_TYPE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case ErrormodelPackage.ERROR_MODEL_TYPE__GENERIC_DESCRIPTION:
+ setGenericDescription(GENERIC_DESCRIPTION_EDEFAULT);
+ return;
+ case ErrormodelPackage.ERROR_MODEL_TYPE__TARGET:
+ getTarget().clear();
+ return;
+ case ErrormodelPackage.ERROR_MODEL_TYPE__HW_TARGET:
+ getHwTarget().clear();
+ return;
+ case ErrormodelPackage.ERROR_MODEL_TYPE__ERROR_BEHAVIOR_DESCRIPTION:
+ getErrorBehaviorDescription().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ErrorBehavior> getErrorBehaviorDescription() {
+ if (errorBehaviorDescription == null) {
+ errorBehaviorDescription = new EObjectWithInverseResolvingEList<ErrorBehavior>(ErrorBehavior.class, this, ErrormodelPackage.ERROR_MODEL_TYPE__ERROR_BEHAVIOR_DESCRIPTION, ErrormodelPackage.ERROR_BEHAVIOR__OWNER);
+ }
+ return errorBehaviorDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<FaultInPort> getExternalFault() {
+ EList<FaultInPort> groupedPorts = new BasicEList<FaultInPort>();
+ FaultInPort currentFlowPort;
+
+ if(getBase_Class() != null) {
+ // Parse owned Ports
+ Iterator<Port> itDep = getBase_Class().getOwnedPorts().iterator();
+ while(itDep.hasNext()) {
+ Port currentPort = itDep.next();
+
+ // Test if currentPort is stereotyped FaultInPort
+ currentFlowPort = (FaultInPort)UMLUtil.getStereotypeApplication(currentPort, FaultInPort.class);
+
+ if(currentFlowPort != null) {
+ groupedPorts.add(currentFlowPort);
+ }
+ }
+ }
+
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<FaultInPort>(FaultInPort.class, groupedPorts.size(), groupedPorts.toArray());
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<FailureOutPort> getFailure() {
+ EList<FailureOutPort> groupedPorts = new BasicEList<FailureOutPort>();
+ FailureOutPort currentFlowPort;
+
+ if(getBase_Class() != null) {
+ // Parse owned Ports
+ Iterator<Port> itDep = getBase_Class().getOwnedPorts().iterator();
+ while(itDep.hasNext()) {
+ Port currentPort = itDep.next();
+
+ // Test if currentPort is stereotyped FailureOutputPort
+
+ currentFlowPort = (FailureOutPort)UMLUtil.getStereotypeApplication(currentPort, FailureOutPort.class);
+
+ if(currentFlowPort != null) {
+ groupedPorts.add(currentFlowPort);
+ }
+ }
+ }
+
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<FailureOutPort>(FailureOutPort.class, groupedPorts.size(), groupedPorts.toArray());
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<FaultFailurePropagationLink> getFaultFailureConnector() {
+ EList<FaultFailurePropagationLink> connectors = new BasicEList<FaultFailurePropagationLink>();
+ FaultFailurePropagationLink currentConnectorPrototype;
+
+ if(getBase_Class() != null) {
+ // Parse owned Connectors
+ Iterator<Connector> itDep = getBase_Class().getOwnedConnectors().iterator();
+ while(itDep.hasNext()) {
+ Connector currentConnector = itDep.next();
+
+ // Test if currentConnector is stereotyped FaultFailurePropagationLink
+
+ currentConnectorPrototype = (FaultFailurePropagationLink)UMLUtil.getStereotypeApplication(currentConnector,
+ FaultFailurePropagationLink.class);
+
+ if(currentConnectorPrototype != null) {
+ connectors.add(currentConnectorPrototype);
+ }
+ }
+ }
+
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<FaultFailurePropagationLink>(FaultFailurePropagationLink.class,
+ connectors.size(), connectors.toArray());
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getGenericDescription() {
+ return genericDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HardwareComponentType> getHwTarget() {
+ if (hwTarget == null) {
+ hwTarget = new EObjectResolvingEList<HardwareComponentType>(HardwareComponentType.class, this, ErrormodelPackage.ERROR_MODEL_TYPE__HW_TARGET);
+ }
+ return hwTarget;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<InternalFaultPrototype> getInternalFault() {
+ EList<InternalFaultPrototype> parts = new BasicEList<InternalFaultPrototype>();
+ InternalFaultPrototype currentFunctionPrototype;
+
+ if(getBase_Class() != null) {
+ // Parse owned Properties
+ Iterator<Property> itDep = getBase_Class().getAttributes().iterator();
+ while(itDep.hasNext()) {
+ Property currentProperty = itDep.next();
+
+ // Test if currentProperty is stereotyped InternalFaultPrototype
+
+ currentFunctionPrototype = (InternalFaultPrototype)UMLUtil.getStereotypeApplication(currentProperty,
+ InternalFaultPrototype.class);
+
+ if(currentFunctionPrototype != null) {
+ parts.add(currentFunctionPrototype);
+ }
+ }
+ }
+
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<InternalFaultPrototype>(InternalFaultPrototype.class, parts.size(), parts
+ .toArray());
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<ErrorModelPrototype> getPart() {
+ EList<ErrorModelPrototype> parts = new BasicEList<ErrorModelPrototype>();
+ ErrorModelPrototype currentFunctionPrototype;
+
+ if(getBase_Class() != null) {
+ // Parse owned Properties
+ Iterator<Property> itDep = getBase_Class().getAttributes().iterator();
+ while(itDep.hasNext()) {
+ Property currentProperty = itDep.next();
+
+ // Test if currentProperty is stereotyped ErrorModelPrototype
+
+
+ currentFunctionPrototype = (ErrorModelPrototype)UMLUtil.getStereotypeApplication(currentProperty,
+ ErrorModelPrototype.class);
+
+ if(currentFunctionPrototype != null) {
+ parts.add(currentFunctionPrototype);
+ }
+ }
+ }
+
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<ErrorModelPrototype>(ErrorModelPrototype.class, parts.size(), parts.toArray());
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<ProcessFaultPrototype> getProcessFault() {
+ EList<ProcessFaultPrototype> parts = new BasicEList<ProcessFaultPrototype>();
+ ProcessFaultPrototype currentFunctionPrototype;
+
+ if(getBase_Class() != null) {
+ // Parse owned Properties
+ Iterator<Property> itDep = getBase_Class().getAttributes().iterator();
+ while(itDep.hasNext()) {
+ Property currentProperty = itDep.next();
+
+ // Test if currentProperty is stereotyped ADLFunctionPrototype
+ currentFunctionPrototype = (ProcessFaultPrototype)UMLUtil.getStereotypeApplication(currentProperty,
+ ProcessFaultPrototype.class);
+
+
+
+ if(currentFunctionPrototype != null) {
+ parts.add(currentFunctionPrototype);
+ }
+ }
+ }
+
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<ProcessFaultPrototype>(ProcessFaultPrototype.class, parts.size(), parts.toArray());
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FunctionType> getTarget() {
+ if (target == null) {
+ target = new EObjectResolvingEList<FunctionType>(FunctionType.class, this, ErrormodelPackage.ERROR_MODEL_TYPE__TARGET);
+ }
+ return target;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setGenericDescription(String newGenericDescription) {
+ String oldGenericDescription = genericDescription;
+ genericDescription = newGenericDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ErrormodelPackage.ERROR_MODEL_TYPE__GENERIC_DESCRIPTION, oldGenericDescription, genericDescription));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (genericDescription: ");
+ result.append(genericDescription);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ErrorModelTypeImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/ErrormodelFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/ErrormodelFactoryImpl.java
new file mode 100644
index 00000000000..95525a6c1f9
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/ErrormodelFactoryImpl.java
@@ -0,0 +1,256 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel.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.eclipse.papyrus.eastadl.dependability.errormodel.Anomaly;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehaviorKind;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelFactory;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.FailureOutPort;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.FaultInPort;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.InternalFaultPrototype;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ProcessFaultPrototype;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ErrormodelFactoryImpl extends EFactoryImpl implements ErrormodelFactory {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static ErrormodelPackage getPackage() {
+ return ErrormodelPackage.eINSTANCE;
+ }
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ErrormodelFactory init() {
+ try {
+ ErrormodelFactory theErrormodelFactory = (ErrormodelFactory)EPackage.Registry.INSTANCE.getEFactory(ErrormodelPackage.eNS_URI);
+ if (theErrormodelFactory != null) {
+ return theErrormodelFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new ErrormodelFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ErrormodelFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertErrorBehaviorKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case ErrormodelPackage.ERROR_BEHAVIOR_KIND:
+ return convertErrorBehaviorKindToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case ErrormodelPackage.ERROR_BEHAVIOR: return createErrorBehavior();
+ case ErrormodelPackage.INTERNAL_FAULT_PROTOTYPE: return createInternalFaultPrototype();
+ case ErrormodelPackage.ANOMALY: return createAnomaly();
+ case ErrormodelPackage.ERROR_MODEL_TYPE: return createErrorModelType();
+ case ErrormodelPackage.FAULT_FAILURE_PROPAGATION_LINK: return createFaultFailurePropagationLink();
+ case ErrormodelPackage.ERROR_MODEL_PROTOTYPE: return createErrorModelPrototype();
+ case ErrormodelPackage.FAILURE_OUT_PORT: return createFailureOutPort();
+ case ErrormodelPackage.FAULT_IN_PORT: return createFaultInPort();
+ case ErrormodelPackage.PROCESS_FAULT_PROTOTYPE: return createProcessFaultPrototype();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Anomaly createAnomaly() {
+ AnomalyImpl anomaly = new AnomalyImpl();
+ return anomaly;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ErrorBehavior createErrorBehavior() {
+ ErrorBehaviorImpl errorBehavior = new ErrorBehaviorImpl();
+ return errorBehavior;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ErrorBehaviorKind createErrorBehaviorKindFromString(EDataType eDataType, String initialValue) {
+ ErrorBehaviorKind result = ErrorBehaviorKind.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 ErrorModelPrototype createErrorModelPrototype() {
+ ErrorModelPrototypeImpl errorModelPrototype = new ErrorModelPrototypeImpl();
+ return errorModelPrototype;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ErrorModelType createErrorModelType() {
+ ErrorModelTypeImpl errorModelType = new ErrorModelTypeImpl();
+ return errorModelType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FailureOutPort createFailureOutPort() {
+ FailureOutPortImpl failureOutPort = new FailureOutPortImpl();
+ return failureOutPort;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FaultFailurePropagationLink createFaultFailurePropagationLink() {
+ FaultFailurePropagationLinkImpl faultFailurePropagationLink = new FaultFailurePropagationLinkImpl();
+ return faultFailurePropagationLink;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FaultInPort createFaultInPort() {
+ FaultInPortImpl faultInPort = new FaultInPortImpl();
+ return faultInPort;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case ErrormodelPackage.ERROR_BEHAVIOR_KIND:
+ return createErrorBehaviorKindFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InternalFaultPrototype createInternalFaultPrototype() {
+ InternalFaultPrototypeImpl internalFaultPrototype = new InternalFaultPrototypeImpl();
+ return internalFaultPrototype;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProcessFaultPrototype createProcessFaultPrototype() {
+ ProcessFaultPrototypeImpl processFaultPrototype = new ProcessFaultPrototypeImpl();
+ return processFaultPrototype;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ErrormodelPackage getErrormodelPackage() {
+ return (ErrormodelPackage)getEPackage();
+ }
+
+} //ErrormodelFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/ErrormodelPackageImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/ErrormodelPackageImpl.java
new file mode 100644
index 00000000000..f78709d09a7
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/ErrormodelPackageImpl.java
@@ -0,0 +1,1026 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel.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.eastadl.EastadlPackage;
+import org.eclipse.papyrus.eastadl.annex.AnnexPackage;
+import org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.Anomaly;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehaviorKind;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelFactory;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.FailureOutPort;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePort;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.FaultInPort;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.InternalFaultPrototype;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ProcessFaultPrototype;
+import org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.StructurePackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ErrormodelPackageImpl extends EPackageImpl implements ErrormodelPackage {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass errorBehaviorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass anomalyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass internalFaultPrototypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass errorModelTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass faultFailurePropagationLinkEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass faultFailurePortEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass errorModelPrototypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass processFaultPrototypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass failureOutPortEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass faultInPortEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum errorBehaviorKindEEnum = null;
+
+ /**
+ * <!-- 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 ErrormodelPackage#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 ErrormodelPackage init() {
+ if (isInited) return (ErrormodelPackage)EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI);
+
+ // Obtain or create and register package
+ ErrormodelPackageImpl theErrormodelPackage = (ErrormodelPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ErrormodelPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ErrormodelPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ SysmlPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EastadlPackageImpl theEastadlPackage = (EastadlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) instanceof EastadlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) : EastadlPackage.eINSTANCE);
+ VariabilityPackageImpl theVariabilityPackage = (VariabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) instanceof VariabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) : VariabilityPackage.eINSTANCE);
+ InfrastructurePackageImpl theInfrastructurePackage = (InfrastructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) instanceof InfrastructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) : InfrastructurePackage.eINSTANCE);
+ DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) instanceof DatatypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) : DatatypesPackage.eINSTANCE);
+ UserattributesPackageImpl theUserattributesPackage = (UserattributesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) instanceof UserattributesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) : UserattributesPackage.eINSTANCE);
+ ElementsPackageImpl theElementsPackage = (ElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) instanceof ElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) : ElementsPackage.eINSTANCE);
+ StructurePackageImpl theStructurePackage = (StructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) instanceof StructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) : StructurePackage.eINSTANCE);
+ FunctionmodelingPackageImpl theFunctionmodelingPackage = (FunctionmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) instanceof FunctionmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) : FunctionmodelingPackage.eINSTANCE);
+ HardwaremodelingPackageImpl theHardwaremodelingPackage = (HardwaremodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) instanceof HardwaremodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) : HardwaremodelingPackage.eINSTANCE);
+ SystemmodelingPackageImpl theSystemmodelingPackage = (SystemmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) instanceof SystemmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) : SystemmodelingPackage.eINSTANCE);
+ VehiclefeaturemodelingPackageImpl theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) instanceof VehiclefeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) : VehiclefeaturemodelingPackage.eINSTANCE);
+ FeaturemodelingPackageImpl theFeaturemodelingPackage = (FeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) instanceof FeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) : FeaturemodelingPackage.eINSTANCE);
+ BehaviorPackageImpl theBehaviorPackage = (BehaviorPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) instanceof BehaviorPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) : BehaviorPackage.eINSTANCE);
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) : RequirementsPackage.eINSTANCE);
+ VerificationvalidationPackageImpl theVerificationvalidationPackage = (VerificationvalidationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) instanceof VerificationvalidationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) : VerificationvalidationPackage.eINSTANCE);
+ TimingPackageImpl theTimingPackage = (TimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) instanceof TimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) : TimingPackage.eINSTANCE);
+ TimingconstraintsPackageImpl theTimingconstraintsPackage = (TimingconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) instanceof TimingconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) : TimingconstraintsPackage.eINSTANCE);
+ EventsPackageImpl theEventsPackage = (EventsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+ InterchangePackageImpl theInterchangePackage = (InterchangePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) instanceof InterchangePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) : InterchangePackage.eINSTANCE);
+ EnvironmentPackageImpl theEnvironmentPackage = (EnvironmentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) instanceof EnvironmentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) : EnvironmentPackage.eINSTANCE);
+ DependabilityPackageImpl theDependabilityPackage = (DependabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) instanceof DependabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) : DependabilityPackage.eINSTANCE);
+ SafetyrequirementPackageImpl theSafetyrequirementPackage = (SafetyrequirementPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) instanceof SafetyrequirementPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) : SafetyrequirementPackage.eINSTANCE);
+ SafetyconstraintsPackageImpl theSafetyconstraintsPackage = (SafetyconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) instanceof SafetyconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) : SafetyconstraintsPackage.eINSTANCE);
+ SafetycasePackageImpl theSafetycasePackage = (SafetycasePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) instanceof SafetycasePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) : SafetycasePackage.eINSTANCE);
+ AnnexPackageImpl theAnnexPackage = (AnnexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) instanceof AnnexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) : AnnexPackage.eINSTANCE);
+ NeedsPackageImpl theNeedsPackage = (NeedsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) instanceof NeedsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) : NeedsPackage.eINSTANCE);
+ GenericconstraintsPackageImpl theGenericconstraintsPackage = (GenericconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) instanceof GenericconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) : GenericconstraintsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theErrormodelPackage.createPackageContents();
+ theEastadlPackage.createPackageContents();
+ theVariabilityPackage.createPackageContents();
+ theInfrastructurePackage.createPackageContents();
+ theDatatypesPackage.createPackageContents();
+ theUserattributesPackage.createPackageContents();
+ theElementsPackage.createPackageContents();
+ theStructurePackage.createPackageContents();
+ theFunctionmodelingPackage.createPackageContents();
+ theHardwaremodelingPackage.createPackageContents();
+ theSystemmodelingPackage.createPackageContents();
+ theVehiclefeaturemodelingPackage.createPackageContents();
+ theFeaturemodelingPackage.createPackageContents();
+ theBehaviorPackage.createPackageContents();
+ theRequirementsPackage.createPackageContents();
+ theVerificationvalidationPackage.createPackageContents();
+ theTimingPackage.createPackageContents();
+ theTimingconstraintsPackage.createPackageContents();
+ theEventsPackage.createPackageContents();
+ theInterchangePackage.createPackageContents();
+ theEnvironmentPackage.createPackageContents();
+ theDependabilityPackage.createPackageContents();
+ theSafetyrequirementPackage.createPackageContents();
+ theSafetyconstraintsPackage.createPackageContents();
+ theSafetycasePackage.createPackageContents();
+ theAnnexPackage.createPackageContents();
+ theNeedsPackage.createPackageContents();
+ theGenericconstraintsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theErrormodelPackage.initializePackageContents();
+ theEastadlPackage.initializePackageContents();
+ theVariabilityPackage.initializePackageContents();
+ theInfrastructurePackage.initializePackageContents();
+ theDatatypesPackage.initializePackageContents();
+ theUserattributesPackage.initializePackageContents();
+ theElementsPackage.initializePackageContents();
+ theStructurePackage.initializePackageContents();
+ theFunctionmodelingPackage.initializePackageContents();
+ theHardwaremodelingPackage.initializePackageContents();
+ theSystemmodelingPackage.initializePackageContents();
+ theVehiclefeaturemodelingPackage.initializePackageContents();
+ theFeaturemodelingPackage.initializePackageContents();
+ theBehaviorPackage.initializePackageContents();
+ theRequirementsPackage.initializePackageContents();
+ theVerificationvalidationPackage.initializePackageContents();
+ theTimingPackage.initializePackageContents();
+ theTimingconstraintsPackage.initializePackageContents();
+ theEventsPackage.initializePackageContents();
+ theInterchangePackage.initializePackageContents();
+ theEnvironmentPackage.initializePackageContents();
+ theDependabilityPackage.initializePackageContents();
+ theSafetyrequirementPackage.initializePackageContents();
+ theSafetyconstraintsPackage.initializePackageContents();
+ theSafetycasePackage.initializePackageContents();
+ theAnnexPackage.initializePackageContents();
+ theNeedsPackage.initializePackageContents();
+ theGenericconstraintsPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theErrormodelPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(ErrormodelPackage.eNS_URI, theErrormodelPackage);
+ return theErrormodelPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * 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.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private ErrormodelPackageImpl() {
+ super(eNS_URI, ErrormodelFactory.eINSTANCE);
+ }
+
+ /**
+ * 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
+ errorBehaviorEClass = createEClass(ERROR_BEHAVIOR);
+ createEReference(errorBehaviorEClass, ERROR_BEHAVIOR__BASE_BEHAVIOR);
+ createEAttribute(errorBehaviorEClass, ERROR_BEHAVIOR__FAILURE_LOGIC);
+ createEAttribute(errorBehaviorEClass, ERROR_BEHAVIOR__TYPE);
+ createEReference(errorBehaviorEClass, ERROR_BEHAVIOR__INTERNAL_FAULT);
+ createEReference(errorBehaviorEClass, ERROR_BEHAVIOR__OWNER);
+ createEReference(errorBehaviorEClass, ERROR_BEHAVIOR__EXTERNAL_FAILURE);
+ createEReference(errorBehaviorEClass, ERROR_BEHAVIOR__EXTERNAL_FAULT);
+ createEReference(errorBehaviorEClass, ERROR_BEHAVIOR__PROCESS_FAULT);
+
+ internalFaultPrototypeEClass = createEClass(INTERNAL_FAULT_PROTOTYPE);
+ createEReference(internalFaultPrototypeEClass, INTERNAL_FAULT_PROTOTYPE__BASE_CLASS);
+ createEReference(internalFaultPrototypeEClass, INTERNAL_FAULT_PROTOTYPE__BASE_EVENT);
+
+ anomalyEClass = createEClass(ANOMALY);
+ createEAttribute(anomalyEClass, ANOMALY__GENERIC_DESCRIPTION);
+ createEReference(anomalyEClass, ANOMALY__BASE_PROPERTY);
+ createEReference(anomalyEClass, ANOMALY__TYPE);
+
+ errorModelTypeEClass = createEClass(ERROR_MODEL_TYPE);
+ createEReference(errorModelTypeEClass, ERROR_MODEL_TYPE__BASE_CLASS);
+ createEAttribute(errorModelTypeEClass, ERROR_MODEL_TYPE__GENERIC_DESCRIPTION);
+ createEReference(errorModelTypeEClass, ERROR_MODEL_TYPE__FAULT_FAILURE_CONNECTOR);
+ createEReference(errorModelTypeEClass, ERROR_MODEL_TYPE__PART);
+ createEReference(errorModelTypeEClass, ERROR_MODEL_TYPE__FAILURE);
+ createEReference(errorModelTypeEClass, ERROR_MODEL_TYPE__EXTERNAL_FAULT);
+ createEReference(errorModelTypeEClass, ERROR_MODEL_TYPE__INTERNAL_FAULT);
+ createEReference(errorModelTypeEClass, ERROR_MODEL_TYPE__PROCESS_FAULT);
+ createEReference(errorModelTypeEClass, ERROR_MODEL_TYPE__TARGET);
+ createEReference(errorModelTypeEClass, ERROR_MODEL_TYPE__HW_TARGET);
+ createEReference(errorModelTypeEClass, ERROR_MODEL_TYPE__ERROR_BEHAVIOR_DESCRIPTION);
+
+ faultFailurePropagationLinkEClass = createEClass(FAULT_FAILURE_PROPAGATION_LINK);
+ createEReference(faultFailurePropagationLinkEClass, FAULT_FAILURE_PROPAGATION_LINK__BASE_CONNECTOR);
+ createEAttribute(faultFailurePropagationLinkEClass, FAULT_FAILURE_PROPAGATION_LINK__IMMEDIATE_PROPAGATION);
+ createEReference(faultFailurePropagationLinkEClass, FAULT_FAILURE_PROPAGATION_LINK__TO_PORT);
+ createEReference(faultFailurePropagationLinkEClass, FAULT_FAILURE_PROPAGATION_LINK__FROM_PORT);
+ createEReference(faultFailurePropagationLinkEClass, FAULT_FAILURE_PROPAGATION_LINK__FROM_PORT_PATH);
+ createEReference(faultFailurePropagationLinkEClass, FAULT_FAILURE_PROPAGATION_LINK__TO_PORT_PATH);
+
+ faultFailurePortEClass = createEClass(FAULT_FAILURE_PORT);
+ createEReference(faultFailurePortEClass, FAULT_FAILURE_PORT__BASE_PORT);
+ createEReference(faultFailurePortEClass, FAULT_FAILURE_PORT__FUNCTION_TARGET);
+ createEReference(faultFailurePortEClass, FAULT_FAILURE_PORT__HW_TARGET);
+ createEReference(faultFailurePortEClass, FAULT_FAILURE_PORT__FUNCTION_TARGET_PATH);
+ createEReference(faultFailurePortEClass, FAULT_FAILURE_PORT__HW_TARGET_PATH);
+
+ errorModelPrototypeEClass = createEClass(ERROR_MODEL_PROTOTYPE);
+ createEReference(errorModelPrototypeEClass, ERROR_MODEL_PROTOTYPE__BASE_PROPERTY);
+ createEReference(errorModelPrototypeEClass, ERROR_MODEL_PROTOTYPE__TYPE);
+ createEReference(errorModelPrototypeEClass, ERROR_MODEL_PROTOTYPE__TARGET);
+ createEReference(errorModelPrototypeEClass, ERROR_MODEL_PROTOTYPE__FUNCTION_TARGET);
+ createEReference(errorModelPrototypeEClass, ERROR_MODEL_PROTOTYPE__HW_TARGET);
+ createEReference(errorModelPrototypeEClass, ERROR_MODEL_PROTOTYPE__FUNCTION_TARGET_PATH);
+ createEReference(errorModelPrototypeEClass, ERROR_MODEL_PROTOTYPE__HW_TARGET_PATH);
+
+ failureOutPortEClass = createEClass(FAILURE_OUT_PORT);
+
+ faultInPortEClass = createEClass(FAULT_IN_PORT);
+
+ processFaultPrototypeEClass = createEClass(PROCESS_FAULT_PROTOTYPE);
+ createEReference(processFaultPrototypeEClass, PROCESS_FAULT_PROTOTYPE__BASE_EVENT);
+
+ // Create enums
+ errorBehaviorKindEEnum = createEEnum(ERROR_BEHAVIOR_KIND);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAnomaly() {
+ return anomalyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAnomaly_GenericDescription() {
+ return (EAttribute)anomalyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAnomaly_Base_Property() {
+ return (EReference)anomalyEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAnomaly_Type() {
+ return (EReference)anomalyEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getErrorBehavior() {
+ return errorBehaviorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getErrorBehavior_Base_Behavior() {
+ return (EReference)errorBehaviorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getErrorBehavior_ExternalFailure() {
+ return (EReference)errorBehaviorEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getErrorBehavior_ExternalFault() {
+ return (EReference)errorBehaviorEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getErrorBehavior_FailureLogic() {
+ return (EAttribute)errorBehaviorEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getErrorBehavior_InternalFault() {
+ return (EReference)errorBehaviorEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getErrorBehavior_Owner() {
+ return (EReference)errorBehaviorEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getErrorBehavior_ProcessFault() {
+ return (EReference)errorBehaviorEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getErrorBehavior_Type() {
+ return (EAttribute)errorBehaviorEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getErrorBehaviorKind() {
+ return errorBehaviorKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ErrormodelFactory getErrormodelFactory() {
+ return (ErrormodelFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getErrorModelPrototype() {
+ return errorModelPrototypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getErrorModelPrototype_Base_Property() {
+ return (EReference)errorModelPrototypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getErrorModelPrototype_FunctionTarget() {
+ return (EReference)errorModelPrototypeEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getErrorModelPrototype_HwTarget() {
+ return (EReference)errorModelPrototypeEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getErrorModelPrototype_FunctionTarget_path() {
+ return (EReference)errorModelPrototypeEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getErrorModelPrototype_HwTarget_path() {
+ return (EReference)errorModelPrototypeEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getErrorModelPrototype_Target() {
+ return (EReference)errorModelPrototypeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getErrorModelPrototype_Type() {
+ return (EReference)errorModelPrototypeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getErrorModelType() {
+ return errorModelTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getErrorModelType_Base_Class() {
+ return (EReference)errorModelTypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getErrorModelType_ErrorBehaviorDescription() {
+ return (EReference)errorModelTypeEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getErrorModelType_ExternalFault() {
+ return (EReference)errorModelTypeEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getErrorModelType_Failure() {
+ return (EReference)errorModelTypeEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getErrorModelType_FaultFailureConnector() {
+ return (EReference)errorModelTypeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getErrorModelType_GenericDescription() {
+ return (EAttribute)errorModelTypeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getErrorModelType_HwTarget() {
+ return (EReference)errorModelTypeEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getErrorModelType_InternalFault() {
+ return (EReference)errorModelTypeEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getErrorModelType_Part() {
+ return (EReference)errorModelTypeEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getErrorModelType_ProcessFault() {
+ return (EReference)errorModelTypeEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getErrorModelType_Target() {
+ return (EReference)errorModelTypeEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFailureOutPort() {
+ return failureOutPortEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFaultFailurePort() {
+ return faultFailurePortEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFaultFailurePort_Base_Port() {
+ return (EReference)faultFailurePortEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFaultFailurePort_FunctionTarget() {
+ return (EReference)faultFailurePortEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFaultFailurePort_HwTarget() {
+ return (EReference)faultFailurePortEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFaultFailurePort_FunctionTarget_path() {
+ return (EReference)faultFailurePortEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFaultFailurePort_HwTarget_path() {
+ return (EReference)faultFailurePortEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFaultFailurePropagationLink() {
+ return faultFailurePropagationLinkEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFaultFailurePropagationLink_Base_Connector() {
+ return (EReference)faultFailurePropagationLinkEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFaultFailurePropagationLink_FromPort() {
+ return (EReference)faultFailurePropagationLinkEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFaultFailurePropagationLink_FromPort_path() {
+ return (EReference)faultFailurePropagationLinkEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFaultFailurePropagationLink_ToPort_path() {
+ return (EReference)faultFailurePropagationLinkEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFaultFailurePropagationLink_ImmediatePropagation() {
+ return (EAttribute)faultFailurePropagationLinkEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFaultFailurePropagationLink_ToPort() {
+ return (EReference)faultFailurePropagationLinkEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFaultInPort() {
+ return faultInPortEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInternalFaultPrototype() {
+ return internalFaultPrototypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInternalFaultPrototype_Base_Class() {
+ return (EReference)internalFaultPrototypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInternalFaultPrototype_Base_Event() {
+ return (EReference)internalFaultPrototypeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getProcessFaultPrototype() {
+ return processFaultPrototypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProcessFaultPrototype_Base_Event() {
+ return (EReference)processFaultPrototypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * 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
+ ElementsPackage theElementsPackage = (ElementsPackage)EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI);
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+ TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+ DatatypesPackage theDatatypesPackage = (DatatypesPackage)EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI);
+ FunctionmodelingPackage theFunctionmodelingPackage = (FunctionmodelingPackage)EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI);
+ HardwaremodelingPackage theHardwaremodelingPackage = (HardwaremodelingPackage)EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ errorBehaviorEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ internalFaultPrototypeEClass.getESuperTypes().add(this.getAnomaly());
+ anomalyEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ errorModelTypeEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+ faultFailurePropagationLinkEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ faultFailurePortEClass.getESuperTypes().add(this.getAnomaly());
+ errorModelPrototypeEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ failureOutPortEClass.getESuperTypes().add(this.getFaultFailurePort());
+ faultInPortEClass.getESuperTypes().add(this.getFaultFailurePort());
+ processFaultPrototypeEClass.getESuperTypes().add(this.getAnomaly());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(errorBehaviorEClass, ErrorBehavior.class, "ErrorBehavior", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getErrorBehavior_Base_Behavior(), theUMLPackage.getBehavior(), null, "base_Behavior", null, 1, 1, ErrorBehavior.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getErrorBehavior_FailureLogic(), theTypesPackage.getString(), "failureLogic", null, 0, 1, ErrorBehavior.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getErrorBehavior_Type(), this.getErrorBehaviorKind(), "type", null, 1, 1, ErrorBehavior.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getErrorBehavior_InternalFault(), this.getInternalFaultPrototype(), null, "internalFault", null, 0, -1, ErrorBehavior.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getErrorBehavior_Owner(), this.getErrorModelType(), this.getErrorModelType_ErrorBehaviorDescription(), "owner", null, 0, 1, ErrorBehavior.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getErrorBehavior_ExternalFailure(), this.getFailureOutPort(), null, "externalFailure", null, 1, -1, ErrorBehavior.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getErrorBehavior_ExternalFault(), this.getFaultInPort(), null, "externalFault", null, 0, -1, ErrorBehavior.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getErrorBehavior_ProcessFault(), this.getProcessFaultPrototype(), null, "processFault", null, 0, -1, ErrorBehavior.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(internalFaultPrototypeEClass, InternalFaultPrototype.class, "InternalFaultPrototype", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getInternalFaultPrototype_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, InternalFaultPrototype.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getInternalFaultPrototype_Base_Event(), theUMLPackage.getEvent(), null, "base_Event", null, 0, 1, InternalFaultPrototype.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(anomalyEClass, Anomaly.class, "Anomaly", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getAnomaly_GenericDescription(), theTypesPackage.getString(), "genericDescription", null, 1, 1, Anomaly.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getAnomaly_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 1, 1, Anomaly.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getAnomaly_Type(), theDatatypesPackage.getEADatatype(), null, "type", null, 1, 1, Anomaly.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(errorModelTypeEClass, ErrorModelType.class, "ErrorModelType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getErrorModelType_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, ErrorModelType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getErrorModelType_GenericDescription(), theTypesPackage.getString(), "genericDescription", "NA", 1, 1, ErrorModelType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getErrorModelType_FaultFailureConnector(), this.getFaultFailurePropagationLink(), null, "faultFailureConnector", null, 0, -1, ErrorModelType.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getErrorModelType_Part(), this.getErrorModelPrototype(), null, "part", null, 0, -1, ErrorModelType.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getErrorModelType_Failure(), this.getFailureOutPort(), null, "failure", null, 0, -1, ErrorModelType.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getErrorModelType_ExternalFault(), this.getFaultInPort(), null, "externalFault", null, 0, -1, ErrorModelType.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getErrorModelType_InternalFault(), this.getInternalFaultPrototype(), null, "internalFault", null, 0, -1, ErrorModelType.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getErrorModelType_ProcessFault(), this.getProcessFaultPrototype(), null, "processFault", null, 0, -1, ErrorModelType.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getErrorModelType_Target(), theFunctionmodelingPackage.getFunctionType(), null, "target", null, 0, -1, ErrorModelType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getErrorModelType_HwTarget(), theHardwaremodelingPackage.getHardwareComponentType(), null, "hwTarget", null, 0, -1, ErrorModelType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getErrorModelType_ErrorBehaviorDescription(), this.getErrorBehavior(), this.getErrorBehavior_Owner(), "errorBehaviorDescription", null, 1, -1, ErrorModelType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(faultFailurePropagationLinkEClass, FaultFailurePropagationLink.class, "FaultFailurePropagationLink", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getFaultFailurePropagationLink_Base_Connector(), theUMLPackage.getConnector(), null, "base_Connector", null, 1, 1, FaultFailurePropagationLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getFaultFailurePropagationLink_ImmediatePropagation(), theTypesPackage.getBoolean(), "immediatePropagation", "true", 1, 1, FaultFailurePropagationLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFaultFailurePropagationLink_ToPort(), this.getFaultFailurePort(), null, "toPort", null, 1, 1, FaultFailurePropagationLink.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getFaultFailurePropagationLink_FromPort(), this.getFaultFailurePort(), null, "fromPort", null, 1, 1, FaultFailurePropagationLink.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getFaultFailurePropagationLink_FromPort_path(), this.getErrorModelPrototype(), null, "fromPort_path", null, 0, -1, FaultFailurePropagationLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getFaultFailurePropagationLink_ToPort_path(), this.getErrorModelPrototype(), null, "toPort_path", null, 0, -1, FaultFailurePropagationLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(faultFailurePortEClass, FaultFailurePort.class, "FaultFailurePort", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getFaultFailurePort_Base_Port(), theUMLPackage.getPort(), null, "base_Port", null, 1, 1, FaultFailurePort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFaultFailurePort_FunctionTarget(), theFunctionmodelingPackage.getFunctionPort(), null, "functionTarget", null, 0, -1, FaultFailurePort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFaultFailurePort_HwTarget(), theHardwaremodelingPackage.getHardwarePin(), null, "hwTarget", null, 0, -1, FaultFailurePort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFaultFailurePort_FunctionTarget_path(), theFunctionmodelingPackage.getFunctionPrototype(), null, "functionTarget_path", null, 0, -1, FaultFailurePort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getFaultFailurePort_HwTarget_path(), theHardwaremodelingPackage.getHardwareComponentPrototype(), null, "hwTarget_path", null, 0, -1, FaultFailurePort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(errorModelPrototypeEClass, ErrorModelPrototype.class, "ErrorModelPrototype", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getErrorModelPrototype_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 1, 1, ErrorModelPrototype.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getErrorModelPrototype_Type(), this.getErrorModelType(), null, "type", null, 1, 1, ErrorModelPrototype.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getErrorModelPrototype_Target(), theUMLPackage.getNamedElement(), null, "target", null, 1, 1, ErrorModelPrototype.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getErrorModelPrototype_FunctionTarget(), theFunctionmodelingPackage.getFunctionPrototype(), null, "functionTarget", null, 0, -1, ErrorModelPrototype.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getErrorModelPrototype_HwTarget(), theHardwaremodelingPackage.getHardwareComponentPrototype(), null, "hwTarget", null, 0, -1, ErrorModelPrototype.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getErrorModelPrototype_FunctionTarget_path(), theFunctionmodelingPackage.getFunctionPrototype(), null, "functionTarget_path", null, 0, -1, ErrorModelPrototype.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getErrorModelPrototype_HwTarget_path(), theHardwaremodelingPackage.getHardwareComponentPrototype(), null, "hwTarget_path", null, 0, -1, ErrorModelPrototype.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(failureOutPortEClass, FailureOutPort.class, "FailureOutPort", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(faultInPortEClass, FaultInPort.class, "FaultInPort", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(processFaultPrototypeEClass, ProcessFaultPrototype.class, "ProcessFaultPrototype", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getProcessFaultPrototype_Base_Event(), theUMLPackage.getEvent(), null, "base_Event", null, 0, 1, ProcessFaultPrototype.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(errorBehaviorKindEEnum, ErrorBehaviorKind.class, "ErrorBehaviorKind");
+ addEEnumLiteral(errorBehaviorKindEEnum, ErrorBehaviorKind.HIP_HOPS);
+ addEEnumLiteral(errorBehaviorKindEEnum, ErrorBehaviorKind.ALTARICA);
+ addEEnumLiteral(errorBehaviorKindEEnum, ErrorBehaviorKind.AADL);
+ addEEnumLiteral(errorBehaviorKindEEnum, ErrorBehaviorKind.OTHER);
+ }
+
+} //ErrormodelPackageImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/FailureOutPortImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/FailureOutPortImpl.java
new file mode 100644
index 00000000000..b641155a894
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/FailureOutPortImpl.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.FailureOutPort;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Failure Out Port</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class FailureOutPortImpl extends FaultFailurePortImpl implements FailureOutPort {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FailureOutPortImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ErrormodelPackage.Literals.FAILURE_OUT_PORT;
+ }
+
+} //FailureOutPortImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/FaultFailurePortImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/FaultFailurePortImpl.java
new file mode 100644
index 00000000000..ad3dbe7c30b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/FaultFailurePortImpl.java
@@ -0,0 +1,312 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel.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.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentPrototype;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin;
+import org.eclipse.uml2.uml.Port;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Fault Failure Port</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.FaultFailurePortImpl#getBase_Port <em>Base Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.FaultFailurePortImpl#getFunctionTarget <em>Function Target</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.FaultFailurePortImpl#getHwTarget <em>Hw Target</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.FaultFailurePortImpl#getFunctionTarget_path <em>Function Target path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.FaultFailurePortImpl#getHwTarget_path <em>Hw Target path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class FaultFailurePortImpl extends AnomalyImpl implements FaultFailurePort {
+ /**
+ * The cached value of the '{@link #getBase_Port() <em>Base Port</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Port()
+ * @generated
+ * @ordered
+ */
+ protected Port base_Port;
+
+ /**
+ * The cached value of the '{@link #getFunctionTarget() <em>Function Target</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFunctionTarget()
+ * @generated
+ * @ordered
+ */
+ protected EList<FunctionPort> functionTarget;
+
+ /**
+ * The cached value of the '{@link #getHwTarget() <em>Hw Target</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHwTarget()
+ * @generated
+ * @ordered
+ */
+ protected EList<HardwarePin> hwTarget;
+
+ /**
+ * The cached value of the '{@link #getFunctionTarget_path() <em>Function Target path</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFunctionTarget_path()
+ * @generated
+ * @ordered
+ */
+ protected EList<FunctionPrototype> functionTarget_path;
+
+ /**
+ * The cached value of the '{@link #getHwTarget_path() <em>Hw Target path</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHwTarget_path()
+ * @generated
+ * @ordered
+ */
+ protected EList<HardwareComponentPrototype> hwTarget_path;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FaultFailurePortImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ErrormodelPackage.FAULT_FAILURE_PORT__BASE_PORT:
+ if (resolve) return getBase_Port();
+ return basicGetBase_Port();
+ case ErrormodelPackage.FAULT_FAILURE_PORT__FUNCTION_TARGET:
+ return getFunctionTarget();
+ case ErrormodelPackage.FAULT_FAILURE_PORT__HW_TARGET:
+ return getHwTarget();
+ case ErrormodelPackage.FAULT_FAILURE_PORT__FUNCTION_TARGET_PATH:
+ return getFunctionTarget_path();
+ case ErrormodelPackage.FAULT_FAILURE_PORT__HW_TARGET_PATH:
+ return getHwTarget_path();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ErrormodelPackage.FAULT_FAILURE_PORT__BASE_PORT:
+ return base_Port != null;
+ case ErrormodelPackage.FAULT_FAILURE_PORT__FUNCTION_TARGET:
+ return functionTarget != null && !functionTarget.isEmpty();
+ case ErrormodelPackage.FAULT_FAILURE_PORT__HW_TARGET:
+ return hwTarget != null && !hwTarget.isEmpty();
+ case ErrormodelPackage.FAULT_FAILURE_PORT__FUNCTION_TARGET_PATH:
+ return functionTarget_path != null && !functionTarget_path.isEmpty();
+ case ErrormodelPackage.FAULT_FAILURE_PORT__HW_TARGET_PATH:
+ return hwTarget_path != null && !hwTarget_path.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ErrormodelPackage.FAULT_FAILURE_PORT__BASE_PORT:
+ setBase_Port((Port)newValue);
+ return;
+ case ErrormodelPackage.FAULT_FAILURE_PORT__FUNCTION_TARGET:
+ getFunctionTarget().clear();
+ getFunctionTarget().addAll((Collection<? extends FunctionPort>)newValue);
+ return;
+ case ErrormodelPackage.FAULT_FAILURE_PORT__HW_TARGET:
+ getHwTarget().clear();
+ getHwTarget().addAll((Collection<? extends HardwarePin>)newValue);
+ return;
+ case ErrormodelPackage.FAULT_FAILURE_PORT__FUNCTION_TARGET_PATH:
+ getFunctionTarget_path().clear();
+ getFunctionTarget_path().addAll((Collection<? extends FunctionPrototype>)newValue);
+ return;
+ case ErrormodelPackage.FAULT_FAILURE_PORT__HW_TARGET_PATH:
+ getHwTarget_path().clear();
+ getHwTarget_path().addAll((Collection<? extends HardwareComponentPrototype>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ErrormodelPackage.Literals.FAULT_FAILURE_PORT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Port getBase_Port() {
+ if (base_Port != null && base_Port.eIsProxy()) {
+ InternalEObject oldBase_Port = (InternalEObject)base_Port;
+ base_Port = (Port)eResolveProxy(oldBase_Port);
+ if (base_Port != oldBase_Port) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ErrormodelPackage.FAULT_FAILURE_PORT__BASE_PORT, oldBase_Port, base_Port));
+ }
+ }
+ return base_Port;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Port basicGetBase_Port() {
+ return base_Port;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Port(Port newBase_Port) {
+ Port oldBase_Port = base_Port;
+ base_Port = newBase_Port;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ErrormodelPackage.FAULT_FAILURE_PORT__BASE_PORT, oldBase_Port, base_Port));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ErrormodelPackage.FAULT_FAILURE_PORT__BASE_PORT:
+ setBase_Port((Port)null);
+ return;
+ case ErrormodelPackage.FAULT_FAILURE_PORT__FUNCTION_TARGET:
+ getFunctionTarget().clear();
+ return;
+ case ErrormodelPackage.FAULT_FAILURE_PORT__HW_TARGET:
+ getHwTarget().clear();
+ return;
+ case ErrormodelPackage.FAULT_FAILURE_PORT__FUNCTION_TARGET_PATH:
+ getFunctionTarget_path().clear();
+ return;
+ case ErrormodelPackage.FAULT_FAILURE_PORT__HW_TARGET_PATH:
+ getHwTarget_path().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FunctionPort> getFunctionTarget() {
+ if (functionTarget == null) {
+ functionTarget = new EObjectResolvingEList<FunctionPort>(FunctionPort.class, this, ErrormodelPackage.FAULT_FAILURE_PORT__FUNCTION_TARGET);
+ }
+ return functionTarget;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HardwarePin> getHwTarget() {
+ if (hwTarget == null) {
+ hwTarget = new EObjectResolvingEList<HardwarePin>(HardwarePin.class, this, ErrormodelPackage.FAULT_FAILURE_PORT__HW_TARGET);
+ }
+ return hwTarget;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FunctionPrototype> getFunctionTarget_path() {
+ if (functionTarget_path == null) {
+ functionTarget_path = new EObjectResolvingEList<FunctionPrototype>(FunctionPrototype.class, this, ErrormodelPackage.FAULT_FAILURE_PORT__FUNCTION_TARGET_PATH);
+ }
+ return functionTarget_path;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HardwareComponentPrototype> getHwTarget_path() {
+ if (hwTarget_path == null) {
+ hwTarget_path = new EObjectResolvingEList<HardwareComponentPrototype>(HardwareComponentPrototype.class, this, ErrormodelPackage.FAULT_FAILURE_PORT__HW_TARGET_PATH);
+ }
+ return hwTarget_path;
+ }
+
+} //FaultFailurePortImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/FaultFailurePropagationLinkImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/FaultFailurePropagationLinkImpl.java
new file mode 100644
index 00000000000..106a993d87f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/FaultFailurePropagationLinkImpl.java
@@ -0,0 +1,379 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel.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.eastadl.dependability.errormodel.ErrorModelPrototype;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePort;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Fault Failure Propagation Link</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.FaultFailurePropagationLinkImpl#getBase_Connector <em>Base Connector</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.FaultFailurePropagationLinkImpl#isImmediatePropagation <em>Immediate Propagation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.FaultFailurePropagationLinkImpl#getToPort <em>To Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.FaultFailurePropagationLinkImpl#getFromPort <em>From Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.FaultFailurePropagationLinkImpl#getFromPort_path <em>From Port path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.FaultFailurePropagationLinkImpl#getToPort_path <em>To Port path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FaultFailurePropagationLinkImpl extends EAElementImpl implements FaultFailurePropagationLink {
+
+ /**
+ * 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 #isImmediatePropagation() <em>Immediate Propagation</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #isImmediatePropagation()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IMMEDIATE_PROPAGATION_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isImmediatePropagation() <em>Immediate Propagation</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #isImmediatePropagation()
+ * @generated
+ * @ordered
+ */
+ protected boolean immediatePropagation = IMMEDIATE_PROPAGATION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getFromPort_path() <em>From Port path</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFromPort_path()
+ * @generated
+ * @ordered
+ */
+ protected EList<ErrorModelPrototype> fromPort_path;
+
+ /**
+ * The cached value of the '{@link #getToPort_path() <em>To Port path</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getToPort_path()
+ * @generated
+ * @ordered
+ */
+ protected EList<ErrorModelPrototype> toPort_path;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected FaultFailurePropagationLinkImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public FaultFailurePort basicGetFromPort() {
+ FaultFailurePort currentFlowPort = null;
+
+ if(getBase_Connector() != null) {
+ // Parse owned Connectors
+ if(getBase_Connector().getEnds().size() >= 2) {
+ ConnectorEnd current = getBase_Connector().getEnds().get(0);
+ ConnectableElement ce = current.getRole();
+
+ if((ce != null) && (ce instanceof Port)) {
+ // Test if ConnectableElement ce is FaultFailurePort
+ currentFlowPort = (FaultFailurePort)UMLUtil.getStereotypeApplication(ce,
+ FaultFailurePort.class);
+ }
+ }
+ }
+ return currentFlowPort;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ErrorModelPrototype> getFromPort_path() {
+ if (fromPort_path == null) {
+ fromPort_path = new EObjectResolvingEList<ErrorModelPrototype>(ErrorModelPrototype.class, this, ErrormodelPackage.FAULT_FAILURE_PROPAGATION_LINK__FROM_PORT_PATH);
+ }
+ return fromPort_path;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ErrorModelPrototype> getToPort_path() {
+ if (toPort_path == null) {
+ toPort_path = new EObjectResolvingEList<ErrorModelPrototype>(ErrorModelPrototype.class, this, ErrormodelPackage.FAULT_FAILURE_PROPAGATION_LINK__TO_PORT_PATH);
+ }
+ return toPort_path;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public FaultFailurePort basicGetToPort() {
+ FaultFailurePort currentFlowPort = null;
+
+ if(getBase_Connector() != null) {
+ // Parse owned Connectors
+ if(getBase_Connector().getEnds().size() >= 2) {
+ ConnectorEnd current = getBase_Connector().getEnds().get(1);
+ ConnectableElement ce = current.getRole();
+
+ if((ce != null) && (ce instanceof Port)) {
+ // Test if ce is stereotyped FaultFailurePort
+ currentFlowPort = (FaultFailurePort)UMLUtil.getStereotypeApplication(ce, FaultFailurePort.class);
+ }
+ }
+ }
+ return currentFlowPort;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ErrormodelPackage.FAULT_FAILURE_PROPAGATION_LINK__BASE_CONNECTOR:
+ if (resolve) return getBase_Connector();
+ return basicGetBase_Connector();
+ case ErrormodelPackage.FAULT_FAILURE_PROPAGATION_LINK__IMMEDIATE_PROPAGATION:
+ return isImmediatePropagation();
+ case ErrormodelPackage.FAULT_FAILURE_PROPAGATION_LINK__TO_PORT:
+ if (resolve) return getToPort();
+ return basicGetToPort();
+ case ErrormodelPackage.FAULT_FAILURE_PROPAGATION_LINK__FROM_PORT:
+ if (resolve) return getFromPort();
+ return basicGetFromPort();
+ case ErrormodelPackage.FAULT_FAILURE_PROPAGATION_LINK__FROM_PORT_PATH:
+ return getFromPort_path();
+ case ErrormodelPackage.FAULT_FAILURE_PROPAGATION_LINK__TO_PORT_PATH:
+ return getToPort_path();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ErrormodelPackage.FAULT_FAILURE_PROPAGATION_LINK__BASE_CONNECTOR:
+ return base_Connector != null;
+ case ErrormodelPackage.FAULT_FAILURE_PROPAGATION_LINK__IMMEDIATE_PROPAGATION:
+ return immediatePropagation != IMMEDIATE_PROPAGATION_EDEFAULT;
+ case ErrormodelPackage.FAULT_FAILURE_PROPAGATION_LINK__TO_PORT:
+ return basicGetToPort() != null;
+ case ErrormodelPackage.FAULT_FAILURE_PROPAGATION_LINK__FROM_PORT:
+ return basicGetFromPort() != null;
+ case ErrormodelPackage.FAULT_FAILURE_PROPAGATION_LINK__FROM_PORT_PATH:
+ return fromPort_path != null && !fromPort_path.isEmpty();
+ case ErrormodelPackage.FAULT_FAILURE_PROPAGATION_LINK__TO_PORT_PATH:
+ return toPort_path != null && !toPort_path.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ErrormodelPackage.FAULT_FAILURE_PROPAGATION_LINK__BASE_CONNECTOR:
+ setBase_Connector((Connector)newValue);
+ return;
+ case ErrormodelPackage.FAULT_FAILURE_PROPAGATION_LINK__IMMEDIATE_PROPAGATION:
+ setImmediatePropagation((Boolean)newValue);
+ return;
+ case ErrormodelPackage.FAULT_FAILURE_PROPAGATION_LINK__FROM_PORT_PATH:
+ getFromPort_path().clear();
+ getFromPort_path().addAll((Collection<? extends ErrorModelPrototype>)newValue);
+ return;
+ case ErrormodelPackage.FAULT_FAILURE_PROPAGATION_LINK__TO_PORT_PATH:
+ getToPort_path().clear();
+ getToPort_path().addAll((Collection<? extends ErrorModelPrototype>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ErrormodelPackage.Literals.FAULT_FAILURE_PROPAGATION_LINK;
+ }
+
+ /**
+ * <!-- 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, ErrormodelPackage.FAULT_FAILURE_PROPAGATION_LINK__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, ErrormodelPackage.FAULT_FAILURE_PROPAGATION_LINK__BASE_CONNECTOR, oldBase_Connector, base_Connector));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ErrormodelPackage.FAULT_FAILURE_PROPAGATION_LINK__BASE_CONNECTOR:
+ setBase_Connector((Connector)null);
+ return;
+ case ErrormodelPackage.FAULT_FAILURE_PROPAGATION_LINK__IMMEDIATE_PROPAGATION:
+ setImmediatePropagation(IMMEDIATE_PROPAGATION_EDEFAULT);
+ return;
+ case ErrormodelPackage.FAULT_FAILURE_PROPAGATION_LINK__FROM_PORT_PATH:
+ getFromPort_path().clear();
+ return;
+ case ErrormodelPackage.FAULT_FAILURE_PROPAGATION_LINK__TO_PORT_PATH:
+ getToPort_path().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public FaultFailurePort getFromPort() {
+ FaultFailurePort fromPort = basicGetFromPort();
+ return fromPort != null && fromPort.eIsProxy() ? (FaultFailurePort)eResolveProxy((InternalEObject)fromPort) : fromPort;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public FaultFailurePort getToPort() {
+ FaultFailurePort toPort = basicGetToPort();
+ return toPort != null && toPort.eIsProxy() ? (FaultFailurePort)eResolveProxy((InternalEObject)toPort) : toPort;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isImmediatePropagation() {
+ return immediatePropagation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setImmediatePropagation(boolean newImmediatePropagation) {
+ boolean oldImmediatePropagation = immediatePropagation;
+ immediatePropagation = newImmediatePropagation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ErrormodelPackage.FAULT_FAILURE_PROPAGATION_LINK__IMMEDIATE_PROPAGATION, oldImmediatePropagation, immediatePropagation));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (immediatePropagation: ");
+ result.append(immediatePropagation);
+ result.append(')');
+ return result.toString();
+ }
+
+} // FaultFailurePropagationLinkImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/FaultInPortImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/FaultInPortImpl.java
new file mode 100644
index 00000000000..511c2f1bcfd
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/FaultInPortImpl.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.FaultInPort;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Fault In Port</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class FaultInPortImpl extends FaultFailurePortImpl implements FaultInPort {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FaultInPortImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ErrormodelPackage.Literals.FAULT_IN_PORT;
+ }
+
+} //FaultInPortImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/InternalFaultPrototypeImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/InternalFaultPrototypeImpl.java
new file mode 100644
index 00000000000..7363fc30f5e
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/InternalFaultPrototypeImpl.java
@@ -0,0 +1,227 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel.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.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.InternalFaultPrototype;
+import org.eclipse.uml2.uml.Event;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Internal Fault Prototype</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.InternalFaultPrototypeImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.InternalFaultPrototypeImpl#getBase_Event <em>Base Event</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class InternalFaultPrototypeImpl extends AnomalyImpl implements InternalFaultPrototype {
+ /**
+ * 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 cached value of the '{@link #getBase_Event() <em>Base Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Event()
+ * @generated
+ * @ordered
+ */
+ protected Event base_Event;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InternalFaultPrototypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ErrormodelPackage.INTERNAL_FAULT_PROTOTYPE__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case ErrormodelPackage.INTERNAL_FAULT_PROTOTYPE__BASE_EVENT:
+ if (resolve) return getBase_Event();
+ return basicGetBase_Event();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ErrormodelPackage.INTERNAL_FAULT_PROTOTYPE__BASE_CLASS:
+ return base_Class != null;
+ case ErrormodelPackage.INTERNAL_FAULT_PROTOTYPE__BASE_EVENT:
+ return base_Event != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ErrormodelPackage.INTERNAL_FAULT_PROTOTYPE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case ErrormodelPackage.INTERNAL_FAULT_PROTOTYPE__BASE_EVENT:
+ setBase_Event((Event)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ErrormodelPackage.Literals.INTERNAL_FAULT_PROTOTYPE;
+ }
+
+ /**
+ * <!-- 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, ErrormodelPackage.INTERNAL_FAULT_PROTOTYPE__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, ErrormodelPackage.INTERNAL_FAULT_PROTOTYPE__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Event getBase_Event() {
+ if (base_Event != null && base_Event.eIsProxy()) {
+ InternalEObject oldBase_Event = (InternalEObject)base_Event;
+ base_Event = (Event)eResolveProxy(oldBase_Event);
+ if (base_Event != oldBase_Event) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ErrormodelPackage.INTERNAL_FAULT_PROTOTYPE__BASE_EVENT, oldBase_Event, base_Event));
+ }
+ }
+ return base_Event;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Event basicGetBase_Event() {
+ return base_Event;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Event(Event newBase_Event) {
+ Event oldBase_Event = base_Event;
+ base_Event = newBase_Event;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ErrormodelPackage.INTERNAL_FAULT_PROTOTYPE__BASE_EVENT, oldBase_Event, base_Event));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ErrormodelPackage.INTERNAL_FAULT_PROTOTYPE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case ErrormodelPackage.INTERNAL_FAULT_PROTOTYPE__BASE_EVENT:
+ setBase_Event((Event)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+} //InternalFaultPrototypeImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/ProcessFaultPrototypeImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/ProcessFaultPrototypeImpl.java
new file mode 100644
index 00000000000..9e3b1f7b2bb
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/impl/ProcessFaultPrototypeImpl.java
@@ -0,0 +1,166 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel.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.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ProcessFaultPrototype;
+import org.eclipse.uml2.uml.Event;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Process Fault Prototype</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ProcessFaultPrototypeImpl#getBase_Event <em>Base Event</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ProcessFaultPrototypeImpl extends AnomalyImpl implements ProcessFaultPrototype {
+ /**
+ * The cached value of the '{@link #getBase_Event() <em>Base Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Event()
+ * @generated
+ * @ordered
+ */
+ protected Event base_Event;
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ProcessFaultPrototypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ErrormodelPackage.PROCESS_FAULT_PROTOTYPE__BASE_EVENT:
+ if (resolve) return getBase_Event();
+ return basicGetBase_Event();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ErrormodelPackage.PROCESS_FAULT_PROTOTYPE__BASE_EVENT:
+ return base_Event != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ErrormodelPackage.PROCESS_FAULT_PROTOTYPE__BASE_EVENT:
+ setBase_Event((Event)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ErrormodelPackage.Literals.PROCESS_FAULT_PROTOTYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Event getBase_Event() {
+ if (base_Event != null && base_Event.eIsProxy()) {
+ InternalEObject oldBase_Event = (InternalEObject)base_Event;
+ base_Event = (Event)eResolveProxy(oldBase_Event);
+ if (base_Event != oldBase_Event) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ErrormodelPackage.PROCESS_FAULT_PROTOTYPE__BASE_EVENT, oldBase_Event, base_Event));
+ }
+ }
+ return base_Event;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Event basicGetBase_Event() {
+ return base_Event;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Event(Event newBase_Event) {
+ Event oldBase_Event = base_Event;
+ base_Event = newBase_Event;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ErrormodelPackage.PROCESS_FAULT_PROTOTYPE__BASE_EVENT, oldBase_Event, base_Event));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ErrormodelPackage.PROCESS_FAULT_PROTOTYPE__BASE_EVENT:
+ setBase_Event((Event)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+} //ProcessFaultPrototypeImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/util/ErrormodelAdapterFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/util/ErrormodelAdapterFactory.java
new file mode 100644
index 00000000000..1fc9054e57d
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/util/ErrormodelAdapterFactory.java
@@ -0,0 +1,359 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel.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.eastadl.dependability.errormodel.Anomaly;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.FailureOutPort;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePort;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.FaultInPort;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.InternalFaultPrototype;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ProcessFaultPrototype;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage
+ * @generated
+ */
+public class ErrormodelAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ErrormodelPackage modelPackage;
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ErrormodelSwitch<Adapter> modelSwitch =
+ new ErrormodelSwitch<Adapter>() {
+ @Override
+ public Adapter caseErrorBehavior(ErrorBehavior object) {
+ return createErrorBehaviorAdapter();
+ }
+ @Override
+ public Adapter caseInternalFaultPrototype(InternalFaultPrototype object) {
+ return createInternalFaultPrototypeAdapter();
+ }
+ @Override
+ public Adapter caseAnomaly(Anomaly object) {
+ return createAnomalyAdapter();
+ }
+ @Override
+ public Adapter caseErrorModelType(ErrorModelType object) {
+ return createErrorModelTypeAdapter();
+ }
+ @Override
+ public Adapter caseFaultFailurePropagationLink(FaultFailurePropagationLink object) {
+ return createFaultFailurePropagationLinkAdapter();
+ }
+ @Override
+ public Adapter caseFaultFailurePort(FaultFailurePort object) {
+ return createFaultFailurePortAdapter();
+ }
+ @Override
+ public Adapter caseErrorModelPrototype(ErrorModelPrototype object) {
+ return createErrorModelPrototypeAdapter();
+ }
+ @Override
+ public Adapter caseFailureOutPort(FailureOutPort object) {
+ return createFailureOutPortAdapter();
+ }
+ @Override
+ public Adapter caseFaultInPort(FaultInPort object) {
+ return createFaultInPortAdapter();
+ }
+ @Override
+ public Adapter caseProcessFaultPrototype(ProcessFaultPrototype object) {
+ return createProcessFaultPrototypeAdapter();
+ }
+ @Override
+ public Adapter caseEAElement(EAElement object) {
+ return createEAElementAdapter();
+ }
+ @Override
+ public Adapter caseEAPackageableElement(EAPackageableElement object) {
+ return createEAPackageableElementAdapter();
+ }
+ @Override
+ public Adapter caseTraceableSpecification(TraceableSpecification object) {
+ return createTraceableSpecificationAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ErrormodelAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = ErrormodelPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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.eclipse.papyrus.eastadl.dependability.errormodel.Anomaly <em>Anomaly</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.dependability.errormodel.Anomaly
+ * @generated
+ */
+ public Adapter createAnomalyAdapter() {
+ 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;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior <em>Error Behavior</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.dependability.errormodel.ErrorBehavior
+ * @generated
+ */
+ public Adapter createErrorBehaviorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype <em>Error Model Prototype</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.dependability.errormodel.ErrorModelPrototype
+ * @generated
+ */
+ public Adapter createErrorModelPrototypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType <em>Error Model 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.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType
+ * @generated
+ */
+ public Adapter createErrorModelTypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FailureOutPort <em>Failure Out Port</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.dependability.errormodel.FailureOutPort
+ * @generated
+ */
+ public Adapter createFailureOutPortAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePort <em>Fault Failure Port</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.dependability.errormodel.FaultFailurePort
+ * @generated
+ */
+ public Adapter createFaultFailurePortAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink <em>Fault Failure Propagation Link</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.dependability.errormodel.FaultFailurePropagationLink
+ * @generated
+ */
+ public Adapter createFaultFailurePropagationLinkAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.FaultInPort <em>Fault In Port</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.dependability.errormodel.FaultInPort
+ * @generated
+ */
+ public Adapter createFaultInPortAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.InternalFaultPrototype <em>Internal Fault Prototype</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.dependability.errormodel.InternalFaultPrototype
+ * @generated
+ */
+ public Adapter createInternalFaultPrototypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.dependability.errormodel.ProcessFaultPrototype <em>Process Fault Prototype</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.dependability.errormodel.ProcessFaultPrototype
+ * @generated
+ */
+ public Adapter createProcessFaultPrototypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement <em>EA Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAElement
+ * @generated
+ */
+ public Adapter createEAElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement <em>EA Packageable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAPackageableElement
+ * @generated
+ */
+ public Adapter createEAPackageableElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification <em>Traceable 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.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification
+ * @generated
+ */
+ public Adapter createTraceableSpecificationAdapter() {
+ return null;
+ }
+
+ /**
+ * 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;
+ }
+
+} //ErrormodelAdapterFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/util/ErrormodelResourceFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/util/ErrormodelResourceFactoryImpl.java
new file mode 100644
index 00000000000..7d5f7ed8f45
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/util/ErrormodelResourceFactoryImpl.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel.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.eclipse.papyrus.eastadl.dependability.errormodel.util.ErrormodelResourceImpl
+ * @generated
+ */
+public class ErrormodelResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ErrormodelResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new ErrormodelResourceImpl(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;
+ }
+
+} //ErrormodelResourceFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/util/ErrormodelResourceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/util/ErrormodelResourceImpl.java
new file mode 100644
index 00000000000..ffb73db7604
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/util/ErrormodelResourceImpl.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel.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.eclipse.papyrus.eastadl.dependability.errormodel.util.ErrormodelResourceFactoryImpl
+ * @generated
+ */
+public class ErrormodelResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public ErrormodelResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //ErrormodelResourceImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/util/ErrormodelSwitch.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/util/ErrormodelSwitch.java
new file mode 100644
index 00000000000..b08eefa2fb2
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/util/ErrormodelSwitch.java
@@ -0,0 +1,388 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.Anomaly;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorBehavior;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelPrototype;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.FailureOutPort;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePort;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.FaultFailurePropagationLink;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.FaultInPort;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.InternalFaultPrototype;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ProcessFaultPrototype;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage
+ * @generated
+ */
+public class ErrormodelSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ErrormodelPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ErrormodelSwitch() {
+ if (modelPackage == null) {
+ modelPackage = ErrormodelPackage.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;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Anomaly</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Anomaly</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAnomaly(Anomaly object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Error Behavior</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate 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 Behavior</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseErrorBehavior(ErrorBehavior object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Error Model Prototype</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate 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 Prototype</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseErrorModelPrototype(ErrorModelPrototype object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Error Model 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>Error Model Type</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseErrorModelType(ErrorModelType object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Failure Out Port</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate 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 Out Port</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFailureOutPort(FailureOutPort object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fault Failure Port</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate 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 Failure Port</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFaultFailurePort(FaultFailurePort object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fault Failure Propagation Link</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate 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 Failure Propagation Link</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFaultFailurePropagationLink(FaultFailurePropagationLink object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fault In Port</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate 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 In Port</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFaultInPort(FaultInPort object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Internal Fault Prototype</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate 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 Prototype</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseInternalFaultPrototype(InternalFaultPrototype object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Process Fault Prototype</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Process Fault Prototype</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseProcessFaultPrototype(ProcessFaultPrototype object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAElement(EAElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Packageable Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Packageable Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAPackageableElement(EAPackageableElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Traceable 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>Traceable Specification</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTraceableSpecification(TraceableSpecification 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;
+ }
+
+ /**
+ * 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 ErrormodelPackage.ERROR_BEHAVIOR: {
+ ErrorBehavior errorBehavior = (ErrorBehavior)theEObject;
+ T result = caseErrorBehavior(errorBehavior);
+ if (result == null) result = caseEAElement(errorBehavior);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ErrormodelPackage.INTERNAL_FAULT_PROTOTYPE: {
+ InternalFaultPrototype internalFaultPrototype = (InternalFaultPrototype)theEObject;
+ T result = caseInternalFaultPrototype(internalFaultPrototype);
+ if (result == null) result = caseAnomaly(internalFaultPrototype);
+ if (result == null) result = caseEAElement(internalFaultPrototype);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ErrormodelPackage.ANOMALY: {
+ Anomaly anomaly = (Anomaly)theEObject;
+ T result = caseAnomaly(anomaly);
+ if (result == null) result = caseEAElement(anomaly);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ErrormodelPackage.ERROR_MODEL_TYPE: {
+ ErrorModelType errorModelType = (ErrorModelType)theEObject;
+ T result = caseErrorModelType(errorModelType);
+ if (result == null) result = caseTraceableSpecification(errorModelType);
+ if (result == null) result = caseEAPackageableElement(errorModelType);
+ if (result == null) result = caseEAElement(errorModelType);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ErrormodelPackage.FAULT_FAILURE_PROPAGATION_LINK: {
+ FaultFailurePropagationLink faultFailurePropagationLink = (FaultFailurePropagationLink)theEObject;
+ T result = caseFaultFailurePropagationLink(faultFailurePropagationLink);
+ if (result == null) result = caseEAElement(faultFailurePropagationLink);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ErrormodelPackage.FAULT_FAILURE_PORT: {
+ FaultFailurePort faultFailurePort = (FaultFailurePort)theEObject;
+ T result = caseFaultFailurePort(faultFailurePort);
+ if (result == null) result = caseAnomaly(faultFailurePort);
+ if (result == null) result = caseEAElement(faultFailurePort);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ErrormodelPackage.ERROR_MODEL_PROTOTYPE: {
+ ErrorModelPrototype errorModelPrototype = (ErrorModelPrototype)theEObject;
+ T result = caseErrorModelPrototype(errorModelPrototype);
+ if (result == null) result = caseEAElement(errorModelPrototype);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ErrormodelPackage.FAILURE_OUT_PORT: {
+ FailureOutPort failureOutPort = (FailureOutPort)theEObject;
+ T result = caseFailureOutPort(failureOutPort);
+ if (result == null) result = caseFaultFailurePort(failureOutPort);
+ if (result == null) result = caseAnomaly(failureOutPort);
+ if (result == null) result = caseEAElement(failureOutPort);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ErrormodelPackage.FAULT_IN_PORT: {
+ FaultInPort faultInPort = (FaultInPort)theEObject;
+ T result = caseFaultInPort(faultInPort);
+ if (result == null) result = caseFaultFailurePort(faultInPort);
+ if (result == null) result = caseAnomaly(faultInPort);
+ if (result == null) result = caseEAElement(faultInPort);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ErrormodelPackage.PROCESS_FAULT_PROTOTYPE: {
+ ProcessFaultPrototype processFaultPrototype = (ProcessFaultPrototype)theEObject;
+ T result = caseProcessFaultPrototype(processFaultPrototype);
+ if (result == null) result = caseAnomaly(processFaultPrototype);
+ if (result == null) result = caseEAElement(processFaultPrototype);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+} //ErrormodelSwitch
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/util/ErrormodelXMLProcessor.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/util/ErrormodelXMLProcessor.java
new file mode 100644
index 00000000000..4a57737adeb
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/errormodel/util/ErrormodelXMLProcessor.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.errormodel.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.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ErrormodelXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ErrormodelXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ ErrormodelPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the ErrormodelResourceFactoryImpl 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 ErrormodelResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new ErrormodelResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //ErrormodelXMLProcessor
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/impl/DependabilityFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/impl/DependabilityFactoryImpl.java
new file mode 100644
index 00000000000..f8d35629974
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/impl/DependabilityFactoryImpl.java
@@ -0,0 +1,283 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.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.eclipse.papyrus.eastadl.dependability.ControllabilityClassKind;
+import org.eclipse.papyrus.eastadl.dependability.Dependability;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityFactory;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.DevelopmentCategoryKind;
+import org.eclipse.papyrus.eastadl.dependability.ExposureClassKind;
+import org.eclipse.papyrus.eastadl.dependability.FeatureFlaw;
+import org.eclipse.papyrus.eastadl.dependability.Hazard;
+import org.eclipse.papyrus.eastadl.dependability.HazardousEvent;
+import org.eclipse.papyrus.eastadl.dependability.Item;
+import org.eclipse.papyrus.eastadl.dependability.SeverityClassKind;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DependabilityFactoryImpl extends EFactoryImpl implements DependabilityFactory {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static DependabilityPackage getPackage() {
+ return DependabilityPackage.eINSTANCE;
+ }
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static DependabilityFactory init() {
+ try {
+ DependabilityFactory theDependabilityFactory = (DependabilityFactory)EPackage.Registry.INSTANCE.getEFactory(DependabilityPackage.eNS_URI);
+ if (theDependabilityFactory != null) {
+ return theDependabilityFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new DependabilityFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DependabilityFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertControllabilityClassKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertDevelopmentCategoryKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertExposureClassKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertSeverityClassKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case DependabilityPackage.CONTROLLABILITY_CLASS_KIND:
+ return convertControllabilityClassKindToString(eDataType, instanceValue);
+ case DependabilityPackage.EXPOSURE_CLASS_KIND:
+ return convertExposureClassKindToString(eDataType, instanceValue);
+ case DependabilityPackage.SEVERITY_CLASS_KIND:
+ return convertSeverityClassKindToString(eDataType, instanceValue);
+ case DependabilityPackage.DEVELOPMENT_CATEGORY_KIND:
+ return convertDevelopmentCategoryKindToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case DependabilityPackage.HAZARDOUS_EVENT: return createHazardousEvent();
+ case DependabilityPackage.HAZARD: return createHazard();
+ case DependabilityPackage.FEATURE_FLAW: return createFeatureFlaw();
+ case DependabilityPackage.ITEM: return createItem();
+ case DependabilityPackage.DEPENDABILITY: return createDependability();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ControllabilityClassKind createControllabilityClassKindFromString(EDataType eDataType, String initialValue) {
+ ControllabilityClassKind result = ControllabilityClassKind.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 Dependability createDependability() {
+ DependabilityImpl dependability = new DependabilityImpl();
+ return dependability;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DevelopmentCategoryKind createDevelopmentCategoryKindFromString(EDataType eDataType, String initialValue) {
+ DevelopmentCategoryKind result = DevelopmentCategoryKind.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 ExposureClassKind createExposureClassKindFromString(EDataType eDataType, String initialValue) {
+ ExposureClassKind result = ExposureClassKind.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 FeatureFlaw createFeatureFlaw() {
+ FeatureFlawImpl featureFlaw = new FeatureFlawImpl();
+ return featureFlaw;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case DependabilityPackage.CONTROLLABILITY_CLASS_KIND:
+ return createControllabilityClassKindFromString(eDataType, initialValue);
+ case DependabilityPackage.EXPOSURE_CLASS_KIND:
+ return createExposureClassKindFromString(eDataType, initialValue);
+ case DependabilityPackage.SEVERITY_CLASS_KIND:
+ return createSeverityClassKindFromString(eDataType, initialValue);
+ case DependabilityPackage.DEVELOPMENT_CATEGORY_KIND:
+ return createDevelopmentCategoryKindFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Hazard createHazard() {
+ HazardImpl hazard = new HazardImpl();
+ return hazard;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HazardousEvent createHazardousEvent() {
+ HazardousEventImpl hazardousEvent = new HazardousEventImpl();
+ return hazardousEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Item createItem() {
+ ItemImpl item = new ItemImpl();
+ return item;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SeverityClassKind createSeverityClassKindFromString(EDataType eDataType, String initialValue) {
+ SeverityClassKind result = SeverityClassKind.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 DependabilityPackage getDependabilityPackage() {
+ return (DependabilityPackage)getEPackage();
+ }
+
+} //DependabilityFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/impl/DependabilityImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/impl/DependabilityImpl.java
new file mode 100644
index 00000000000..4506b2cd723
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/impl/DependabilityImpl.java
@@ -0,0 +1,652 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.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.eastadl.dependability.Dependability;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.FeatureFlaw;
+import org.eclipse.papyrus.eastadl.dependability.HazardousEvent;
+import org.eclipse.papyrus.eastadl.dependability.Item;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrorModelType;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.FaultFailure;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyConstraint;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.FunctionalSafetyConcept;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.TechnicalSafetyConcept;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatype;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ContextImpl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Dependability</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.DependabilityImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.DependabilityImpl#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.DependabilityImpl#getFunctionalSafetyConcept <em>Functional Safety Concept</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.DependabilityImpl#getSafetyGoal <em>Safety Goal</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.DependabilityImpl#getTechnicalSafetyConcept <em>Technical Safety Concept</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.DependabilityImpl#getHazardousEvent <em>Hazardous Event</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.DependabilityImpl#getFeatureFlaw <em>Feature Flaw</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.DependabilityImpl#getItem <em>Item</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.DependabilityImpl#getEADatatype <em>EA Datatype</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.DependabilityImpl#getFaultFailure <em>Fault Failure</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.DependabilityImpl#getQuantitativeSafetyConstraint <em>Quantitative Safety Constraint</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.DependabilityImpl#getSafetyConstraint <em>Safety Constraint</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.DependabilityImpl#getSafetyCase <em>Safety Case</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.DependabilityImpl#getErrorModelType <em>Error Model Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DependabilityImpl extends ContextImpl implements Dependability {
+ /**
+ * 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 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 #getFunctionalSafetyConcept() <em>Functional Safety Concept</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFunctionalSafetyConcept()
+ * @generated
+ * @ordered
+ */
+ protected EList<FunctionalSafetyConcept> functionalSafetyConcept;
+
+ /**
+ * The cached value of the '{@link #getSafetyGoal() <em>Safety Goal</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSafetyGoal()
+ * @generated
+ * @ordered
+ */
+ protected EList<SafetyGoal> safetyGoal;
+
+ /**
+ * The cached value of the '{@link #getTechnicalSafetyConcept() <em>Technical Safety Concept</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTechnicalSafetyConcept()
+ * @generated
+ * @ordered
+ */
+ protected EList<TechnicalSafetyConcept> technicalSafetyConcept;
+
+ /**
+ * The cached value of the '{@link #getHazardousEvent() <em>Hazardous Event</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHazardousEvent()
+ * @generated
+ * @ordered
+ */
+ protected EList<HazardousEvent> hazardousEvent;
+
+ /**
+ * The cached value of the '{@link #getFeatureFlaw() <em>Feature Flaw</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFeatureFlaw()
+ * @generated
+ * @ordered
+ */
+ protected EList<FeatureFlaw> featureFlaw;
+
+ /**
+ * The cached value of the '{@link #getItem() <em>Item</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getItem()
+ * @generated
+ * @ordered
+ */
+ protected EList<Item> item;
+
+ /**
+ * The cached value of the '{@link #getEADatatype() <em>EA Datatype</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEADatatype()
+ * @generated
+ * @ordered
+ */
+ protected EList<EADatatype> eADatatype;
+
+ /**
+ * The cached value of the '{@link #getFaultFailure() <em>Fault Failure</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFaultFailure()
+ * @generated
+ * @ordered
+ */
+ protected EList<FaultFailure> faultFailure;
+
+ /**
+ * The cached value of the '{@link #getQuantitativeSafetyConstraint() <em>Quantitative Safety Constraint</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQuantitativeSafetyConstraint()
+ * @generated
+ * @ordered
+ */
+ protected EList<QuantitativeSafetyConstraint> quantitativeSafetyConstraint;
+
+ /**
+ * The cached value of the '{@link #getSafetyConstraint() <em>Safety Constraint</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSafetyConstraint()
+ * @generated
+ * @ordered
+ */
+ protected EList<SafetyConstraint> safetyConstraint;
+
+ /**
+ * The cached value of the '{@link #getSafetyCase() <em>Safety Case</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSafetyCase()
+ * @generated
+ * @ordered
+ */
+ protected EList<SafetyCase> safetyCase;
+
+ /**
+ * The cached value of the '{@link #getErrorModelType() <em>Error Model Type</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getErrorModelType()
+ * @generated
+ * @ordered
+ */
+ protected EList<ErrorModelType> errorModelType;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DependabilityImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DependabilityPackage.DEPENDABILITY__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case DependabilityPackage.DEPENDABILITY__BASE_PACKAGE:
+ if (resolve) return getBase_Package();
+ return basicGetBase_Package();
+ case DependabilityPackage.DEPENDABILITY__FUNCTIONAL_SAFETY_CONCEPT:
+ return getFunctionalSafetyConcept();
+ case DependabilityPackage.DEPENDABILITY__SAFETY_GOAL:
+ return getSafetyGoal();
+ case DependabilityPackage.DEPENDABILITY__TECHNICAL_SAFETY_CONCEPT:
+ return getTechnicalSafetyConcept();
+ case DependabilityPackage.DEPENDABILITY__HAZARDOUS_EVENT:
+ return getHazardousEvent();
+ case DependabilityPackage.DEPENDABILITY__FEATURE_FLAW:
+ return getFeatureFlaw();
+ case DependabilityPackage.DEPENDABILITY__ITEM:
+ return getItem();
+ case DependabilityPackage.DEPENDABILITY__EA_DATATYPE:
+ return getEADatatype();
+ case DependabilityPackage.DEPENDABILITY__FAULT_FAILURE:
+ return getFaultFailure();
+ case DependabilityPackage.DEPENDABILITY__QUANTITATIVE_SAFETY_CONSTRAINT:
+ return getQuantitativeSafetyConstraint();
+ case DependabilityPackage.DEPENDABILITY__SAFETY_CONSTRAINT:
+ return getSafetyConstraint();
+ case DependabilityPackage.DEPENDABILITY__SAFETY_CASE:
+ return getSafetyCase();
+ case DependabilityPackage.DEPENDABILITY__ERROR_MODEL_TYPE:
+ return getErrorModelType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DependabilityPackage.DEPENDABILITY__BASE_CLASS:
+ return base_Class != null;
+ case DependabilityPackage.DEPENDABILITY__BASE_PACKAGE:
+ return base_Package != null;
+ case DependabilityPackage.DEPENDABILITY__FUNCTIONAL_SAFETY_CONCEPT:
+ return functionalSafetyConcept != null && !functionalSafetyConcept.isEmpty();
+ case DependabilityPackage.DEPENDABILITY__SAFETY_GOAL:
+ return safetyGoal != null && !safetyGoal.isEmpty();
+ case DependabilityPackage.DEPENDABILITY__TECHNICAL_SAFETY_CONCEPT:
+ return technicalSafetyConcept != null && !technicalSafetyConcept.isEmpty();
+ case DependabilityPackage.DEPENDABILITY__HAZARDOUS_EVENT:
+ return hazardousEvent != null && !hazardousEvent.isEmpty();
+ case DependabilityPackage.DEPENDABILITY__FEATURE_FLAW:
+ return featureFlaw != null && !featureFlaw.isEmpty();
+ case DependabilityPackage.DEPENDABILITY__ITEM:
+ return item != null && !item.isEmpty();
+ case DependabilityPackage.DEPENDABILITY__EA_DATATYPE:
+ return eADatatype != null && !eADatatype.isEmpty();
+ case DependabilityPackage.DEPENDABILITY__FAULT_FAILURE:
+ return faultFailure != null && !faultFailure.isEmpty();
+ case DependabilityPackage.DEPENDABILITY__QUANTITATIVE_SAFETY_CONSTRAINT:
+ return quantitativeSafetyConstraint != null && !quantitativeSafetyConstraint.isEmpty();
+ case DependabilityPackage.DEPENDABILITY__SAFETY_CONSTRAINT:
+ return safetyConstraint != null && !safetyConstraint.isEmpty();
+ case DependabilityPackage.DEPENDABILITY__SAFETY_CASE:
+ return safetyCase != null && !safetyCase.isEmpty();
+ case DependabilityPackage.DEPENDABILITY__ERROR_MODEL_TYPE:
+ return errorModelType != null && !errorModelType.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DependabilityPackage.DEPENDABILITY__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case DependabilityPackage.DEPENDABILITY__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+ return;
+ case DependabilityPackage.DEPENDABILITY__FUNCTIONAL_SAFETY_CONCEPT:
+ getFunctionalSafetyConcept().clear();
+ getFunctionalSafetyConcept().addAll((Collection<? extends FunctionalSafetyConcept>)newValue);
+ return;
+ case DependabilityPackage.DEPENDABILITY__SAFETY_GOAL:
+ getSafetyGoal().clear();
+ getSafetyGoal().addAll((Collection<? extends SafetyGoal>)newValue);
+ return;
+ case DependabilityPackage.DEPENDABILITY__TECHNICAL_SAFETY_CONCEPT:
+ getTechnicalSafetyConcept().clear();
+ getTechnicalSafetyConcept().addAll((Collection<? extends TechnicalSafetyConcept>)newValue);
+ return;
+ case DependabilityPackage.DEPENDABILITY__HAZARDOUS_EVENT:
+ getHazardousEvent().clear();
+ getHazardousEvent().addAll((Collection<? extends HazardousEvent>)newValue);
+ return;
+ case DependabilityPackage.DEPENDABILITY__FEATURE_FLAW:
+ getFeatureFlaw().clear();
+ getFeatureFlaw().addAll((Collection<? extends FeatureFlaw>)newValue);
+ return;
+ case DependabilityPackage.DEPENDABILITY__ITEM:
+ getItem().clear();
+ getItem().addAll((Collection<? extends Item>)newValue);
+ return;
+ case DependabilityPackage.DEPENDABILITY__EA_DATATYPE:
+ getEADatatype().clear();
+ getEADatatype().addAll((Collection<? extends EADatatype>)newValue);
+ return;
+ case DependabilityPackage.DEPENDABILITY__FAULT_FAILURE:
+ getFaultFailure().clear();
+ getFaultFailure().addAll((Collection<? extends FaultFailure>)newValue);
+ return;
+ case DependabilityPackage.DEPENDABILITY__QUANTITATIVE_SAFETY_CONSTRAINT:
+ getQuantitativeSafetyConstraint().clear();
+ getQuantitativeSafetyConstraint().addAll((Collection<? extends QuantitativeSafetyConstraint>)newValue);
+ return;
+ case DependabilityPackage.DEPENDABILITY__SAFETY_CONSTRAINT:
+ getSafetyConstraint().clear();
+ getSafetyConstraint().addAll((Collection<? extends SafetyConstraint>)newValue);
+ return;
+ case DependabilityPackage.DEPENDABILITY__SAFETY_CASE:
+ getSafetyCase().clear();
+ getSafetyCase().addAll((Collection<? extends SafetyCase>)newValue);
+ return;
+ case DependabilityPackage.DEPENDABILITY__ERROR_MODEL_TYPE:
+ getErrorModelType().clear();
+ getErrorModelType().addAll((Collection<? extends ErrorModelType>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DependabilityPackage.Literals.DEPENDABILITY;
+ }
+
+ /**
+ * <!-- 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, DependabilityPackage.DEPENDABILITY__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, DependabilityPackage.DEPENDABILITY__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- 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, DependabilityPackage.DEPENDABILITY__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, DependabilityPackage.DEPENDABILITY__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DependabilityPackage.DEPENDABILITY__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case DependabilityPackage.DEPENDABILITY__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)null);
+ return;
+ case DependabilityPackage.DEPENDABILITY__FUNCTIONAL_SAFETY_CONCEPT:
+ getFunctionalSafetyConcept().clear();
+ return;
+ case DependabilityPackage.DEPENDABILITY__SAFETY_GOAL:
+ getSafetyGoal().clear();
+ return;
+ case DependabilityPackage.DEPENDABILITY__TECHNICAL_SAFETY_CONCEPT:
+ getTechnicalSafetyConcept().clear();
+ return;
+ case DependabilityPackage.DEPENDABILITY__HAZARDOUS_EVENT:
+ getHazardousEvent().clear();
+ return;
+ case DependabilityPackage.DEPENDABILITY__FEATURE_FLAW:
+ getFeatureFlaw().clear();
+ return;
+ case DependabilityPackage.DEPENDABILITY__ITEM:
+ getItem().clear();
+ return;
+ case DependabilityPackage.DEPENDABILITY__EA_DATATYPE:
+ getEADatatype().clear();
+ return;
+ case DependabilityPackage.DEPENDABILITY__FAULT_FAILURE:
+ getFaultFailure().clear();
+ return;
+ case DependabilityPackage.DEPENDABILITY__QUANTITATIVE_SAFETY_CONSTRAINT:
+ getQuantitativeSafetyConstraint().clear();
+ return;
+ case DependabilityPackage.DEPENDABILITY__SAFETY_CONSTRAINT:
+ getSafetyConstraint().clear();
+ return;
+ case DependabilityPackage.DEPENDABILITY__SAFETY_CASE:
+ getSafetyCase().clear();
+ return;
+ case DependabilityPackage.DEPENDABILITY__ERROR_MODEL_TYPE:
+ getErrorModelType().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ErrorModelType> getErrorModelType() {
+ if (errorModelType == null) {
+ errorModelType = new EObjectResolvingEList<ErrorModelType>(ErrorModelType.class, this, DependabilityPackage.DEPENDABILITY__ERROR_MODEL_TYPE);
+ }
+ return errorModelType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FaultFailure> getFaultFailure() {
+ if (faultFailure == null) {
+ faultFailure = new EObjectResolvingEList<FaultFailure>(FaultFailure.class, this, DependabilityPackage.DEPENDABILITY__FAULT_FAILURE);
+ }
+ return faultFailure;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FeatureFlaw> getFeatureFlaw() {
+ if (featureFlaw == null) {
+ featureFlaw = new EObjectResolvingEList<FeatureFlaw>(FeatureFlaw.class, this, DependabilityPackage.DEPENDABILITY__FEATURE_FLAW);
+ }
+ return featureFlaw;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FunctionalSafetyConcept> getFunctionalSafetyConcept() {
+ if (functionalSafetyConcept == null) {
+ functionalSafetyConcept = new EObjectResolvingEList<FunctionalSafetyConcept>(FunctionalSafetyConcept.class, this, DependabilityPackage.DEPENDABILITY__FUNCTIONAL_SAFETY_CONCEPT);
+ }
+ return functionalSafetyConcept;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HazardousEvent> getHazardousEvent() {
+ if (hazardousEvent == null) {
+ hazardousEvent = new EObjectResolvingEList<HazardousEvent>(HazardousEvent.class, this, DependabilityPackage.DEPENDABILITY__HAZARDOUS_EVENT);
+ }
+ return hazardousEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Item> getItem() {
+ if (item == null) {
+ item = new EObjectResolvingEList<Item>(Item.class, this, DependabilityPackage.DEPENDABILITY__ITEM);
+ }
+ return item;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EADatatype> getEADatatype() {
+ if (eADatatype == null) {
+ eADatatype = new EObjectResolvingEList<EADatatype>(EADatatype.class, this, DependabilityPackage.DEPENDABILITY__EA_DATATYPE);
+ }
+ return eADatatype;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<QuantitativeSafetyConstraint> getQuantitativeSafetyConstraint() {
+ if (quantitativeSafetyConstraint == null) {
+ quantitativeSafetyConstraint = new EObjectResolvingEList<QuantitativeSafetyConstraint>(QuantitativeSafetyConstraint.class, this, DependabilityPackage.DEPENDABILITY__QUANTITATIVE_SAFETY_CONSTRAINT);
+ }
+ return quantitativeSafetyConstraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<SafetyCase> getSafetyCase() {
+ if (safetyCase == null) {
+ safetyCase = new EObjectResolvingEList<SafetyCase>(SafetyCase.class, this, DependabilityPackage.DEPENDABILITY__SAFETY_CASE);
+ }
+ return safetyCase;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<SafetyConstraint> getSafetyConstraint() {
+ if (safetyConstraint == null) {
+ safetyConstraint = new EObjectResolvingEList<SafetyConstraint>(SafetyConstraint.class, this, DependabilityPackage.DEPENDABILITY__SAFETY_CONSTRAINT);
+ }
+ return safetyConstraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<SafetyGoal> getSafetyGoal() {
+ if (safetyGoal == null) {
+ safetyGoal = new EObjectResolvingEList<SafetyGoal>(SafetyGoal.class, this, DependabilityPackage.DEPENDABILITY__SAFETY_GOAL);
+ }
+ return safetyGoal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TechnicalSafetyConcept> getTechnicalSafetyConcept() {
+ if (technicalSafetyConcept == null) {
+ technicalSafetyConcept = new EObjectResolvingEList<TechnicalSafetyConcept>(TechnicalSafetyConcept.class, this, DependabilityPackage.DEPENDABILITY__TECHNICAL_SAFETY_CONCEPT);
+ }
+ return technicalSafetyConcept;
+ }
+
+} //DependabilityImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/impl/DependabilityPackageImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/impl/DependabilityPackageImpl.java
new file mode 100644
index 00000000000..c5f671f7d6c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/impl/DependabilityPackageImpl.java
@@ -0,0 +1,909 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.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.eastadl.EastadlPackage;
+import org.eclipse.papyrus.eastadl.annex.AnnexPackage;
+import org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.ControllabilityClassKind;
+import org.eclipse.papyrus.eastadl.dependability.Dependability;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityFactory;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.DevelopmentCategoryKind;
+import org.eclipse.papyrus.eastadl.dependability.ExposureClassKind;
+import org.eclipse.papyrus.eastadl.dependability.FeatureFlaw;
+import org.eclipse.papyrus.eastadl.dependability.Hazard;
+import org.eclipse.papyrus.eastadl.dependability.HazardousEvent;
+import org.eclipse.papyrus.eastadl.dependability.Item;
+import org.eclipse.papyrus.eastadl.dependability.SeverityClassKind;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.StructurePackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DependabilityPackageImpl extends EPackageImpl implements DependabilityPackage {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hazardousEventEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hazardEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass featureFlawEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass itemEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass dependabilityEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum controllabilityClassKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum exposureClassKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum severityClassKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum developmentCategoryKindEEnum = null;
+
+ /**
+ * <!-- 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 DependabilityPackage#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 DependabilityPackage init() {
+ if (isInited) return (DependabilityPackage)EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI);
+
+ // Obtain or create and register package
+ DependabilityPackageImpl theDependabilityPackage = (DependabilityPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof DependabilityPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new DependabilityPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ SysmlPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EastadlPackageImpl theEastadlPackage = (EastadlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) instanceof EastadlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) : EastadlPackage.eINSTANCE);
+ VariabilityPackageImpl theVariabilityPackage = (VariabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) instanceof VariabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) : VariabilityPackage.eINSTANCE);
+ InfrastructurePackageImpl theInfrastructurePackage = (InfrastructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) instanceof InfrastructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) : InfrastructurePackage.eINSTANCE);
+ DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) instanceof DatatypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) : DatatypesPackage.eINSTANCE);
+ UserattributesPackageImpl theUserattributesPackage = (UserattributesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) instanceof UserattributesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) : UserattributesPackage.eINSTANCE);
+ ElementsPackageImpl theElementsPackage = (ElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) instanceof ElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) : ElementsPackage.eINSTANCE);
+ StructurePackageImpl theStructurePackage = (StructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) instanceof StructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) : StructurePackage.eINSTANCE);
+ FunctionmodelingPackageImpl theFunctionmodelingPackage = (FunctionmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) instanceof FunctionmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) : FunctionmodelingPackage.eINSTANCE);
+ HardwaremodelingPackageImpl theHardwaremodelingPackage = (HardwaremodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) instanceof HardwaremodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) : HardwaremodelingPackage.eINSTANCE);
+ SystemmodelingPackageImpl theSystemmodelingPackage = (SystemmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) instanceof SystemmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) : SystemmodelingPackage.eINSTANCE);
+ VehiclefeaturemodelingPackageImpl theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) instanceof VehiclefeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) : VehiclefeaturemodelingPackage.eINSTANCE);
+ FeaturemodelingPackageImpl theFeaturemodelingPackage = (FeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) instanceof FeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) : FeaturemodelingPackage.eINSTANCE);
+ BehaviorPackageImpl theBehaviorPackage = (BehaviorPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) instanceof BehaviorPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) : BehaviorPackage.eINSTANCE);
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) : RequirementsPackage.eINSTANCE);
+ VerificationvalidationPackageImpl theVerificationvalidationPackage = (VerificationvalidationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) instanceof VerificationvalidationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) : VerificationvalidationPackage.eINSTANCE);
+ TimingPackageImpl theTimingPackage = (TimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) instanceof TimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) : TimingPackage.eINSTANCE);
+ TimingconstraintsPackageImpl theTimingconstraintsPackage = (TimingconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) instanceof TimingconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) : TimingconstraintsPackage.eINSTANCE);
+ EventsPackageImpl theEventsPackage = (EventsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+ InterchangePackageImpl theInterchangePackage = (InterchangePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) instanceof InterchangePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) : InterchangePackage.eINSTANCE);
+ EnvironmentPackageImpl theEnvironmentPackage = (EnvironmentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) instanceof EnvironmentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) : EnvironmentPackage.eINSTANCE);
+ ErrormodelPackageImpl theErrormodelPackage = (ErrormodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) instanceof ErrormodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) : ErrormodelPackage.eINSTANCE);
+ SafetyrequirementPackageImpl theSafetyrequirementPackage = (SafetyrequirementPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) instanceof SafetyrequirementPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) : SafetyrequirementPackage.eINSTANCE);
+ SafetyconstraintsPackageImpl theSafetyconstraintsPackage = (SafetyconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) instanceof SafetyconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) : SafetyconstraintsPackage.eINSTANCE);
+ SafetycasePackageImpl theSafetycasePackage = (SafetycasePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) instanceof SafetycasePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) : SafetycasePackage.eINSTANCE);
+ AnnexPackageImpl theAnnexPackage = (AnnexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) instanceof AnnexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) : AnnexPackage.eINSTANCE);
+ NeedsPackageImpl theNeedsPackage = (NeedsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) instanceof NeedsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) : NeedsPackage.eINSTANCE);
+ GenericconstraintsPackageImpl theGenericconstraintsPackage = (GenericconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) instanceof GenericconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) : GenericconstraintsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theDependabilityPackage.createPackageContents();
+ theEastadlPackage.createPackageContents();
+ theVariabilityPackage.createPackageContents();
+ theInfrastructurePackage.createPackageContents();
+ theDatatypesPackage.createPackageContents();
+ theUserattributesPackage.createPackageContents();
+ theElementsPackage.createPackageContents();
+ theStructurePackage.createPackageContents();
+ theFunctionmodelingPackage.createPackageContents();
+ theHardwaremodelingPackage.createPackageContents();
+ theSystemmodelingPackage.createPackageContents();
+ theVehiclefeaturemodelingPackage.createPackageContents();
+ theFeaturemodelingPackage.createPackageContents();
+ theBehaviorPackage.createPackageContents();
+ theRequirementsPackage.createPackageContents();
+ theVerificationvalidationPackage.createPackageContents();
+ theTimingPackage.createPackageContents();
+ theTimingconstraintsPackage.createPackageContents();
+ theEventsPackage.createPackageContents();
+ theInterchangePackage.createPackageContents();
+ theEnvironmentPackage.createPackageContents();
+ theErrormodelPackage.createPackageContents();
+ theSafetyrequirementPackage.createPackageContents();
+ theSafetyconstraintsPackage.createPackageContents();
+ theSafetycasePackage.createPackageContents();
+ theAnnexPackage.createPackageContents();
+ theNeedsPackage.createPackageContents();
+ theGenericconstraintsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theDependabilityPackage.initializePackageContents();
+ theEastadlPackage.initializePackageContents();
+ theVariabilityPackage.initializePackageContents();
+ theInfrastructurePackage.initializePackageContents();
+ theDatatypesPackage.initializePackageContents();
+ theUserattributesPackage.initializePackageContents();
+ theElementsPackage.initializePackageContents();
+ theStructurePackage.initializePackageContents();
+ theFunctionmodelingPackage.initializePackageContents();
+ theHardwaremodelingPackage.initializePackageContents();
+ theSystemmodelingPackage.initializePackageContents();
+ theVehiclefeaturemodelingPackage.initializePackageContents();
+ theFeaturemodelingPackage.initializePackageContents();
+ theBehaviorPackage.initializePackageContents();
+ theRequirementsPackage.initializePackageContents();
+ theVerificationvalidationPackage.initializePackageContents();
+ theTimingPackage.initializePackageContents();
+ theTimingconstraintsPackage.initializePackageContents();
+ theEventsPackage.initializePackageContents();
+ theInterchangePackage.initializePackageContents();
+ theEnvironmentPackage.initializePackageContents();
+ theErrormodelPackage.initializePackageContents();
+ theSafetyrequirementPackage.initializePackageContents();
+ theSafetyconstraintsPackage.initializePackageContents();
+ theSafetycasePackage.initializePackageContents();
+ theAnnexPackage.initializePackageContents();
+ theNeedsPackage.initializePackageContents();
+ theGenericconstraintsPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theDependabilityPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(DependabilityPackage.eNS_URI, theDependabilityPackage);
+ return theDependabilityPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * 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.eclipse.papyrus.eastadl.dependability.DependabilityPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private DependabilityPackageImpl() {
+ super(eNS_URI, DependabilityFactory.eINSTANCE);
+ }
+
+ /**
+ * 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
+ hazardousEventEClass = createEClass(HAZARDOUS_EVENT);
+ createEReference(hazardousEventEClass, HAZARDOUS_EVENT__BASE_CLASS);
+ createEAttribute(hazardousEventEClass, HAZARDOUS_EVENT__CONTROLLABILITY);
+ createEAttribute(hazardousEventEClass, HAZARDOUS_EVENT__EXPOSURE);
+ createEAttribute(hazardousEventEClass, HAZARDOUS_EVENT__HAZARD_CLASSIFICATION);
+ createEAttribute(hazardousEventEClass, HAZARDOUS_EVENT__SEVERITY);
+ createEAttribute(hazardousEventEClass, HAZARDOUS_EVENT__CLASSIFICATION_ASSUMPTIONS);
+ createEReference(hazardousEventEClass, HAZARDOUS_EVENT__HAZARD);
+ createEReference(hazardousEventEClass, HAZARDOUS_EVENT__TRAFFIC);
+ createEReference(hazardousEventEClass, HAZARDOUS_EVENT__ENVIRONMENT);
+ createEReference(hazardousEventEClass, HAZARDOUS_EVENT__OPERATIONAL_SITUATION_USE_CASE);
+ createEReference(hazardousEventEClass, HAZARDOUS_EVENT__OPERATING_MODE);
+ createEReference(hazardousEventEClass, HAZARDOUS_EVENT__EXTERNAL_MEASURES);
+
+ hazardEClass = createEClass(HAZARD);
+ createEReference(hazardEClass, HAZARD__BASE_CLASS);
+ createEReference(hazardEClass, HAZARD__MALFUNCTION);
+ createEReference(hazardEClass, HAZARD__ITEM);
+
+ featureFlawEClass = createEClass(FEATURE_FLAW);
+ createEReference(featureFlawEClass, FEATURE_FLAW__BASE_CLASS);
+ createEReference(featureFlawEClass, FEATURE_FLAW__ITEM);
+ createEReference(featureFlawEClass, FEATURE_FLAW__NON_FULFILLED_REQUIREMENT);
+
+ itemEClass = createEClass(ITEM);
+ createEReference(itemEClass, ITEM__BASE_CLASS);
+ createEAttribute(itemEClass, ITEM__DEVELOPMENT_CATEGORY);
+ createEReference(itemEClass, ITEM__VEHICLE_FEATURE);
+
+ dependabilityEClass = createEClass(DEPENDABILITY);
+ createEReference(dependabilityEClass, DEPENDABILITY__BASE_CLASS);
+ createEReference(dependabilityEClass, DEPENDABILITY__BASE_PACKAGE);
+ createEReference(dependabilityEClass, DEPENDABILITY__FUNCTIONAL_SAFETY_CONCEPT);
+ createEReference(dependabilityEClass, DEPENDABILITY__SAFETY_GOAL);
+ createEReference(dependabilityEClass, DEPENDABILITY__TECHNICAL_SAFETY_CONCEPT);
+ createEReference(dependabilityEClass, DEPENDABILITY__HAZARDOUS_EVENT);
+ createEReference(dependabilityEClass, DEPENDABILITY__FEATURE_FLAW);
+ createEReference(dependabilityEClass, DEPENDABILITY__ITEM);
+ createEReference(dependabilityEClass, DEPENDABILITY__EA_DATATYPE);
+ createEReference(dependabilityEClass, DEPENDABILITY__FAULT_FAILURE);
+ createEReference(dependabilityEClass, DEPENDABILITY__QUANTITATIVE_SAFETY_CONSTRAINT);
+ createEReference(dependabilityEClass, DEPENDABILITY__SAFETY_CONSTRAINT);
+ createEReference(dependabilityEClass, DEPENDABILITY__SAFETY_CASE);
+ createEReference(dependabilityEClass, DEPENDABILITY__ERROR_MODEL_TYPE);
+
+ // Create enums
+ controllabilityClassKindEEnum = createEEnum(CONTROLLABILITY_CLASS_KIND);
+ exposureClassKindEEnum = createEEnum(EXPOSURE_CLASS_KIND);
+ severityClassKindEEnum = createEEnum(SEVERITY_CLASS_KIND);
+ developmentCategoryKindEEnum = createEEnum(DEVELOPMENT_CATEGORY_KIND);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getControllabilityClassKind() {
+ return controllabilityClassKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDependability() {
+ return dependabilityEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDependability_Base_Class() {
+ return (EReference)dependabilityEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDependability_Base_Package() {
+ return (EReference)dependabilityEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDependability_ErrorModelType() {
+ return (EReference)dependabilityEClass.getEStructuralFeatures().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDependability_FaultFailure() {
+ return (EReference)dependabilityEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDependability_FeatureFlaw() {
+ return (EReference)dependabilityEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDependability_FunctionalSafetyConcept() {
+ return (EReference)dependabilityEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDependability_HazardousEvent() {
+ return (EReference)dependabilityEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDependability_Item() {
+ return (EReference)dependabilityEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDependability_EADatatype() {
+ return (EReference)dependabilityEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDependability_QuantitativeSafetyConstraint() {
+ return (EReference)dependabilityEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDependability_SafetyCase() {
+ return (EReference)dependabilityEClass.getEStructuralFeatures().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDependability_SafetyConstraint() {
+ return (EReference)dependabilityEClass.getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDependability_SafetyGoal() {
+ return (EReference)dependabilityEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDependability_TechnicalSafetyConcept() {
+ return (EReference)dependabilityEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DependabilityFactory getDependabilityFactory() {
+ return (DependabilityFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getDevelopmentCategoryKind() {
+ return developmentCategoryKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getExposureClassKind() {
+ return exposureClassKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFeatureFlaw() {
+ return featureFlawEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFeatureFlaw_Base_Class() {
+ return (EReference)featureFlawEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFeatureFlaw_Item() {
+ return (EReference)featureFlawEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFeatureFlaw_NonFulfilledRequirement() {
+ return (EReference)featureFlawEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHazard() {
+ return hazardEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHazard_Base_Class() {
+ return (EReference)hazardEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHazard_Item() {
+ return (EReference)hazardEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHazard_Malfunction() {
+ return (EReference)hazardEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHazardousEvent() {
+ return hazardousEventEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHazardousEvent_Base_Class() {
+ return (EReference)hazardousEventEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHazardousEvent_ClassificationAssumptions() {
+ return (EAttribute)hazardousEventEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHazardousEvent_Controllability() {
+ return (EAttribute)hazardousEventEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHazardousEvent_Environment() {
+ return (EReference)hazardousEventEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHazardousEvent_Exposure() {
+ return (EAttribute)hazardousEventEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHazardousEvent_ExternalMeasures() {
+ return (EReference)hazardousEventEClass.getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHazardousEvent_Hazard() {
+ return (EReference)hazardousEventEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHazardousEvent_HazardClassification() {
+ return (EAttribute)hazardousEventEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHazardousEvent_OperatingMode() {
+ return (EReference)hazardousEventEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHazardousEvent_OperationalSituationUseCase() {
+ return (EReference)hazardousEventEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHazardousEvent_Severity() {
+ return (EAttribute)hazardousEventEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHazardousEvent_Traffic() {
+ return (EReference)hazardousEventEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getItem() {
+ return itemEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getItem_Base_Class() {
+ return (EReference)itemEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getItem_DevelopmentCategory() {
+ return (EAttribute)itemEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getItem_VehicleFeature() {
+ return (EReference)itemEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getSeverityClassKind() {
+ return severityClassKindEEnum;
+ }
+
+ /**
+ * 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
+ ErrormodelPackage theErrormodelPackage = (ErrormodelPackage)EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI);
+ SafetyrequirementPackage theSafetyrequirementPackage = (SafetyrequirementPackage)EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI);
+ SafetyconstraintsPackage theSafetyconstraintsPackage = (SafetyconstraintsPackage)EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI);
+ SafetycasePackage theSafetycasePackage = (SafetycasePackage)EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI);
+ ElementsPackage theElementsPackage = (ElementsPackage)EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI);
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+ TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+ RequirementsPackage theRequirementsPackage = (RequirementsPackage)EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI);
+ BehaviorPackage theBehaviorPackage = (BehaviorPackage)EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI);
+ VehiclefeaturemodelingPackage theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackage)EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI);
+ DatatypesPackage theDatatypesPackage = (DatatypesPackage)EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI);
+
+ // Add subpackages
+ getESubpackages().add(theErrormodelPackage);
+ getESubpackages().add(theSafetyrequirementPackage);
+ getESubpackages().add(theSafetyconstraintsPackage);
+ getESubpackages().add(theSafetycasePackage);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ hazardousEventEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+ hazardEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+ featureFlawEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+ itemEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ dependabilityEClass.getESuperTypes().add(theElementsPackage.getContext());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(hazardousEventEClass, HazardousEvent.class, "HazardousEvent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getHazardousEvent_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, HazardousEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHazardousEvent_Controllability(), this.getControllabilityClassKind(), "controllability", null, 1, 1, HazardousEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHazardousEvent_Exposure(), this.getExposureClassKind(), "exposure", null, 1, 1, HazardousEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHazardousEvent_HazardClassification(), theSafetyconstraintsPackage.getASILKind(), "hazardClassification", null, 1, 1, HazardousEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHazardousEvent_Severity(), this.getSeverityClassKind(), "severity", null, 1, 1, HazardousEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHazardousEvent_ClassificationAssumptions(), theTypesPackage.getString(), "classificationAssumptions", null, 0, 1, HazardousEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHazardousEvent_Hazard(), this.getHazard(), null, "hazard", null, 1, -1, HazardousEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHazardousEvent_Traffic(), theRequirementsPackage.getOperationalSituation(), null, "traffic", null, 0, -1, HazardousEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHazardousEvent_Environment(), theRequirementsPackage.getOperationalSituation(), null, "environment", null, 0, -1, HazardousEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHazardousEvent_OperationalSituationUseCase(), theUMLPackage.getUseCase(), null, "operationalSituationUseCase", null, 1, -1, HazardousEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHazardousEvent_OperatingMode(), theBehaviorPackage.getMode(), null, "operatingMode", null, 0, -1, HazardousEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHazardousEvent_ExternalMeasures(), theRequirementsPackage.getRequirement(), null, "externalMeasures", null, 0, -1, HazardousEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(hazardEClass, Hazard.class, "Hazard", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getHazard_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, Hazard.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHazard_Malfunction(), this.getFeatureFlaw(), null, "malfunction", null, 1, -1, Hazard.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHazard_Item(), this.getItem(), null, "item", null, 1, -1, Hazard.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(featureFlawEClass, FeatureFlaw.class, "FeatureFlaw", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getFeatureFlaw_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, FeatureFlaw.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFeatureFlaw_Item(), this.getItem(), null, "item", null, 1, -1, FeatureFlaw.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFeatureFlaw_NonFulfilledRequirement(), theRequirementsPackage.getRequirement(), null, "nonFulfilledRequirement", null, 0, -1, FeatureFlaw.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(itemEClass, Item.class, "Item", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getItem_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, Item.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getItem_DevelopmentCategory(), this.getDevelopmentCategoryKind(), "developmentCategory", null, 1, 1, Item.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getItem_VehicleFeature(), theVehiclefeaturemodelingPackage.getVehicleFeature(), null, "vehicleFeature", null, 1, -1, Item.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(dependabilityEClass, Dependability.class, "Dependability", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDependability_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, Dependability.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getDependability_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, Dependability.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getDependability_FunctionalSafetyConcept(), theSafetyrequirementPackage.getFunctionalSafetyConcept(), null, "functionalSafetyConcept", null, 0, -1, Dependability.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getDependability_SafetyGoal(), theSafetyrequirementPackage.getSafetyGoal(), null, "safetyGoal", null, 0, -1, Dependability.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getDependability_TechnicalSafetyConcept(), theSafetyrequirementPackage.getTechnicalSafetyConcept(), null, "technicalSafetyConcept", null, 0, -1, Dependability.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getDependability_HazardousEvent(), this.getHazardousEvent(), null, "hazardousEvent", null, 0, -1, Dependability.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getDependability_FeatureFlaw(), this.getFeatureFlaw(), null, "featureFlaw", null, 0, -1, Dependability.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getDependability_Item(), this.getItem(), null, "item", null, 0, -1, Dependability.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getDependability_EADatatype(), theDatatypesPackage.getEADatatype(), null, "eADatatype", null, 0, -1, Dependability.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getDependability_FaultFailure(), theSafetyconstraintsPackage.getFaultFailure(), null, "faultFailure", null, 0, -1, Dependability.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getDependability_QuantitativeSafetyConstraint(), theSafetyconstraintsPackage.getQuantitativeSafetyConstraint(), null, "quantitativeSafetyConstraint", null, 0, -1, Dependability.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getDependability_SafetyConstraint(), theSafetyconstraintsPackage.getSafetyConstraint(), null, "safetyConstraint", null, 0, -1, Dependability.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getDependability_SafetyCase(), theSafetycasePackage.getSafetyCase(), null, "safetyCase", null, 0, -1, Dependability.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getDependability_ErrorModelType(), theErrormodelPackage.getErrorModelType(), null, "errorModelType", null, 0, -1, Dependability.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(controllabilityClassKindEEnum, ControllabilityClassKind.class, "ControllabilityClassKind");
+ addEEnumLiteral(controllabilityClassKindEEnum, ControllabilityClassKind.C1);
+ addEEnumLiteral(controllabilityClassKindEEnum, ControllabilityClassKind.C2);
+ addEEnumLiteral(controllabilityClassKindEEnum, ControllabilityClassKind.C3);
+ addEEnumLiteral(controllabilityClassKindEEnum, ControllabilityClassKind.C0);
+
+ initEEnum(exposureClassKindEEnum, ExposureClassKind.class, "ExposureClassKind");
+ addEEnumLiteral(exposureClassKindEEnum, ExposureClassKind.E1);
+ addEEnumLiteral(exposureClassKindEEnum, ExposureClassKind.E2);
+ addEEnumLiteral(exposureClassKindEEnum, ExposureClassKind.E3);
+ addEEnumLiteral(exposureClassKindEEnum, ExposureClassKind.E4);
+
+ initEEnum(severityClassKindEEnum, SeverityClassKind.class, "SeverityClassKind");
+ addEEnumLiteral(severityClassKindEEnum, SeverityClassKind.S0);
+ addEEnumLiteral(severityClassKindEEnum, SeverityClassKind.S1);
+ addEEnumLiteral(severityClassKindEEnum, SeverityClassKind.S2);
+ addEEnumLiteral(severityClassKindEEnum, SeverityClassKind.S3);
+
+ initEEnum(developmentCategoryKindEEnum, DevelopmentCategoryKind.class, "DevelopmentCategoryKind");
+ addEEnumLiteral(developmentCategoryKindEEnum, DevelopmentCategoryKind.MODIFICATION_OF_EXISTING_ITEM);
+ addEEnumLiteral(developmentCategoryKindEEnum, DevelopmentCategoryKind.NEW_ITEM_DEVELOPMENT);
+ }
+
+} //DependabilityPackageImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/impl/FeatureFlawImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/impl/FeatureFlawImpl.java
new file mode 100644
index 00000000000..dfa897c7ca0
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/impl/FeatureFlawImpl.java
@@ -0,0 +1,241 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.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.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.FeatureFlaw;
+import org.eclipse.papyrus.eastadl.dependability.Item;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+import org.eclipse.papyrus.eastadl.requirements.Requirement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Feature Flaw</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.FeatureFlawImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.FeatureFlawImpl#getItem <em>Item</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.FeatureFlawImpl#getNonFulfilledRequirement <em>Non Fulfilled Requirement</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FeatureFlawImpl extends TraceableSpecificationImpl implements FeatureFlaw {
+ /**
+ * 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 cached value of the '{@link #getItem() <em>Item</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getItem()
+ * @generated
+ * @ordered
+ */
+ protected EList<Item> item;
+ /**
+ * The cached value of the '{@link #getNonFulfilledRequirement() <em>Non Fulfilled Requirement</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNonFulfilledRequirement()
+ * @generated
+ * @ordered
+ */
+ protected EList<Requirement> nonFulfilledRequirement;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FeatureFlawImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DependabilityPackage.FEATURE_FLAW__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case DependabilityPackage.FEATURE_FLAW__ITEM:
+ return getItem();
+ case DependabilityPackage.FEATURE_FLAW__NON_FULFILLED_REQUIREMENT:
+ return getNonFulfilledRequirement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DependabilityPackage.FEATURE_FLAW__BASE_CLASS:
+ return base_Class != null;
+ case DependabilityPackage.FEATURE_FLAW__ITEM:
+ return item != null && !item.isEmpty();
+ case DependabilityPackage.FEATURE_FLAW__NON_FULFILLED_REQUIREMENT:
+ return nonFulfilledRequirement != null && !nonFulfilledRequirement.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DependabilityPackage.FEATURE_FLAW__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case DependabilityPackage.FEATURE_FLAW__ITEM:
+ getItem().clear();
+ getItem().addAll((Collection<? extends Item>)newValue);
+ return;
+ case DependabilityPackage.FEATURE_FLAW__NON_FULFILLED_REQUIREMENT:
+ getNonFulfilledRequirement().clear();
+ getNonFulfilledRequirement().addAll((Collection<? extends Requirement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DependabilityPackage.Literals.FEATURE_FLAW;
+ }
+
+ /**
+ * <!-- 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, DependabilityPackage.FEATURE_FLAW__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, DependabilityPackage.FEATURE_FLAW__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DependabilityPackage.FEATURE_FLAW__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case DependabilityPackage.FEATURE_FLAW__ITEM:
+ getItem().clear();
+ return;
+ case DependabilityPackage.FEATURE_FLAW__NON_FULFILLED_REQUIREMENT:
+ getNonFulfilledRequirement().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Item> getItem() {
+ if (item == null) {
+ item = new EObjectResolvingEList<Item>(Item.class, this, DependabilityPackage.FEATURE_FLAW__ITEM);
+ }
+ return item;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Requirement> getNonFulfilledRequirement() {
+ if (nonFulfilledRequirement == null) {
+ nonFulfilledRequirement = new EObjectResolvingEList<Requirement>(Requirement.class, this, DependabilityPackage.FEATURE_FLAW__NON_FULFILLED_REQUIREMENT);
+ }
+ return nonFulfilledRequirement;
+ }
+
+} //FeatureFlawImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/impl/HazardImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/impl/HazardImpl.java
new file mode 100644
index 00000000000..24ffabbb130
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/impl/HazardImpl.java
@@ -0,0 +1,242 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.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.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.FeatureFlaw;
+import org.eclipse.papyrus.eastadl.dependability.Hazard;
+import org.eclipse.papyrus.eastadl.dependability.Item;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hazard</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.HazardImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.HazardImpl#getMalfunction <em>Malfunction</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.HazardImpl#getItem <em>Item</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HazardImpl extends TraceableSpecificationImpl implements Hazard {
+ /**
+ * 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 cached value of the '{@link #getMalfunction() <em>Malfunction</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMalfunction()
+ * @generated
+ * @ordered
+ */
+ protected EList<FeatureFlaw> malfunction;
+
+ /**
+ * The cached value of the '{@link #getItem() <em>Item</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getItem()
+ * @generated
+ * @ordered
+ */
+ protected EList<Item> item;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HazardImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DependabilityPackage.HAZARD__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case DependabilityPackage.HAZARD__MALFUNCTION:
+ return getMalfunction();
+ case DependabilityPackage.HAZARD__ITEM:
+ return getItem();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DependabilityPackage.HAZARD__BASE_CLASS:
+ return base_Class != null;
+ case DependabilityPackage.HAZARD__MALFUNCTION:
+ return malfunction != null && !malfunction.isEmpty();
+ case DependabilityPackage.HAZARD__ITEM:
+ return item != null && !item.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DependabilityPackage.HAZARD__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case DependabilityPackage.HAZARD__MALFUNCTION:
+ getMalfunction().clear();
+ getMalfunction().addAll((Collection<? extends FeatureFlaw>)newValue);
+ return;
+ case DependabilityPackage.HAZARD__ITEM:
+ getItem().clear();
+ getItem().addAll((Collection<? extends Item>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DependabilityPackage.Literals.HAZARD;
+ }
+
+ /**
+ * <!-- 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, DependabilityPackage.HAZARD__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, DependabilityPackage.HAZARD__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DependabilityPackage.HAZARD__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case DependabilityPackage.HAZARD__MALFUNCTION:
+ getMalfunction().clear();
+ return;
+ case DependabilityPackage.HAZARD__ITEM:
+ getItem().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Item> getItem() {
+ if (item == null) {
+ item = new EObjectResolvingEList<Item>(Item.class, this, DependabilityPackage.HAZARD__ITEM);
+ }
+ return item;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FeatureFlaw> getMalfunction() {
+ if (malfunction == null) {
+ malfunction = new EObjectResolvingEList<FeatureFlaw>(FeatureFlaw.class, this, DependabilityPackage.HAZARD__MALFUNCTION);
+ }
+ return malfunction;
+ }
+
+} //HazardImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/impl/HazardousEventImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/impl/HazardousEventImpl.java
new file mode 100644
index 00000000000..e7b200b5bd4
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/impl/HazardousEventImpl.java
@@ -0,0 +1,669 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.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.eastadl.behavior.Mode;
+import org.eclipse.papyrus.eastadl.dependability.ControllabilityClassKind;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.ExposureClassKind;
+import org.eclipse.papyrus.eastadl.dependability.Hazard;
+import org.eclipse.papyrus.eastadl.dependability.HazardousEvent;
+import org.eclipse.papyrus.eastadl.dependability.SeverityClassKind;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.ASILKind;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+import org.eclipse.papyrus.eastadl.requirements.OperationalSituation;
+import org.eclipse.papyrus.eastadl.requirements.Requirement;
+import org.eclipse.uml2.uml.UseCase;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hazardous Event</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.HazardousEventImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.HazardousEventImpl#getControllability <em>Controllability</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.HazardousEventImpl#getExposure <em>Exposure</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.HazardousEventImpl#getHazardClassification <em>Hazard Classification</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.HazardousEventImpl#getSeverity <em>Severity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.HazardousEventImpl#getClassificationAssumptions <em>Classification Assumptions</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.HazardousEventImpl#getHazard <em>Hazard</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.HazardousEventImpl#getTraffic <em>Traffic</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.HazardousEventImpl#getEnvironment <em>Environment</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.HazardousEventImpl#getOperationalSituationUseCase <em>Operational Situation Use Case</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.HazardousEventImpl#getOperatingMode <em>Operating Mode</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.HazardousEventImpl#getExternalMeasures <em>External Measures</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HazardousEventImpl extends TraceableSpecificationImpl implements HazardousEvent {
+ /**
+ * 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 #getControllability() <em>Controllability</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getControllability()
+ * @generated
+ * @ordered
+ */
+ protected static final ControllabilityClassKind CONTROLLABILITY_EDEFAULT = ControllabilityClassKind.C1;
+
+ /**
+ * The cached value of the '{@link #getControllability() <em>Controllability</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getControllability()
+ * @generated
+ * @ordered
+ */
+ protected ControllabilityClassKind controllability = CONTROLLABILITY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getExposure() <em>Exposure</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExposure()
+ * @generated
+ * @ordered
+ */
+ protected static final ExposureClassKind EXPOSURE_EDEFAULT = ExposureClassKind.E1;
+
+ /**
+ * The cached value of the '{@link #getExposure() <em>Exposure</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExposure()
+ * @generated
+ * @ordered
+ */
+ protected ExposureClassKind exposure = EXPOSURE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getHazardClassification() <em>Hazard Classification</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHazardClassification()
+ * @generated
+ * @ordered
+ */
+ protected static final ASILKind HAZARD_CLASSIFICATION_EDEFAULT = ASILKind.ASIL_A;
+
+ /**
+ * The cached value of the '{@link #getHazardClassification() <em>Hazard Classification</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHazardClassification()
+ * @generated
+ * @ordered
+ */
+ protected ASILKind hazardClassification = HAZARD_CLASSIFICATION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSeverity() <em>Severity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSeverity()
+ * @generated
+ * @ordered
+ */
+ protected static final SeverityClassKind SEVERITY_EDEFAULT = SeverityClassKind.S0;
+
+ /**
+ * The cached value of the '{@link #getSeverity() <em>Severity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSeverity()
+ * @generated
+ * @ordered
+ */
+ protected SeverityClassKind severity = SEVERITY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getClassificationAssumptions() <em>Classification Assumptions</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClassificationAssumptions()
+ * @generated
+ * @ordered
+ */
+ protected static final String CLASSIFICATION_ASSUMPTIONS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getClassificationAssumptions() <em>Classification Assumptions</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClassificationAssumptions()
+ * @generated
+ * @ordered
+ */
+ protected String classificationAssumptions = CLASSIFICATION_ASSUMPTIONS_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getHazard() <em>Hazard</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHazard()
+ * @generated
+ * @ordered
+ */
+ protected EList<Hazard> hazard;
+
+ /**
+ * The cached value of the '{@link #getTraffic() <em>Traffic</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTraffic()
+ * @generated
+ * @ordered
+ */
+ protected EList<OperationalSituation> traffic;
+
+ /**
+ * The cached value of the '{@link #getEnvironment() <em>Environment</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEnvironment()
+ * @generated
+ * @ordered
+ */
+ protected EList<OperationalSituation> environment;
+
+ /**
+ * The cached value of the '{@link #getOperationalSituationUseCase() <em>Operational Situation Use Case</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOperationalSituationUseCase()
+ * @generated
+ * @ordered
+ */
+ protected EList<UseCase> operationalSituationUseCase;
+
+ /**
+ * The cached value of the '{@link #getOperatingMode() <em>Operating Mode</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOperatingMode()
+ * @generated
+ * @ordered
+ */
+ protected EList<Mode> operatingMode;
+
+ /**
+ * The cached value of the '{@link #getExternalMeasures() <em>External Measures</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExternalMeasures()
+ * @generated
+ * @ordered
+ */
+ protected EList<Requirement> externalMeasures;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HazardousEventImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DependabilityPackage.HAZARDOUS_EVENT__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case DependabilityPackage.HAZARDOUS_EVENT__CONTROLLABILITY:
+ return getControllability();
+ case DependabilityPackage.HAZARDOUS_EVENT__EXPOSURE:
+ return getExposure();
+ case DependabilityPackage.HAZARDOUS_EVENT__HAZARD_CLASSIFICATION:
+ return getHazardClassification();
+ case DependabilityPackage.HAZARDOUS_EVENT__SEVERITY:
+ return getSeverity();
+ case DependabilityPackage.HAZARDOUS_EVENT__CLASSIFICATION_ASSUMPTIONS:
+ return getClassificationAssumptions();
+ case DependabilityPackage.HAZARDOUS_EVENT__HAZARD:
+ return getHazard();
+ case DependabilityPackage.HAZARDOUS_EVENT__TRAFFIC:
+ return getTraffic();
+ case DependabilityPackage.HAZARDOUS_EVENT__ENVIRONMENT:
+ return getEnvironment();
+ case DependabilityPackage.HAZARDOUS_EVENT__OPERATIONAL_SITUATION_USE_CASE:
+ return getOperationalSituationUseCase();
+ case DependabilityPackage.HAZARDOUS_EVENT__OPERATING_MODE:
+ return getOperatingMode();
+ case DependabilityPackage.HAZARDOUS_EVENT__EXTERNAL_MEASURES:
+ return getExternalMeasures();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DependabilityPackage.HAZARDOUS_EVENT__BASE_CLASS:
+ return base_Class != null;
+ case DependabilityPackage.HAZARDOUS_EVENT__CONTROLLABILITY:
+ return controllability != CONTROLLABILITY_EDEFAULT;
+ case DependabilityPackage.HAZARDOUS_EVENT__EXPOSURE:
+ return exposure != EXPOSURE_EDEFAULT;
+ case DependabilityPackage.HAZARDOUS_EVENT__HAZARD_CLASSIFICATION:
+ return hazardClassification != HAZARD_CLASSIFICATION_EDEFAULT;
+ case DependabilityPackage.HAZARDOUS_EVENT__SEVERITY:
+ return severity != SEVERITY_EDEFAULT;
+ case DependabilityPackage.HAZARDOUS_EVENT__CLASSIFICATION_ASSUMPTIONS:
+ return CLASSIFICATION_ASSUMPTIONS_EDEFAULT == null ? classificationAssumptions != null : !CLASSIFICATION_ASSUMPTIONS_EDEFAULT.equals(classificationAssumptions);
+ case DependabilityPackage.HAZARDOUS_EVENT__HAZARD:
+ return hazard != null && !hazard.isEmpty();
+ case DependabilityPackage.HAZARDOUS_EVENT__TRAFFIC:
+ return traffic != null && !traffic.isEmpty();
+ case DependabilityPackage.HAZARDOUS_EVENT__ENVIRONMENT:
+ return environment != null && !environment.isEmpty();
+ case DependabilityPackage.HAZARDOUS_EVENT__OPERATIONAL_SITUATION_USE_CASE:
+ return operationalSituationUseCase != null && !operationalSituationUseCase.isEmpty();
+ case DependabilityPackage.HAZARDOUS_EVENT__OPERATING_MODE:
+ return operatingMode != null && !operatingMode.isEmpty();
+ case DependabilityPackage.HAZARDOUS_EVENT__EXTERNAL_MEASURES:
+ return externalMeasures != null && !externalMeasures.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DependabilityPackage.HAZARDOUS_EVENT__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case DependabilityPackage.HAZARDOUS_EVENT__CONTROLLABILITY:
+ setControllability((ControllabilityClassKind)newValue);
+ return;
+ case DependabilityPackage.HAZARDOUS_EVENT__EXPOSURE:
+ setExposure((ExposureClassKind)newValue);
+ return;
+ case DependabilityPackage.HAZARDOUS_EVENT__HAZARD_CLASSIFICATION:
+ setHazardClassification((ASILKind)newValue);
+ return;
+ case DependabilityPackage.HAZARDOUS_EVENT__SEVERITY:
+ setSeverity((SeverityClassKind)newValue);
+ return;
+ case DependabilityPackage.HAZARDOUS_EVENT__CLASSIFICATION_ASSUMPTIONS:
+ setClassificationAssumptions((String)newValue);
+ return;
+ case DependabilityPackage.HAZARDOUS_EVENT__HAZARD:
+ getHazard().clear();
+ getHazard().addAll((Collection<? extends Hazard>)newValue);
+ return;
+ case DependabilityPackage.HAZARDOUS_EVENT__TRAFFIC:
+ getTraffic().clear();
+ getTraffic().addAll((Collection<? extends OperationalSituation>)newValue);
+ return;
+ case DependabilityPackage.HAZARDOUS_EVENT__ENVIRONMENT:
+ getEnvironment().clear();
+ getEnvironment().addAll((Collection<? extends OperationalSituation>)newValue);
+ return;
+ case DependabilityPackage.HAZARDOUS_EVENT__OPERATIONAL_SITUATION_USE_CASE:
+ getOperationalSituationUseCase().clear();
+ getOperationalSituationUseCase().addAll((Collection<? extends UseCase>)newValue);
+ return;
+ case DependabilityPackage.HAZARDOUS_EVENT__OPERATING_MODE:
+ getOperatingMode().clear();
+ getOperatingMode().addAll((Collection<? extends Mode>)newValue);
+ return;
+ case DependabilityPackage.HAZARDOUS_EVENT__EXTERNAL_MEASURES:
+ getExternalMeasures().clear();
+ getExternalMeasures().addAll((Collection<? extends Requirement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DependabilityPackage.Literals.HAZARDOUS_EVENT;
+ }
+
+ /**
+ * <!-- 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, DependabilityPackage.HAZARDOUS_EVENT__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, DependabilityPackage.HAZARDOUS_EVENT__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DependabilityPackage.HAZARDOUS_EVENT__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case DependabilityPackage.HAZARDOUS_EVENT__CONTROLLABILITY:
+ setControllability(CONTROLLABILITY_EDEFAULT);
+ return;
+ case DependabilityPackage.HAZARDOUS_EVENT__EXPOSURE:
+ setExposure(EXPOSURE_EDEFAULT);
+ return;
+ case DependabilityPackage.HAZARDOUS_EVENT__HAZARD_CLASSIFICATION:
+ setHazardClassification(HAZARD_CLASSIFICATION_EDEFAULT);
+ return;
+ case DependabilityPackage.HAZARDOUS_EVENT__SEVERITY:
+ setSeverity(SEVERITY_EDEFAULT);
+ return;
+ case DependabilityPackage.HAZARDOUS_EVENT__CLASSIFICATION_ASSUMPTIONS:
+ setClassificationAssumptions(CLASSIFICATION_ASSUMPTIONS_EDEFAULT);
+ return;
+ case DependabilityPackage.HAZARDOUS_EVENT__HAZARD:
+ getHazard().clear();
+ return;
+ case DependabilityPackage.HAZARDOUS_EVENT__TRAFFIC:
+ getTraffic().clear();
+ return;
+ case DependabilityPackage.HAZARDOUS_EVENT__ENVIRONMENT:
+ getEnvironment().clear();
+ return;
+ case DependabilityPackage.HAZARDOUS_EVENT__OPERATIONAL_SITUATION_USE_CASE:
+ getOperationalSituationUseCase().clear();
+ return;
+ case DependabilityPackage.HAZARDOUS_EVENT__OPERATING_MODE:
+ getOperatingMode().clear();
+ return;
+ case DependabilityPackage.HAZARDOUS_EVENT__EXTERNAL_MEASURES:
+ getExternalMeasures().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getClassificationAssumptions() {
+ return classificationAssumptions;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ControllabilityClassKind getControllability() {
+ return controllability;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<OperationalSituation> getEnvironment() {
+ if (environment == null) {
+ environment = new EObjectResolvingEList<OperationalSituation>(OperationalSituation.class, this, DependabilityPackage.HAZARDOUS_EVENT__ENVIRONMENT);
+ }
+ return environment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExposureClassKind getExposure() {
+ return exposure;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Requirement> getExternalMeasures() {
+ if (externalMeasures == null) {
+ externalMeasures = new EObjectResolvingEList<Requirement>(Requirement.class, this, DependabilityPackage.HAZARDOUS_EVENT__EXTERNAL_MEASURES);
+ }
+ return externalMeasures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Hazard> getHazard() {
+ if (hazard == null) {
+ hazard = new EObjectResolvingEList<Hazard>(Hazard.class, this, DependabilityPackage.HAZARDOUS_EVENT__HAZARD);
+ }
+ return hazard;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ASILKind getHazardClassification() {
+ return hazardClassification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHazardClassification(ASILKind newHazardClassification) {
+ ASILKind oldHazardClassification = hazardClassification;
+ hazardClassification = newHazardClassification == null ? HAZARD_CLASSIFICATION_EDEFAULT : newHazardClassification;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DependabilityPackage.HAZARDOUS_EVENT__HAZARD_CLASSIFICATION, oldHazardClassification, hazardClassification));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Mode> getOperatingMode() {
+ if (operatingMode == null) {
+ operatingMode = new EObjectResolvingEList<Mode>(Mode.class, this, DependabilityPackage.HAZARDOUS_EVENT__OPERATING_MODE);
+ }
+ return operatingMode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<UseCase> getOperationalSituationUseCase() {
+ if (operationalSituationUseCase == null) {
+ operationalSituationUseCase = new EObjectResolvingEList<UseCase>(UseCase.class, this, DependabilityPackage.HAZARDOUS_EVENT__OPERATIONAL_SITUATION_USE_CASE);
+ }
+ return operationalSituationUseCase;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SeverityClassKind getSeverity() {
+ return severity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<OperationalSituation> getTraffic() {
+ if (traffic == null) {
+ traffic = new EObjectResolvingEList<OperationalSituation>(OperationalSituation.class, this, DependabilityPackage.HAZARDOUS_EVENT__TRAFFIC);
+ }
+ return traffic;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setClassificationAssumptions(String newClassificationAssumptions) {
+ String oldClassificationAssumptions = classificationAssumptions;
+ classificationAssumptions = newClassificationAssumptions;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DependabilityPackage.HAZARDOUS_EVENT__CLASSIFICATION_ASSUMPTIONS, oldClassificationAssumptions, classificationAssumptions));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setControllability(ControllabilityClassKind newControllability) {
+ ControllabilityClassKind oldControllability = controllability;
+ controllability = newControllability == null ? CONTROLLABILITY_EDEFAULT : newControllability;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DependabilityPackage.HAZARDOUS_EVENT__CONTROLLABILITY, oldControllability, controllability));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExposure(ExposureClassKind newExposure) {
+ ExposureClassKind oldExposure = exposure;
+ exposure = newExposure == null ? EXPOSURE_EDEFAULT : newExposure;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DependabilityPackage.HAZARDOUS_EVENT__EXPOSURE, oldExposure, exposure));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSeverity(SeverityClassKind newSeverity) {
+ SeverityClassKind oldSeverity = severity;
+ severity = newSeverity == null ? SEVERITY_EDEFAULT : newSeverity;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DependabilityPackage.HAZARDOUS_EVENT__SEVERITY, oldSeverity, severity));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (controllability: ");
+ result.append(controllability);
+ result.append(", exposure: ");
+ result.append(exposure);
+ result.append(", hazardClassification: ");
+ result.append(hazardClassification);
+ result.append(", severity: ");
+ result.append(severity);
+ result.append(", classificationAssumptions: ");
+ result.append(classificationAssumptions);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HazardousEventImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/impl/ItemImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/impl/ItemImpl.java
new file mode 100644
index 00000000000..08904e181ee
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/impl/ItemImpl.java
@@ -0,0 +1,276 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.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.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.DevelopmentCategoryKind;
+import org.eclipse.papyrus.eastadl.dependability.Item;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Item</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.ItemImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.ItemImpl#getDevelopmentCategory <em>Development Category</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.impl.ItemImpl#getVehicleFeature <em>Vehicle Feature</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ItemImpl extends EAElementImpl implements Item {
+ /**
+ * 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 #getDevelopmentCategory() <em>Development Category</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDevelopmentCategory()
+ * @generated
+ * @ordered
+ */
+ protected static final DevelopmentCategoryKind DEVELOPMENT_CATEGORY_EDEFAULT = DevelopmentCategoryKind.MODIFICATION_OF_EXISTING_ITEM;
+
+ /**
+ * The cached value of the '{@link #getDevelopmentCategory() <em>Development Category</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDevelopmentCategory()
+ * @generated
+ * @ordered
+ */
+ protected DevelopmentCategoryKind developmentCategory = DEVELOPMENT_CATEGORY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getVehicleFeature() <em>Vehicle Feature</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVehicleFeature()
+ * @generated
+ * @ordered
+ */
+ protected EList<VehicleFeature> vehicleFeature;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ItemImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DependabilityPackage.ITEM__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case DependabilityPackage.ITEM__DEVELOPMENT_CATEGORY:
+ return getDevelopmentCategory();
+ case DependabilityPackage.ITEM__VEHICLE_FEATURE:
+ return getVehicleFeature();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DependabilityPackage.ITEM__BASE_CLASS:
+ return base_Class != null;
+ case DependabilityPackage.ITEM__DEVELOPMENT_CATEGORY:
+ return developmentCategory != DEVELOPMENT_CATEGORY_EDEFAULT;
+ case DependabilityPackage.ITEM__VEHICLE_FEATURE:
+ return vehicleFeature != null && !vehicleFeature.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DependabilityPackage.ITEM__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case DependabilityPackage.ITEM__DEVELOPMENT_CATEGORY:
+ setDevelopmentCategory((DevelopmentCategoryKind)newValue);
+ return;
+ case DependabilityPackage.ITEM__VEHICLE_FEATURE:
+ getVehicleFeature().clear();
+ getVehicleFeature().addAll((Collection<? extends VehicleFeature>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DependabilityPackage.Literals.ITEM;
+ }
+
+ /**
+ * <!-- 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, DependabilityPackage.ITEM__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, DependabilityPackage.ITEM__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DependabilityPackage.ITEM__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case DependabilityPackage.ITEM__DEVELOPMENT_CATEGORY:
+ setDevelopmentCategory(DEVELOPMENT_CATEGORY_EDEFAULT);
+ return;
+ case DependabilityPackage.ITEM__VEHICLE_FEATURE:
+ getVehicleFeature().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DevelopmentCategoryKind getDevelopmentCategory() {
+ return developmentCategory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<VehicleFeature> getVehicleFeature() {
+ if (vehicleFeature == null) {
+ vehicleFeature = new EObjectResolvingEList<VehicleFeature>(VehicleFeature.class, this, DependabilityPackage.ITEM__VEHICLE_FEATURE);
+ }
+ return vehicleFeature;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDevelopmentCategory(DevelopmentCategoryKind newDevelopmentCategory) {
+ DevelopmentCategoryKind oldDevelopmentCategory = developmentCategory;
+ developmentCategory = newDevelopmentCategory == null ? DEVELOPMENT_CATEGORY_EDEFAULT : newDevelopmentCategory;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DependabilityPackage.ITEM__DEVELOPMENT_CATEGORY, oldDevelopmentCategory, developmentCategory));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (developmentCategory: ");
+ result.append(developmentCategory);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ItemImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/Claim.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/Claim.java
new file mode 100644
index 00000000000..c0afda1d33b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/Claim.java
@@ -0,0 +1,161 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetycase;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+import org.eclipse.uml2.uml.Comment;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Claim</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Claim represents a statement the truth of which needs to be confirmed.
+ *
+ * Claim has associations to the strategy for goal decomposition and to supported arguments. It also holds associations to the evidences for the SafetyCase.
+ *
+ * Semantics:
+ * Goal-based development provides the claim what should be achieved.
+ *
+ * Goal is what the argument must show to be true.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Claim#getSafetyRequirement <em>Safety Requirement</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Claim#getSupportedArgument <em>Supported Argument</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Claim#getGoalDecompositionStrategy <em>Goal Decomposition Strategy</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Claim#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Claim#getJustification <em>Justification</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Claim#getEvidence <em>Evidence</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage#getClaim()
+ * @model
+ * @generated
+ */
+public interface Claim extends TraceableSpecification {
+ /**
+ * Returns the value of the '<em><b>Evidence</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.safetycase.Ground}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Evidence</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>Evidence</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage#getClaim_Evidence()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<Ground> getEvidence();
+
+ /**
+ * Returns the value of the '<em><b>Goal Decomposition Strategy</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.safetycase.Warrant}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Goal Decomposition Strategy</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>Goal Decomposition Strategy</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage#getClaim_GoalDecompositionStrategy()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Warrant> getGoalDecompositionStrategy();
+
+ /**
+ * 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.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage#getClaim_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Claim#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>Justification</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>Justification</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Justification</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage#getClaim_Justification()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Comment> getJustification();
+
+ /**
+ * Returns the value of the '<em><b>Safety Requirement</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Safety requirements and objectives in system model.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Safety Requirement</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage#getClaim_SafetyRequirement()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TraceableSpecification> getSafetyRequirement();
+
+ /**
+ * Returns the value of the '<em><b>Supported Argument</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.safetycase.Warrant}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Supported Argument</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>Supported Argument</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage#getClaim_SupportedArgument()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Warrant> getSupportedArgument();
+
+} // Claim
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/Ground.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/Ground.java
new file mode 100644
index 00000000000..2625cb50e41
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/Ground.java
@@ -0,0 +1,115 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetycase;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.NamedElement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Ground</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Claim is based on Grounds (evidences) - specific facts about a precise situation that clarify and make good the Claim.
+ *
+ * Ground represents statements that explain how the SafetyCase Ground clarifies and make good the Claim.
+ *
+ * Ground has associations to the entities that are the evidences in the SafetyCase.
+ *
+ * Semantics:
+ * Ground (evidence) is information that supports the Claim that the safety requirements and objectives are met i.e. used as the basis of the safety argument.
+ *
+ * Solution is evidence that the sub-goals have been met. This can be achieved by decomposing all goal claims to a level where direct reference to evidences was felt possible.
+ *
+ * The evidences address different aspects of the goal. It always has to be ensured that each of them is defensible enough to confirm the underlying statement.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Ground#getSafetyEvidence <em>Safety Evidence</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Ground#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Ground#getJustification <em>Justification</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage#getGround()
+ * @model
+ * @generated
+ */
+public interface Ground extends TraceableSpecification {
+ /**
+ * Returns the value of the '<em><b>Justification</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>Justification</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Justification</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage#getGround_Justification()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Comment> getJustification();
+
+ /**
+ * Returns the value of the '<em><b>Safety Evidence</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.NamedElement}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Safety evidence in system model.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Safety Evidence</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage#getGround_SafetyEvidence()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<NamedElement> getSafetyEvidence();
+
+ /**
+ * 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.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage#getGround_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Ground#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);
+
+} // Ground
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/LifecycleStageKind.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/LifecycleStageKind.java
new file mode 100644
index 00000000000..18784a3285a
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/LifecycleStageKind.java
@@ -0,0 +1,265 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetycase;
+
+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>Lifecycle Stage Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The SafetyCase should be initiated at the earliest possible stage in the safety program so that hazards are identified and dealt with while the opportunities for their exclusion exist.
+ *
+ * The LifecycleStageKind is an enumeration metaclass with enumeration literals indicating safety case life cycle stage.
+ *
+ * Semantics:
+ * The safety case is one incremental safety case, rather than several complete new ones. The safety case lifecycle stage has the following meanings:
+ *
+ * - The preliminary safety case is started when development of the system is started. After this stage discussions with the customer can commence about possible safety issues (hazards).
+ *
+ * - The interim safety case is situated after the first system design and tests.
+ *
+ * - The operational safety case is prior to in-service use.
+ *
+ * Extension:
+ * Enumeration, no extension.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage#getLifecycleStageKind()
+ * @model
+ * @generated
+ */
+public enum LifecycleStageKind implements Enumerator {
+ /**
+ * The '<em><b>Preliminary Safety Case</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PRELIMINARY_SAFETY_CASE_VALUE
+ * @generated
+ * @ordered
+ */
+ PRELIMINARY_SAFETY_CASE(0, "PreliminarySafetyCase", "PreliminarySafetyCase"),
+
+ /**
+ * The '<em><b>Interim Safety Case</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #INTERIM_SAFETY_CASE_VALUE
+ * @generated
+ * @ordered
+ */
+ INTERIM_SAFETY_CASE(1, "InterimSafetyCase", "InterimSafetyCase"),
+
+ /**
+ * The '<em><b>Operational Safety Case</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #OPERATIONAL_SAFETY_CASE_VALUE
+ * @generated
+ * @ordered
+ */
+ OPERATIONAL_SAFETY_CASE(2, "OperationalSafetyCase", "OperationalSafetyCase");
+
+ /**
+ * The '<em><b>Preliminary Safety Case</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Preliminary Safety Case</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PRELIMINARY_SAFETY_CASE
+ * @model name="PreliminarySafetyCase"
+ * @generated
+ * @ordered
+ */
+ public static final int PRELIMINARY_SAFETY_CASE_VALUE = 0;
+
+ /**
+ * The '<em><b>Interim Safety Case</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Interim Safety Case</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #INTERIM_SAFETY_CASE
+ * @model name="InterimSafetyCase"
+ * @generated
+ * @ordered
+ */
+ public static final int INTERIM_SAFETY_CASE_VALUE = 1;
+
+ /**
+ * The '<em><b>Operational Safety Case</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Operational Safety Case</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #OPERATIONAL_SAFETY_CASE
+ * @model name="OperationalSafetyCase"
+ * @generated
+ * @ordered
+ */
+ public static final int OPERATIONAL_SAFETY_CASE_VALUE = 2;
+
+ /**
+ * An array of all the '<em><b>Lifecycle Stage Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final LifecycleStageKind[] VALUES_ARRAY =
+ new LifecycleStageKind[] {
+ PRELIMINARY_SAFETY_CASE,
+ INTERIM_SAFETY_CASE,
+ OPERATIONAL_SAFETY_CASE,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Lifecycle Stage Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<LifecycleStageKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Lifecycle Stage Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static LifecycleStageKind get(int value) {
+ switch (value) {
+ case PRELIMINARY_SAFETY_CASE_VALUE: return PRELIMINARY_SAFETY_CASE;
+ case INTERIM_SAFETY_CASE_VALUE: return INTERIM_SAFETY_CASE;
+ case OPERATIONAL_SAFETY_CASE_VALUE: return OPERATIONAL_SAFETY_CASE;
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Lifecycle Stage Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static LifecycleStageKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ LifecycleStageKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Lifecycle Stage Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static LifecycleStageKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ LifecycleStageKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ 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 LifecycleStageKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * 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;
+ }
+
+} //LifecycleStageKind
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/SafetyCase.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/SafetyCase.java
new file mode 100644
index 00000000000..8fe6bfe46c0
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/SafetyCase.java
@@ -0,0 +1,195 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetycase;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Safety Case</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * SafetyCase represents a safety case that communicates a clear, comprehensive and defensible argument that a system is acceptable safe to operate in a given context.
+ *
+ * Safety Cases are used in safety related systems, where failures can lead to catastrophic or at least dangerous consequences.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase#getSafetyCase <em>Safety Case</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase#getStage <em>Stage</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase#getContext <em>Context</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase#getGround <em>Ground</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase#getWarrant <em>Warrant</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase#getClaim <em>Claim</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage#getSafetyCase()
+ * @model
+ * @generated
+ */
+public interface SafetyCase extends TraceableSpecification {
+ /**
+ * Returns the value of the '<em><b>Claim</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.safetycase.Claim}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Claim</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Claim</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage#getSafetyCase_Claim()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<Claim> getClaim();
+
+ /**
+ * 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.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage#getSafetyCase_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase#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>Context</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Context</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Context</em>' attribute.
+ * @see #setContext(String)
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage#getSafetyCase_Context()
+ * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getContext();
+
+ /**
+ * Returns the value of the '<em><b>Ground</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.safetycase.Ground}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ground</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Ground</em>' containment reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage#getSafetyCase_Ground()
+ * @model containment="true" required="true" ordered="false"
+ * @generated
+ */
+ EList<Ground> getGround();
+
+ /**
+ * Returns the value of the '<em><b>Safety Case</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Attached SafetyCases
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Safety Case</em>' containment reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage#getSafetyCase_SafetyCase()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<SafetyCase> getSafetyCase();
+
+ /**
+ * Returns the value of the '<em><b>Stage</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.eastadl.dependability.safetycase.LifecycleStageKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Stage</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Stage</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.LifecycleStageKind
+ * @see #setStage(LifecycleStageKind)
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage#getSafetyCase_Stage()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ LifecycleStageKind getStage();
+
+ /**
+ * Returns the value of the '<em><b>Warrant</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.safetycase.Warrant}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Warrant</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Warrant</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage#getSafetyCase_Warrant()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Warrant> getWarrant();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase#getContext <em>Context</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Context</em>' attribute.
+ * @see #getContext()
+ * @generated
+ */
+ void setContext(String value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase#getStage <em>Stage</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Stage</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.LifecycleStageKind
+ * @see #getStage()
+ * @generated
+ */
+ void setStage(LifecycleStageKind value);
+
+} // SafetyCase
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/SafetycaseFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/SafetycaseFactory.java
new file mode 100644
index 00000000000..a31c7e53e34
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/SafetycaseFactory.java
@@ -0,0 +1,82 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetycase;
+
+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.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage
+ * @generated
+ */
+public interface SafetycaseFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ SafetycaseFactory eINSTANCE = org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycaseFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Claim</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Claim</em>'.
+ * @generated
+ */
+ Claim createClaim();
+
+ /**
+ * Returns a new object of class '<em>Ground</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Ground</em>'.
+ * @generated
+ */
+ Ground createGround();
+
+ /**
+ * Returns a new object of class '<em>Safety Case</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Safety Case</em>'.
+ * @generated
+ */
+ SafetyCase createSafetyCase();
+
+ /**
+ * Returns a new object of class '<em>Warrant</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Warrant</em>'.
+ * @generated
+ */
+ Warrant createWarrant();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ SafetycasePackage getSafetycasePackage();
+
+} //SafetycaseFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/SafetycasePackage.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/SafetycasePackage.java
new file mode 100644
index 00000000000..2403e13856b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/SafetycasePackage.java
@@ -0,0 +1,1028 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetycase;
+
+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.eastadl.infrastructure.elements.ElementsPackage;
+
+
+/**
+ * <!-- 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 -->
+ * <!-- begin-model-doc -->
+ * Safety is a property of a system that is difficult to verify quantitatively since no clear measurement method exists that can be applied during the development. Not even exhaustive testing is feasible, as faults in electronics can have an intensity of 10^-9 faults/hour and still pose an unacceptable risk. Hence, it is only when enough field data have been collected from a system used in a particular context that it can be said to be safe enough. Nonetheless, safety must be addressed and assessed during development; restricted to qualitative reasoning about the safety of a product. A structured engineering method is thus needed to approach this problem. One such method is the so called safety case, which came originally from the nuclear industry.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycaseFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface SafetycasePackage extends EPackage {
+ /**
+ * <!-- 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.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetyCaseImpl <em>Safety Case</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetyCaseImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl#getSafetyCase()
+ * @generated
+ */
+ EClass SAFETY_CASE = eINSTANCE.getSafetyCase();
+
+ /**
+ * The meta object literal for the '<em><b>Safety Case</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SAFETY_CASE__SAFETY_CASE = eINSTANCE.getSafetyCase_SafetyCase();
+
+ /**
+ * The meta object literal for the '<em><b>Stage</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SAFETY_CASE__STAGE = eINSTANCE.getSafetyCase_Stage();
+
+ /**
+ * The meta object literal for the '<em><b>Context</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SAFETY_CASE__CONTEXT = eINSTANCE.getSafetyCase_Context();
+
+ /**
+ * The meta object literal for the '<em><b>Ground</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SAFETY_CASE__GROUND = eINSTANCE.getSafetyCase_Ground();
+
+ /**
+ * The meta object literal for the '<em><b>Warrant</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SAFETY_CASE__WARRANT = eINSTANCE.getSafetyCase_Warrant();
+
+ /**
+ * The meta object literal for the '<em><b>Claim</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SAFETY_CASE__CLAIM = eINSTANCE.getSafetyCase_Claim();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SAFETY_CASE__BASE_CLASS = eINSTANCE.getSafetyCase_Base_Class();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.impl.GroundImpl <em>Ground</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.impl.GroundImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl#getGround()
+ * @generated
+ */
+ EClass GROUND = eINSTANCE.getGround();
+
+ /**
+ * The meta object literal for the '<em><b>Safety Evidence</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference GROUND__SAFETY_EVIDENCE = eINSTANCE.getGround_SafetyEvidence();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference GROUND__BASE_CLASS = eINSTANCE.getGround_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Justification</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference GROUND__JUSTIFICATION = eINSTANCE.getGround_Justification();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.impl.WarrantImpl <em>Warrant</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.impl.WarrantImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl#getWarrant()
+ * @generated
+ */
+ EClass WARRANT = eINSTANCE.getWarrant();
+
+ /**
+ * The meta object literal for the '<em><b>Decomposed Goal</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference WARRANT__DECOMPOSED_GOAL = eINSTANCE.getWarrant_DecomposedGoal();
+
+ /**
+ * The meta object literal for the '<em><b>Evidence</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference WARRANT__EVIDENCE = eINSTANCE.getWarrant_Evidence();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference WARRANT__BASE_CLASS = eINSTANCE.getWarrant_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Justification</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference WARRANT__JUSTIFICATION = eINSTANCE.getWarrant_Justification();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.impl.ClaimImpl <em>Claim</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.impl.ClaimImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl#getClaim()
+ * @generated
+ */
+ EClass CLAIM = eINSTANCE.getClaim();
+
+ /**
+ * The meta object literal for the '<em><b>Safety Requirement</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CLAIM__SAFETY_REQUIREMENT = eINSTANCE.getClaim_SafetyRequirement();
+
+ /**
+ * The meta object literal for the '<em><b>Supported Argument</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CLAIM__SUPPORTED_ARGUMENT = eINSTANCE.getClaim_SupportedArgument();
+
+ /**
+ * The meta object literal for the '<em><b>Goal Decomposition Strategy</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CLAIM__GOAL_DECOMPOSITION_STRATEGY = eINSTANCE.getClaim_GoalDecompositionStrategy();
+
+ /**
+ * The meta object literal for the '<em><b>Evidence</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CLAIM__EVIDENCE = eINSTANCE.getClaim_Evidence();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CLAIM__BASE_CLASS = eINSTANCE.getClaim_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Justification</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CLAIM__JUSTIFICATION = eINSTANCE.getClaim_Justification();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.LifecycleStageKind <em>Lifecycle Stage Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.LifecycleStageKind
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl#getLifecycleStageKind()
+ * @generated
+ */
+ EEnum LIFECYCLE_STAGE_KIND = eINSTANCE.getLifecycleStageKind();
+
+ }
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "safetycase";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.papyrusuml.org/EAST-ADL2/Dependability/SafetyCase/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "SafetyCase";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ SafetycasePackage eINSTANCE = org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetyCaseImpl <em>Safety Case</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetyCaseImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl#getSafetyCase()
+ * @generated
+ */
+ int SAFETY_CASE = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_CASE__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_CASE__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_CASE__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_CASE__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_CASE__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Safety Case</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_CASE__SAFETY_CASE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Stage</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_CASE__STAGE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Context</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_CASE__CONTEXT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Ground</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_CASE__GROUND = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Warrant</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_CASE__WARRANT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Claim</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_CASE__CLAIM = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_CASE__BASE_CLASS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 6;
+
+ /**
+ * The number of structural features of the '<em>Safety Case</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_CASE_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.impl.GroundImpl <em>Ground</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.impl.GroundImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl#getGround()
+ * @generated
+ */
+ int GROUND = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GROUND__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GROUND__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GROUND__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GROUND__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GROUND__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Safety Evidence</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GROUND__SAFETY_EVIDENCE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GROUND__BASE_CLASS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Justification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GROUND__JUSTIFICATION = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Ground</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GROUND_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.impl.WarrantImpl <em>Warrant</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.impl.WarrantImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl#getWarrant()
+ * @generated
+ */
+ int WARRANT = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WARRANT__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WARRANT__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WARRANT__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WARRANT__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WARRANT__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Decomposed Goal</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WARRANT__DECOMPOSED_GOAL = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Evidence</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WARRANT__EVIDENCE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WARRANT__BASE_CLASS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Justification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WARRANT__JUSTIFICATION = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Warrant</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WARRANT_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.impl.ClaimImpl <em>Claim</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.impl.ClaimImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl#getClaim()
+ * @generated
+ */
+ int CLAIM = 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLAIM__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLAIM__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLAIM__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLAIM__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLAIM__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Safety Requirement</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLAIM__SAFETY_REQUIREMENT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Supported Argument</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLAIM__SUPPORTED_ARGUMENT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Goal Decomposition Strategy</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLAIM__GOAL_DECOMPOSITION_STRATEGY = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLAIM__BASE_CLASS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Justification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLAIM__JUSTIFICATION = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Evidence</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLAIM__EVIDENCE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Claim</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLAIM_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 6;
+
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.LifecycleStageKind <em>Lifecycle Stage Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.LifecycleStageKind
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl#getLifecycleStageKind()
+ * @generated
+ */
+ int LIFECYCLE_STAGE_KIND = 4;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Claim <em>Claim</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Claim</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.Claim
+ * @generated
+ */
+ EClass getClaim();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Claim#getEvidence <em>Evidence</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Evidence</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.Claim#getEvidence()
+ * @see #getClaim()
+ * @generated
+ */
+ EReference getClaim_Evidence();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Claim#getGoalDecompositionStrategy <em>Goal Decomposition Strategy</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Goal Decomposition Strategy</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.Claim#getGoalDecompositionStrategy()
+ * @see #getClaim()
+ * @generated
+ */
+ EReference getClaim_GoalDecompositionStrategy();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Claim#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.eclipse.papyrus.eastadl.dependability.safetycase.Claim#getBase_Class()
+ * @see #getClaim()
+ * @generated
+ */
+ EReference getClaim_Base_Class();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Claim#getJustification <em>Justification</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Justification</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.Claim#getJustification()
+ * @see #getClaim()
+ * @generated
+ */
+ EReference getClaim_Justification();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Claim#getSafetyRequirement <em>Safety Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Safety Requirement</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.Claim#getSafetyRequirement()
+ * @see #getClaim()
+ * @generated
+ */
+ EReference getClaim_SafetyRequirement();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Claim#getSupportedArgument <em>Supported Argument</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Supported Argument</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.Claim#getSupportedArgument()
+ * @see #getClaim()
+ * @generated
+ */
+ EReference getClaim_SupportedArgument();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Ground <em>Ground</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ground</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.Ground
+ * @generated
+ */
+ EClass getGround();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Ground#getJustification <em>Justification</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Justification</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.Ground#getJustification()
+ * @see #getGround()
+ * @generated
+ */
+ EReference getGround_Justification();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Ground#getSafetyEvidence <em>Safety Evidence</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Safety Evidence</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.Ground#getSafetyEvidence()
+ * @see #getGround()
+ * @generated
+ */
+ EReference getGround_SafetyEvidence();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Ground#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.eclipse.papyrus.eastadl.dependability.safetycase.Ground#getBase_Class()
+ * @see #getGround()
+ * @generated
+ */
+ EReference getGround_Base_Class();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.LifecycleStageKind <em>Lifecycle Stage Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Lifecycle Stage Kind</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.LifecycleStageKind
+ * @generated
+ */
+ EEnum getLifecycleStageKind();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase <em>Safety Case</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Safety Case</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase
+ * @generated
+ */
+ EClass getSafetyCase();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase#getClaim <em>Claim</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Claim</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase#getClaim()
+ * @see #getSafetyCase()
+ * @generated
+ */
+ EReference getSafetyCase_Claim();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase#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.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase#getBase_Class()
+ * @see #getSafetyCase()
+ * @generated
+ */
+ EReference getSafetyCase_Base_Class();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase#getContext <em>Context</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Context</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase#getContext()
+ * @see #getSafetyCase()
+ * @generated
+ */
+ EAttribute getSafetyCase_Context();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase#getGround <em>Ground</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Ground</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase#getGround()
+ * @see #getSafetyCase()
+ * @generated
+ */
+ EReference getSafetyCase_Ground();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase#getSafetyCase <em>Safety Case</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Safety Case</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase#getSafetyCase()
+ * @see #getSafetyCase()
+ * @generated
+ */
+ EReference getSafetyCase_SafetyCase();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase#getStage <em>Stage</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Stage</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase#getStage()
+ * @see #getSafetyCase()
+ * @generated
+ */
+ EAttribute getSafetyCase_Stage();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase#getWarrant <em>Warrant</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Warrant</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase#getWarrant()
+ * @see #getSafetyCase()
+ * @generated
+ */
+ EReference getSafetyCase_Warrant();
+
+ /**
+ * 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
+ */
+ SafetycaseFactory getSafetycaseFactory();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Warrant <em>Warrant</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Warrant</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.Warrant
+ * @generated
+ */
+ EClass getWarrant();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Warrant#getDecomposedGoal <em>Decomposed Goal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Decomposed Goal</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.Warrant#getDecomposedGoal()
+ * @see #getWarrant()
+ * @generated
+ */
+ EReference getWarrant_DecomposedGoal();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Warrant#getEvidence <em>Evidence</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Evidence</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.Warrant#getEvidence()
+ * @see #getWarrant()
+ * @generated
+ */
+ EReference getWarrant_Evidence();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Warrant#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.eclipse.papyrus.eastadl.dependability.safetycase.Warrant#getBase_Class()
+ * @see #getWarrant()
+ * @generated
+ */
+ EReference getWarrant_Base_Class();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Warrant#getJustification <em>Justification</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Justification</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.Warrant#getJustification()
+ * @see #getWarrant()
+ * @generated
+ */
+ EReference getWarrant_Justification();
+
+} //SafetycasePackage
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/Warrant.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/Warrant.java
new file mode 100644
index 00000000000..eb3e79ff727
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/Warrant.java
@@ -0,0 +1,130 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetycase;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+import org.eclipse.uml2.uml.Comment;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Warrant</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Warrant represents argumentation of the facts to the Claim in general ways.
+ *
+ * The Warrant entity has associations to the decomposed goals and to the evidences for the SafetyCase.
+ *
+ * Semantics:
+ * The overall objective of an argument is to lead the evidence to the claim.
+ *
+ * Arguments are actions of inferring a conclusion from premised propositions. An argument is considered valid if the conclusion can be logically derived from its premises. An argument is considered sound if it is valid and all premises are true.
+ *
+ * A goal decomposition strategy breaks down a goal into a number of sub-goals. It is recommended that the strategies are of specific form.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Warrant#getDecomposedGoal <em>Decomposed Goal</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Warrant#getEvidence <em>Evidence</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Warrant#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Warrant#getJustification <em>Justification</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage#getWarrant()
+ * @model
+ * @generated
+ */
+public interface Warrant extends TraceableSpecification {
+ /**
+ * Returns the value of the '<em><b>Decomposed Goal</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.safetycase.Claim}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Decomposed Goal</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>Decomposed Goal</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage#getWarrant_DecomposedGoal()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Claim> getDecomposedGoal();
+
+ /**
+ * Returns the value of the '<em><b>Evidence</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.safetycase.Ground}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Evidence</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>Evidence</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage#getWarrant_Evidence()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Ground> getEvidence();
+
+ /**
+ * 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.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage#getWarrant_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Warrant#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>Justification</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>Justification</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Justification</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage#getWarrant_Justification()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Comment> getJustification();
+
+} // Warrant
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/impl/ClaimImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/impl/ClaimImpl.java
new file mode 100644
index 00000000000..45a4ab1cb54
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/impl/ClaimImpl.java
@@ -0,0 +1,346 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetycase.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.eastadl.dependability.safetycase.Claim;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.Ground;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.Warrant;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+import org.eclipse.uml2.uml.Comment;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Claim</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.impl.ClaimImpl#getSafetyRequirement <em>Safety Requirement</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.impl.ClaimImpl#getSupportedArgument <em>Supported Argument</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.impl.ClaimImpl#getGoalDecompositionStrategy <em>Goal Decomposition Strategy</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.impl.ClaimImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.impl.ClaimImpl#getJustification <em>Justification</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.impl.ClaimImpl#getEvidence <em>Evidence</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ClaimImpl extends TraceableSpecificationImpl implements Claim {
+ /**
+ * The cached value of the '{@link #getSafetyRequirement() <em>Safety Requirement</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSafetyRequirement()
+ * @generated
+ * @ordered
+ */
+ protected EList<TraceableSpecification> safetyRequirement;
+
+ /**
+ * The cached value of the '{@link #getSupportedArgument() <em>Supported Argument</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSupportedArgument()
+ * @generated
+ * @ordered
+ */
+ protected EList<Warrant> supportedArgument;
+
+ /**
+ * The cached value of the '{@link #getGoalDecompositionStrategy() <em>Goal Decomposition Strategy</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getGoalDecompositionStrategy()
+ * @generated
+ * @ordered
+ */
+ protected EList<Warrant> goalDecompositionStrategy;
+
+ /**
+ * 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 cached value of the '{@link #getJustification() <em>Justification</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJustification()
+ * @generated
+ * @ordered
+ */
+ protected EList<Comment> justification;
+
+ /**
+ * The cached value of the '{@link #getEvidence() <em>Evidence</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEvidence()
+ * @generated
+ * @ordered
+ */
+ protected EList<Ground> evidence;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ClaimImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SafetycasePackage.CLAIM__SAFETY_REQUIREMENT:
+ return getSafetyRequirement();
+ case SafetycasePackage.CLAIM__SUPPORTED_ARGUMENT:
+ return getSupportedArgument();
+ case SafetycasePackage.CLAIM__GOAL_DECOMPOSITION_STRATEGY:
+ return getGoalDecompositionStrategy();
+ case SafetycasePackage.CLAIM__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case SafetycasePackage.CLAIM__JUSTIFICATION:
+ return getJustification();
+ case SafetycasePackage.CLAIM__EVIDENCE:
+ return getEvidence();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SafetycasePackage.CLAIM__SAFETY_REQUIREMENT:
+ return safetyRequirement != null && !safetyRequirement.isEmpty();
+ case SafetycasePackage.CLAIM__SUPPORTED_ARGUMENT:
+ return supportedArgument != null && !supportedArgument.isEmpty();
+ case SafetycasePackage.CLAIM__GOAL_DECOMPOSITION_STRATEGY:
+ return goalDecompositionStrategy != null && !goalDecompositionStrategy.isEmpty();
+ case SafetycasePackage.CLAIM__BASE_CLASS:
+ return base_Class != null;
+ case SafetycasePackage.CLAIM__JUSTIFICATION:
+ return justification != null && !justification.isEmpty();
+ case SafetycasePackage.CLAIM__EVIDENCE:
+ return evidence != null && !evidence.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SafetycasePackage.CLAIM__SAFETY_REQUIREMENT:
+ getSafetyRequirement().clear();
+ getSafetyRequirement().addAll((Collection<? extends TraceableSpecification>)newValue);
+ return;
+ case SafetycasePackage.CLAIM__SUPPORTED_ARGUMENT:
+ getSupportedArgument().clear();
+ getSupportedArgument().addAll((Collection<? extends Warrant>)newValue);
+ return;
+ case SafetycasePackage.CLAIM__GOAL_DECOMPOSITION_STRATEGY:
+ getGoalDecompositionStrategy().clear();
+ getGoalDecompositionStrategy().addAll((Collection<? extends Warrant>)newValue);
+ return;
+ case SafetycasePackage.CLAIM__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case SafetycasePackage.CLAIM__JUSTIFICATION:
+ getJustification().clear();
+ getJustification().addAll((Collection<? extends Comment>)newValue);
+ return;
+ case SafetycasePackage.CLAIM__EVIDENCE:
+ getEvidence().clear();
+ getEvidence().addAll((Collection<? extends Ground>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SafetycasePackage.Literals.CLAIM;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SafetycasePackage.CLAIM__SAFETY_REQUIREMENT:
+ getSafetyRequirement().clear();
+ return;
+ case SafetycasePackage.CLAIM__SUPPORTED_ARGUMENT:
+ getSupportedArgument().clear();
+ return;
+ case SafetycasePackage.CLAIM__GOAL_DECOMPOSITION_STRATEGY:
+ getGoalDecompositionStrategy().clear();
+ return;
+ case SafetycasePackage.CLAIM__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case SafetycasePackage.CLAIM__JUSTIFICATION:
+ getJustification().clear();
+ return;
+ case SafetycasePackage.CLAIM__EVIDENCE:
+ getEvidence().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Ground> getEvidence() {
+ if (evidence == null) {
+ evidence = new EObjectResolvingEList<Ground>(Ground.class, this, SafetycasePackage.CLAIM__EVIDENCE);
+ }
+ return evidence;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Warrant> getGoalDecompositionStrategy() {
+ if (goalDecompositionStrategy == null) {
+ goalDecompositionStrategy = new EObjectResolvingEList<Warrant>(Warrant.class, this, SafetycasePackage.CLAIM__GOAL_DECOMPOSITION_STRATEGY);
+ }
+ return goalDecompositionStrategy;
+ }
+
+ /**
+ * <!-- 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, SafetycasePackage.CLAIM__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, SafetycasePackage.CLAIM__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Comment> getJustification() {
+ if (justification == null) {
+ justification = new EObjectResolvingEList<Comment>(Comment.class, this, SafetycasePackage.CLAIM__JUSTIFICATION);
+ }
+ return justification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TraceableSpecification> getSafetyRequirement() {
+ if (safetyRequirement == null) {
+ safetyRequirement = new EObjectResolvingEList<TraceableSpecification>(TraceableSpecification.class, this, SafetycasePackage.CLAIM__SAFETY_REQUIREMENT);
+ }
+ return safetyRequirement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Warrant> getSupportedArgument() {
+ if (supportedArgument == null) {
+ supportedArgument = new EObjectResolvingEList<Warrant>(Warrant.class, this, SafetycasePackage.CLAIM__SUPPORTED_ARGUMENT);
+ }
+ return supportedArgument;
+ }
+
+} //ClaimImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/impl/GroundImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/impl/GroundImpl.java
new file mode 100644
index 00000000000..575b560adfe
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/impl/GroundImpl.java
@@ -0,0 +1,242 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetycase.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.eastadl.dependability.safetycase.Ground;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.NamedElement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Ground</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.impl.GroundImpl#getSafetyEvidence <em>Safety Evidence</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.impl.GroundImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.impl.GroundImpl#getJustification <em>Justification</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class GroundImpl extends TraceableSpecificationImpl implements Ground {
+ /**
+ * The cached value of the '{@link #getSafetyEvidence() <em>Safety Evidence</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSafetyEvidence()
+ * @generated
+ * @ordered
+ */
+ protected EList<NamedElement> safetyEvidence;
+
+ /**
+ * 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 cached value of the '{@link #getJustification() <em>Justification</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJustification()
+ * @generated
+ * @ordered
+ */
+ protected EList<Comment> justification;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GroundImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SafetycasePackage.GROUND__SAFETY_EVIDENCE:
+ return getSafetyEvidence();
+ case SafetycasePackage.GROUND__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case SafetycasePackage.GROUND__JUSTIFICATION:
+ return getJustification();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SafetycasePackage.GROUND__SAFETY_EVIDENCE:
+ return safetyEvidence != null && !safetyEvidence.isEmpty();
+ case SafetycasePackage.GROUND__BASE_CLASS:
+ return base_Class != null;
+ case SafetycasePackage.GROUND__JUSTIFICATION:
+ return justification != null && !justification.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SafetycasePackage.GROUND__SAFETY_EVIDENCE:
+ getSafetyEvidence().clear();
+ getSafetyEvidence().addAll((Collection<? extends NamedElement>)newValue);
+ return;
+ case SafetycasePackage.GROUND__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case SafetycasePackage.GROUND__JUSTIFICATION:
+ getJustification().clear();
+ getJustification().addAll((Collection<? extends Comment>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SafetycasePackage.Literals.GROUND;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SafetycasePackage.GROUND__SAFETY_EVIDENCE:
+ getSafetyEvidence().clear();
+ return;
+ case SafetycasePackage.GROUND__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case SafetycasePackage.GROUND__JUSTIFICATION:
+ getJustification().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Comment> getJustification() {
+ if (justification == null) {
+ justification = new EObjectResolvingEList<Comment>(Comment.class, this, SafetycasePackage.GROUND__JUSTIFICATION);
+ }
+ return justification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<NamedElement> getSafetyEvidence() {
+ if (safetyEvidence == null) {
+ safetyEvidence = new EObjectResolvingEList<NamedElement>(NamedElement.class, this, SafetycasePackage.GROUND__SAFETY_EVIDENCE);
+ }
+ return safetyEvidence;
+ }
+
+ /**
+ * <!-- 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, SafetycasePackage.GROUND__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, SafetycasePackage.GROUND__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+} //GroundImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/impl/SafetyCaseImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/impl/SafetyCaseImpl.java
new file mode 100644
index 00000000000..9eaf5e0e859
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/impl/SafetyCaseImpl.java
@@ -0,0 +1,453 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetycase.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.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.Claim;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.Ground;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.LifecycleStageKind;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.Warrant;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Safety Case</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetyCaseImpl#getSafetyCase <em>Safety Case</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetyCaseImpl#getStage <em>Stage</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetyCaseImpl#getContext <em>Context</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetyCaseImpl#getGround <em>Ground</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetyCaseImpl#getWarrant <em>Warrant</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetyCaseImpl#getClaim <em>Claim</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetyCaseImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SafetyCaseImpl extends TraceableSpecificationImpl implements SafetyCase {
+ /**
+ * The cached value of the '{@link #getSafetyCase() <em>Safety Case</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSafetyCase()
+ * @generated
+ * @ordered
+ */
+ protected EList<SafetyCase> safetyCase;
+
+ /**
+ * The default value of the '{@link #getStage() <em>Stage</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStage()
+ * @generated
+ * @ordered
+ */
+ protected static final LifecycleStageKind STAGE_EDEFAULT = LifecycleStageKind.PRELIMINARY_SAFETY_CASE;
+
+ /**
+ * The cached value of the '{@link #getStage() <em>Stage</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStage()
+ * @generated
+ * @ordered
+ */
+ protected LifecycleStageKind stage = STAGE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getContext() <em>Context</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContext()
+ * @generated
+ * @ordered
+ */
+ protected static final String CONTEXT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getContext() <em>Context</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContext()
+ * @generated
+ * @ordered
+ */
+ protected String context = CONTEXT_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getGround() <em>Ground</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getGround()
+ * @generated
+ * @ordered
+ */
+ protected EList<Ground> ground;
+
+ /**
+ * The cached value of the '{@link #getWarrant() <em>Warrant</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWarrant()
+ * @generated
+ * @ordered
+ */
+ protected EList<Warrant> warrant;
+
+ /**
+ * The cached value of the '{@link #getClaim() <em>Claim</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClaim()
+ * @generated
+ * @ordered
+ */
+ protected EList<Claim> claim;
+
+ /**
+ * 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 SafetyCaseImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SafetycasePackage.SAFETY_CASE__SAFETY_CASE:
+ return getSafetyCase();
+ case SafetycasePackage.SAFETY_CASE__STAGE:
+ return getStage();
+ case SafetycasePackage.SAFETY_CASE__CONTEXT:
+ return getContext();
+ case SafetycasePackage.SAFETY_CASE__GROUND:
+ return getGround();
+ case SafetycasePackage.SAFETY_CASE__WARRANT:
+ return getWarrant();
+ case SafetycasePackage.SAFETY_CASE__CLAIM:
+ return getClaim();
+ case SafetycasePackage.SAFETY_CASE__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 boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SafetycasePackage.SAFETY_CASE__SAFETY_CASE:
+ return safetyCase != null && !safetyCase.isEmpty();
+ case SafetycasePackage.SAFETY_CASE__STAGE:
+ return stage != STAGE_EDEFAULT;
+ case SafetycasePackage.SAFETY_CASE__CONTEXT:
+ return CONTEXT_EDEFAULT == null ? context != null : !CONTEXT_EDEFAULT.equals(context);
+ case SafetycasePackage.SAFETY_CASE__GROUND:
+ return ground != null && !ground.isEmpty();
+ case SafetycasePackage.SAFETY_CASE__WARRANT:
+ return warrant != null && !warrant.isEmpty();
+ case SafetycasePackage.SAFETY_CASE__CLAIM:
+ return claim != null && !claim.isEmpty();
+ case SafetycasePackage.SAFETY_CASE__BASE_CLASS:
+ return base_Class != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SafetycasePackage.SAFETY_CASE__SAFETY_CASE:
+ getSafetyCase().clear();
+ getSafetyCase().addAll((Collection<? extends SafetyCase>)newValue);
+ return;
+ case SafetycasePackage.SAFETY_CASE__STAGE:
+ setStage((LifecycleStageKind)newValue);
+ return;
+ case SafetycasePackage.SAFETY_CASE__CONTEXT:
+ setContext((String)newValue);
+ return;
+ case SafetycasePackage.SAFETY_CASE__GROUND:
+ getGround().clear();
+ getGround().addAll((Collection<? extends Ground>)newValue);
+ return;
+ case SafetycasePackage.SAFETY_CASE__WARRANT:
+ getWarrant().clear();
+ getWarrant().addAll((Collection<? extends Warrant>)newValue);
+ return;
+ case SafetycasePackage.SAFETY_CASE__CLAIM:
+ getClaim().clear();
+ getClaim().addAll((Collection<? extends Claim>)newValue);
+ return;
+ case SafetycasePackage.SAFETY_CASE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SafetycasePackage.Literals.SAFETY_CASE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SafetycasePackage.SAFETY_CASE__SAFETY_CASE:
+ getSafetyCase().clear();
+ return;
+ case SafetycasePackage.SAFETY_CASE__STAGE:
+ setStage(STAGE_EDEFAULT);
+ return;
+ case SafetycasePackage.SAFETY_CASE__CONTEXT:
+ setContext(CONTEXT_EDEFAULT);
+ return;
+ case SafetycasePackage.SAFETY_CASE__GROUND:
+ getGround().clear();
+ return;
+ case SafetycasePackage.SAFETY_CASE__WARRANT:
+ getWarrant().clear();
+ return;
+ case SafetycasePackage.SAFETY_CASE__CLAIM:
+ getClaim().clear();
+ return;
+ case SafetycasePackage.SAFETY_CASE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Claim> getClaim() {
+ if (claim == null) {
+ claim = new EObjectResolvingEList<Claim>(Claim.class, this, SafetycasePackage.SAFETY_CASE__CLAIM);
+ }
+ return claim;
+ }
+
+ /**
+ * <!-- 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, SafetycasePackage.SAFETY_CASE__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, SafetycasePackage.SAFETY_CASE__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SafetycasePackage.SAFETY_CASE__SAFETY_CASE:
+ return ((InternalEList<?>)getSafetyCase()).basicRemove(otherEnd, msgs);
+ case SafetycasePackage.SAFETY_CASE__GROUND:
+ return ((InternalEList<?>)getGround()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getContext() {
+ return context;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Ground> getGround() {
+ if (ground == null) {
+ ground = new EObjectContainmentEList<Ground>(Ground.class, this, SafetycasePackage.SAFETY_CASE__GROUND);
+ }
+ return ground;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<SafetyCase> getSafetyCase() {
+ if (safetyCase == null) {
+ safetyCase = new EObjectContainmentEList<SafetyCase>(SafetyCase.class, this, SafetycasePackage.SAFETY_CASE__SAFETY_CASE);
+ }
+ return safetyCase;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LifecycleStageKind getStage() {
+ return stage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Warrant> getWarrant() {
+ if (warrant == null) {
+ warrant = new EObjectResolvingEList<Warrant>(Warrant.class, this, SafetycasePackage.SAFETY_CASE__WARRANT);
+ }
+ return warrant;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setContext(String newContext) {
+ String oldContext = context;
+ context = newContext;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SafetycasePackage.SAFETY_CASE__CONTEXT, oldContext, context));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStage(LifecycleStageKind newStage) {
+ LifecycleStageKind oldStage = stage;
+ stage = newStage == null ? STAGE_EDEFAULT : newStage;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SafetycasePackage.SAFETY_CASE__STAGE, oldStage, stage));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (stage: ");
+ result.append(stage);
+ result.append(", context: ");
+ result.append(context);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SafetyCaseImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/impl/SafetycaseFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/impl/SafetycaseFactoryImpl.java
new file mode 100644
index 00000000000..13c649119c2
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/impl/SafetycaseFactoryImpl.java
@@ -0,0 +1,196 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetycase.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.eclipse.papyrus.eastadl.dependability.safetycase.Claim;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.Ground;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.LifecycleStageKind;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycaseFactory;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.Warrant;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SafetycaseFactoryImpl extends EFactoryImpl implements SafetycaseFactory {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static SafetycasePackage getPackage() {
+ return SafetycasePackage.eINSTANCE;
+ }
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static SafetycaseFactory init() {
+ try {
+ SafetycaseFactory theSafetycaseFactory = (SafetycaseFactory)EPackage.Registry.INSTANCE.getEFactory(SafetycasePackage.eNS_URI);
+ if (theSafetycaseFactory != null) {
+ return theSafetycaseFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new SafetycaseFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SafetycaseFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertLifecycleStageKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case SafetycasePackage.LIFECYCLE_STAGE_KIND:
+ return convertLifecycleStageKindToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case SafetycasePackage.SAFETY_CASE: return createSafetyCase();
+ case SafetycasePackage.GROUND: return createGround();
+ case SafetycasePackage.WARRANT: return createWarrant();
+ case SafetycasePackage.CLAIM: return createClaim();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Claim createClaim() {
+ ClaimImpl claim = new ClaimImpl();
+ return claim;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case SafetycasePackage.LIFECYCLE_STAGE_KIND:
+ return createLifecycleStageKindFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Ground createGround() {
+ GroundImpl ground = new GroundImpl();
+ return ground;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LifecycleStageKind createLifecycleStageKindFromString(EDataType eDataType, String initialValue) {
+ LifecycleStageKind result = LifecycleStageKind.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 SafetyCase createSafetyCase() {
+ SafetyCaseImpl safetyCase = new SafetyCaseImpl();
+ return safetyCase;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Warrant createWarrant() {
+ WarrantImpl warrant = new WarrantImpl();
+ return warrant;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SafetycasePackage getSafetycasePackage() {
+ return (SafetycasePackage)getEPackage();
+ }
+
+} //SafetycaseFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/impl/SafetycasePackageImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/impl/SafetycasePackageImpl.java
new file mode 100644
index 00000000000..7ca8757498a
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/impl/SafetycasePackageImpl.java
@@ -0,0 +1,656 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetycase.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.eastadl.EastadlPackage;
+import org.eclipse.papyrus.eastadl.annex.AnnexPackage;
+import org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.Claim;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.Ground;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.LifecycleStageKind;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycaseFactory;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.Warrant;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.StructurePackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SafetycasePackageImpl extends EPackageImpl implements SafetycasePackage {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass safetyCaseEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass groundEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass warrantEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass claimEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum lifecycleStageKindEEnum = null;
+
+ /**
+ * <!-- 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 SafetycasePackage#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 SafetycasePackage init() {
+ if (isInited) return (SafetycasePackage)EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI);
+
+ // Obtain or create and register package
+ SafetycasePackageImpl theSafetycasePackage = (SafetycasePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof SafetycasePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new SafetycasePackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ SysmlPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EastadlPackageImpl theEastadlPackage = (EastadlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) instanceof EastadlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) : EastadlPackage.eINSTANCE);
+ VariabilityPackageImpl theVariabilityPackage = (VariabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) instanceof VariabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) : VariabilityPackage.eINSTANCE);
+ InfrastructurePackageImpl theInfrastructurePackage = (InfrastructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) instanceof InfrastructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) : InfrastructurePackage.eINSTANCE);
+ DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) instanceof DatatypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) : DatatypesPackage.eINSTANCE);
+ UserattributesPackageImpl theUserattributesPackage = (UserattributesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) instanceof UserattributesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) : UserattributesPackage.eINSTANCE);
+ ElementsPackageImpl theElementsPackage = (ElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) instanceof ElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) : ElementsPackage.eINSTANCE);
+ StructurePackageImpl theStructurePackage = (StructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) instanceof StructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) : StructurePackage.eINSTANCE);
+ FunctionmodelingPackageImpl theFunctionmodelingPackage = (FunctionmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) instanceof FunctionmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) : FunctionmodelingPackage.eINSTANCE);
+ HardwaremodelingPackageImpl theHardwaremodelingPackage = (HardwaremodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) instanceof HardwaremodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) : HardwaremodelingPackage.eINSTANCE);
+ SystemmodelingPackageImpl theSystemmodelingPackage = (SystemmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) instanceof SystemmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) : SystemmodelingPackage.eINSTANCE);
+ VehiclefeaturemodelingPackageImpl theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) instanceof VehiclefeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) : VehiclefeaturemodelingPackage.eINSTANCE);
+ FeaturemodelingPackageImpl theFeaturemodelingPackage = (FeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) instanceof FeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) : FeaturemodelingPackage.eINSTANCE);
+ BehaviorPackageImpl theBehaviorPackage = (BehaviorPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) instanceof BehaviorPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) : BehaviorPackage.eINSTANCE);
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) : RequirementsPackage.eINSTANCE);
+ VerificationvalidationPackageImpl theVerificationvalidationPackage = (VerificationvalidationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) instanceof VerificationvalidationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) : VerificationvalidationPackage.eINSTANCE);
+ TimingPackageImpl theTimingPackage = (TimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) instanceof TimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) : TimingPackage.eINSTANCE);
+ TimingconstraintsPackageImpl theTimingconstraintsPackage = (TimingconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) instanceof TimingconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) : TimingconstraintsPackage.eINSTANCE);
+ EventsPackageImpl theEventsPackage = (EventsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+ InterchangePackageImpl theInterchangePackage = (InterchangePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) instanceof InterchangePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) : InterchangePackage.eINSTANCE);
+ EnvironmentPackageImpl theEnvironmentPackage = (EnvironmentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) instanceof EnvironmentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) : EnvironmentPackage.eINSTANCE);
+ DependabilityPackageImpl theDependabilityPackage = (DependabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) instanceof DependabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) : DependabilityPackage.eINSTANCE);
+ ErrormodelPackageImpl theErrormodelPackage = (ErrormodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) instanceof ErrormodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) : ErrormodelPackage.eINSTANCE);
+ SafetyrequirementPackageImpl theSafetyrequirementPackage = (SafetyrequirementPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) instanceof SafetyrequirementPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) : SafetyrequirementPackage.eINSTANCE);
+ SafetyconstraintsPackageImpl theSafetyconstraintsPackage = (SafetyconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) instanceof SafetyconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) : SafetyconstraintsPackage.eINSTANCE);
+ AnnexPackageImpl theAnnexPackage = (AnnexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) instanceof AnnexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) : AnnexPackage.eINSTANCE);
+ NeedsPackageImpl theNeedsPackage = (NeedsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) instanceof NeedsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) : NeedsPackage.eINSTANCE);
+ GenericconstraintsPackageImpl theGenericconstraintsPackage = (GenericconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) instanceof GenericconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) : GenericconstraintsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theSafetycasePackage.createPackageContents();
+ theEastadlPackage.createPackageContents();
+ theVariabilityPackage.createPackageContents();
+ theInfrastructurePackage.createPackageContents();
+ theDatatypesPackage.createPackageContents();
+ theUserattributesPackage.createPackageContents();
+ theElementsPackage.createPackageContents();
+ theStructurePackage.createPackageContents();
+ theFunctionmodelingPackage.createPackageContents();
+ theHardwaremodelingPackage.createPackageContents();
+ theSystemmodelingPackage.createPackageContents();
+ theVehiclefeaturemodelingPackage.createPackageContents();
+ theFeaturemodelingPackage.createPackageContents();
+ theBehaviorPackage.createPackageContents();
+ theRequirementsPackage.createPackageContents();
+ theVerificationvalidationPackage.createPackageContents();
+ theTimingPackage.createPackageContents();
+ theTimingconstraintsPackage.createPackageContents();
+ theEventsPackage.createPackageContents();
+ theInterchangePackage.createPackageContents();
+ theEnvironmentPackage.createPackageContents();
+ theDependabilityPackage.createPackageContents();
+ theErrormodelPackage.createPackageContents();
+ theSafetyrequirementPackage.createPackageContents();
+ theSafetyconstraintsPackage.createPackageContents();
+ theAnnexPackage.createPackageContents();
+ theNeedsPackage.createPackageContents();
+ theGenericconstraintsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theSafetycasePackage.initializePackageContents();
+ theEastadlPackage.initializePackageContents();
+ theVariabilityPackage.initializePackageContents();
+ theInfrastructurePackage.initializePackageContents();
+ theDatatypesPackage.initializePackageContents();
+ theUserattributesPackage.initializePackageContents();
+ theElementsPackage.initializePackageContents();
+ theStructurePackage.initializePackageContents();
+ theFunctionmodelingPackage.initializePackageContents();
+ theHardwaremodelingPackage.initializePackageContents();
+ theSystemmodelingPackage.initializePackageContents();
+ theVehiclefeaturemodelingPackage.initializePackageContents();
+ theFeaturemodelingPackage.initializePackageContents();
+ theBehaviorPackage.initializePackageContents();
+ theRequirementsPackage.initializePackageContents();
+ theVerificationvalidationPackage.initializePackageContents();
+ theTimingPackage.initializePackageContents();
+ theTimingconstraintsPackage.initializePackageContents();
+ theEventsPackage.initializePackageContents();
+ theInterchangePackage.initializePackageContents();
+ theEnvironmentPackage.initializePackageContents();
+ theDependabilityPackage.initializePackageContents();
+ theErrormodelPackage.initializePackageContents();
+ theSafetyrequirementPackage.initializePackageContents();
+ theSafetyconstraintsPackage.initializePackageContents();
+ theAnnexPackage.initializePackageContents();
+ theNeedsPackage.initializePackageContents();
+ theGenericconstraintsPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theSafetycasePackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(SafetycasePackage.eNS_URI, theSafetycasePackage);
+ return theSafetycasePackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * 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.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private SafetycasePackageImpl() {
+ super(eNS_URI, SafetycaseFactory.eINSTANCE);
+ }
+
+ /**
+ * 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
+ safetyCaseEClass = createEClass(SAFETY_CASE);
+ createEReference(safetyCaseEClass, SAFETY_CASE__SAFETY_CASE);
+ createEAttribute(safetyCaseEClass, SAFETY_CASE__STAGE);
+ createEAttribute(safetyCaseEClass, SAFETY_CASE__CONTEXT);
+ createEReference(safetyCaseEClass, SAFETY_CASE__GROUND);
+ createEReference(safetyCaseEClass, SAFETY_CASE__WARRANT);
+ createEReference(safetyCaseEClass, SAFETY_CASE__CLAIM);
+ createEReference(safetyCaseEClass, SAFETY_CASE__BASE_CLASS);
+
+ groundEClass = createEClass(GROUND);
+ createEReference(groundEClass, GROUND__SAFETY_EVIDENCE);
+ createEReference(groundEClass, GROUND__BASE_CLASS);
+ createEReference(groundEClass, GROUND__JUSTIFICATION);
+
+ warrantEClass = createEClass(WARRANT);
+ createEReference(warrantEClass, WARRANT__DECOMPOSED_GOAL);
+ createEReference(warrantEClass, WARRANT__EVIDENCE);
+ createEReference(warrantEClass, WARRANT__BASE_CLASS);
+ createEReference(warrantEClass, WARRANT__JUSTIFICATION);
+
+ claimEClass = createEClass(CLAIM);
+ createEReference(claimEClass, CLAIM__SAFETY_REQUIREMENT);
+ createEReference(claimEClass, CLAIM__SUPPORTED_ARGUMENT);
+ createEReference(claimEClass, CLAIM__GOAL_DECOMPOSITION_STRATEGY);
+ createEReference(claimEClass, CLAIM__BASE_CLASS);
+ createEReference(claimEClass, CLAIM__JUSTIFICATION);
+ createEReference(claimEClass, CLAIM__EVIDENCE);
+
+ // Create enums
+ lifecycleStageKindEEnum = createEEnum(LIFECYCLE_STAGE_KIND);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getClaim() {
+ return claimEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClaim_Evidence() {
+ return (EReference)claimEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClaim_GoalDecompositionStrategy() {
+ return (EReference)claimEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClaim_Base_Class() {
+ return (EReference)claimEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClaim_Justification() {
+ return (EReference)claimEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClaim_SafetyRequirement() {
+ return (EReference)claimEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClaim_SupportedArgument() {
+ return (EReference)claimEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGround() {
+ return groundEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGround_Justification() {
+ return (EReference)groundEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGround_SafetyEvidence() {
+ return (EReference)groundEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGround_Base_Class() {
+ return (EReference)groundEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getLifecycleStageKind() {
+ return lifecycleStageKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSafetyCase() {
+ return safetyCaseEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSafetyCase_Claim() {
+ return (EReference)safetyCaseEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSafetyCase_Base_Class() {
+ return (EReference)safetyCaseEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSafetyCase_Context() {
+ return (EAttribute)safetyCaseEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSafetyCase_Ground() {
+ return (EReference)safetyCaseEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSafetyCase_SafetyCase() {
+ return (EReference)safetyCaseEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSafetyCase_Stage() {
+ return (EAttribute)safetyCaseEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSafetyCase_Warrant() {
+ return (EReference)safetyCaseEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SafetycaseFactory getSafetycaseFactory() {
+ return (SafetycaseFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getWarrant() {
+ return warrantEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getWarrant_DecomposedGoal() {
+ return (EReference)warrantEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getWarrant_Evidence() {
+ return (EReference)warrantEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getWarrant_Base_Class() {
+ return (EReference)warrantEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getWarrant_Justification() {
+ return (EReference)warrantEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * 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
+ ElementsPackage theElementsPackage = (ElementsPackage)EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI);
+ TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ safetyCaseEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+ groundEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+ warrantEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+ claimEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(safetyCaseEClass, SafetyCase.class, "SafetyCase", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getSafetyCase_SafetyCase(), this.getSafetyCase(), null, "safetyCase", null, 0, -1, SafetyCase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getSafetyCase_Stage(), this.getLifecycleStageKind(), "stage", null, 1, 1, SafetyCase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getSafetyCase_Context(), theTypesPackage.getString(), "context", null, 1, 1, SafetyCase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSafetyCase_Ground(), this.getGround(), null, "ground", null, 1, -1, SafetyCase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSafetyCase_Warrant(), this.getWarrant(), null, "warrant", null, 0, -1, SafetyCase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSafetyCase_Claim(), this.getClaim(), null, "claim", null, 1, -1, SafetyCase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSafetyCase_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, SafetyCase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(groundEClass, Ground.class, "Ground", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getGround_SafetyEvidence(), theUMLPackage.getNamedElement(), null, "safetyEvidence", null, 0, -1, Ground.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getGround_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, Ground.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getGround_Justification(), theUMLPackage.getComment(), null, "justification", null, 0, -1, Ground.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(warrantEClass, Warrant.class, "Warrant", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getWarrant_DecomposedGoal(), this.getClaim(), null, "decomposedGoal", null, 0, -1, Warrant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getWarrant_Evidence(), this.getGround(), null, "evidence", null, 0, -1, Warrant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getWarrant_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, Warrant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getWarrant_Justification(), theUMLPackage.getComment(), null, "justification", null, 0, -1, Warrant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(claimEClass, Claim.class, "Claim", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getClaim_SafetyRequirement(), theElementsPackage.getTraceableSpecification(), null, "safetyRequirement", null, 0, -1, Claim.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getClaim_SupportedArgument(), this.getWarrant(), null, "supportedArgument", null, 0, -1, Claim.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getClaim_GoalDecompositionStrategy(), this.getWarrant(), null, "goalDecompositionStrategy", null, 0, -1, Claim.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getClaim_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, Claim.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getClaim_Justification(), theUMLPackage.getComment(), null, "justification", null, 0, -1, Claim.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getClaim_Evidence(), this.getGround(), null, "evidence", null, 1, -1, Claim.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(lifecycleStageKindEEnum, LifecycleStageKind.class, "LifecycleStageKind");
+ addEEnumLiteral(lifecycleStageKindEEnum, LifecycleStageKind.PRELIMINARY_SAFETY_CASE);
+ addEEnumLiteral(lifecycleStageKindEEnum, LifecycleStageKind.INTERIM_SAFETY_CASE);
+ addEEnumLiteral(lifecycleStageKindEEnum, LifecycleStageKind.OPERATIONAL_SAFETY_CASE);
+
+ // Create annotations
+ // duplicates
+ createDuplicatesAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>duplicates</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createDuplicatesAnnotations() {
+ String source = "duplicates";
+ addAnnotation
+ (claimEClass,
+ source,
+ new String[] {
+ });
+ }
+
+} //SafetycasePackageImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/impl/WarrantImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/impl/WarrantImpl.java
new file mode 100644
index 00000000000..4733d3f70c1
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/impl/WarrantImpl.java
@@ -0,0 +1,277 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetycase.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.eastadl.dependability.safetycase.Claim;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.Ground;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.Warrant;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+import org.eclipse.uml2.uml.Comment;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Warrant</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.impl.WarrantImpl#getDecomposedGoal <em>Decomposed Goal</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.impl.WarrantImpl#getEvidence <em>Evidence</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.impl.WarrantImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetycase.impl.WarrantImpl#getJustification <em>Justification</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class WarrantImpl extends TraceableSpecificationImpl implements Warrant {
+ /**
+ * The cached value of the '{@link #getDecomposedGoal() <em>Decomposed Goal</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDecomposedGoal()
+ * @generated
+ * @ordered
+ */
+ protected EList<Claim> decomposedGoal;
+
+ /**
+ * The cached value of the '{@link #getEvidence() <em>Evidence</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEvidence()
+ * @generated
+ * @ordered
+ */
+ protected EList<Ground> evidence;
+
+ /**
+ * 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 cached value of the '{@link #getJustification() <em>Justification</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJustification()
+ * @generated
+ * @ordered
+ */
+ protected EList<Comment> justification;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected WarrantImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SafetycasePackage.WARRANT__DECOMPOSED_GOAL:
+ return getDecomposedGoal();
+ case SafetycasePackage.WARRANT__EVIDENCE:
+ return getEvidence();
+ case SafetycasePackage.WARRANT__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case SafetycasePackage.WARRANT__JUSTIFICATION:
+ return getJustification();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SafetycasePackage.WARRANT__DECOMPOSED_GOAL:
+ return decomposedGoal != null && !decomposedGoal.isEmpty();
+ case SafetycasePackage.WARRANT__EVIDENCE:
+ return evidence != null && !evidence.isEmpty();
+ case SafetycasePackage.WARRANT__BASE_CLASS:
+ return base_Class != null;
+ case SafetycasePackage.WARRANT__JUSTIFICATION:
+ return justification != null && !justification.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SafetycasePackage.WARRANT__DECOMPOSED_GOAL:
+ getDecomposedGoal().clear();
+ getDecomposedGoal().addAll((Collection<? extends Claim>)newValue);
+ return;
+ case SafetycasePackage.WARRANT__EVIDENCE:
+ getEvidence().clear();
+ getEvidence().addAll((Collection<? extends Ground>)newValue);
+ return;
+ case SafetycasePackage.WARRANT__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case SafetycasePackage.WARRANT__JUSTIFICATION:
+ getJustification().clear();
+ getJustification().addAll((Collection<? extends Comment>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SafetycasePackage.Literals.WARRANT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SafetycasePackage.WARRANT__DECOMPOSED_GOAL:
+ getDecomposedGoal().clear();
+ return;
+ case SafetycasePackage.WARRANT__EVIDENCE:
+ getEvidence().clear();
+ return;
+ case SafetycasePackage.WARRANT__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case SafetycasePackage.WARRANT__JUSTIFICATION:
+ getJustification().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Claim> getDecomposedGoal() {
+ if (decomposedGoal == null) {
+ decomposedGoal = new EObjectResolvingEList<Claim>(Claim.class, this, SafetycasePackage.WARRANT__DECOMPOSED_GOAL);
+ }
+ return decomposedGoal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Ground> getEvidence() {
+ if (evidence == null) {
+ evidence = new EObjectResolvingEList<Ground>(Ground.class, this, SafetycasePackage.WARRANT__EVIDENCE);
+ }
+ return evidence;
+ }
+
+ /**
+ * <!-- 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, SafetycasePackage.WARRANT__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, SafetycasePackage.WARRANT__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Comment> getJustification() {
+ if (justification == null) {
+ justification = new EObjectResolvingEList<Comment>(Comment.class, this, SafetycasePackage.WARRANT__JUSTIFICATION);
+ }
+ return justification;
+ }
+
+} //WarrantImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/util/SafetycaseAdapterFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/util/SafetycaseAdapterFactory.java
new file mode 100644
index 00000000000..9635af621f9
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/util/SafetycaseAdapterFactory.java
@@ -0,0 +1,246 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetycase.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.eastadl.dependability.safetycase.Claim;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.Ground;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.Warrant;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage
+ * @generated
+ */
+public class SafetycaseAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static SafetycasePackage modelPackage;
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SafetycaseSwitch<Adapter> modelSwitch =
+ new SafetycaseSwitch<Adapter>() {
+ @Override
+ public Adapter caseSafetyCase(SafetyCase object) {
+ return createSafetyCaseAdapter();
+ }
+ @Override
+ public Adapter caseGround(Ground object) {
+ return createGroundAdapter();
+ }
+ @Override
+ public Adapter caseWarrant(Warrant object) {
+ return createWarrantAdapter();
+ }
+ @Override
+ public Adapter caseClaim(Claim object) {
+ return createClaimAdapter();
+ }
+ @Override
+ public Adapter caseEAElement(EAElement object) {
+ return createEAElementAdapter();
+ }
+ @Override
+ public Adapter caseEAPackageableElement(EAPackageableElement object) {
+ return createEAPackageableElementAdapter();
+ }
+ @Override
+ public Adapter caseTraceableSpecification(TraceableSpecification object) {
+ return createTraceableSpecificationAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SafetycaseAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = SafetycasePackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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.eclipse.papyrus.eastadl.dependability.safetycase.Claim <em>Claim</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.dependability.safetycase.Claim
+ * @generated
+ */
+ public Adapter createClaimAdapter() {
+ return null;
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement <em>EA Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAElement
+ * @generated
+ */
+ public Adapter createEAElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement <em>EA Packageable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAPackageableElement
+ * @generated
+ */
+ public Adapter createEAPackageableElementAdapter() {
+ 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;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Ground <em>Ground</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.dependability.safetycase.Ground
+ * @generated
+ */
+ public Adapter createGroundAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase <em>Safety Case</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.dependability.safetycase.SafetyCase
+ * @generated
+ */
+ public Adapter createSafetyCaseAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification <em>Traceable 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.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification
+ * @generated
+ */
+ public Adapter createTraceableSpecificationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.dependability.safetycase.Warrant <em>Warrant</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.dependability.safetycase.Warrant
+ * @generated
+ */
+ public Adapter createWarrantAdapter() {
+ return null;
+ }
+
+ /**
+ * 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;
+ }
+
+} //SafetycaseAdapterFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/util/SafetycaseResourceFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/util/SafetycaseResourceFactoryImpl.java
new file mode 100644
index 00000000000..4c17440734a
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/util/SafetycaseResourceFactoryImpl.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetycase.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.eclipse.papyrus.eastadl.dependability.safetycase.util.SafetycaseResourceImpl
+ * @generated
+ */
+public class SafetycaseResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SafetycaseResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new SafetycaseResourceImpl(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;
+ }
+
+} //SafetycaseResourceFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/util/SafetycaseResourceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/util/SafetycaseResourceImpl.java
new file mode 100644
index 00000000000..a039e5c4e59
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/util/SafetycaseResourceImpl.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetycase.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.eclipse.papyrus.eastadl.dependability.safetycase.util.SafetycaseResourceFactoryImpl
+ * @generated
+ */
+public class SafetycaseResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public SafetycaseResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //SafetycaseResourceImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/util/SafetycaseSwitch.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/util/SafetycaseSwitch.java
new file mode 100644
index 00000000000..b3acfd59f45
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/util/SafetycaseSwitch.java
@@ -0,0 +1,249 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetycase.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.Claim;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.Ground;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetyCase;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.Warrant;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage
+ * @generated
+ */
+public class SafetycaseSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static SafetycasePackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SafetycaseSwitch() {
+ if (modelPackage == null) {
+ modelPackage = SafetycasePackage.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;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Claim</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Claim</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseClaim(Claim object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAElement(EAElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Packageable Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Packageable Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAPackageableElement(EAPackageableElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ground</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Ground</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGround(Ground object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Safety Case</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Safety Case</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSafetyCase(SafetyCase object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Traceable 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>Traceable Specification</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTraceableSpecification(TraceableSpecification object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Warrant</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Warrant</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseWarrant(Warrant 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;
+ }
+
+ /**
+ * 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 SafetycasePackage.SAFETY_CASE: {
+ SafetyCase safetyCase = (SafetyCase)theEObject;
+ T result = caseSafetyCase(safetyCase);
+ if (result == null) result = caseTraceableSpecification(safetyCase);
+ if (result == null) result = caseEAPackageableElement(safetyCase);
+ if (result == null) result = caseEAElement(safetyCase);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SafetycasePackage.GROUND: {
+ Ground ground = (Ground)theEObject;
+ T result = caseGround(ground);
+ if (result == null) result = caseTraceableSpecification(ground);
+ if (result == null) result = caseEAPackageableElement(ground);
+ if (result == null) result = caseEAElement(ground);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SafetycasePackage.WARRANT: {
+ Warrant warrant = (Warrant)theEObject;
+ T result = caseWarrant(warrant);
+ if (result == null) result = caseTraceableSpecification(warrant);
+ if (result == null) result = caseEAPackageableElement(warrant);
+ if (result == null) result = caseEAElement(warrant);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SafetycasePackage.CLAIM: {
+ Claim claim = (Claim)theEObject;
+ T result = caseClaim(claim);
+ if (result == null) result = caseTraceableSpecification(claim);
+ if (result == null) result = caseEAPackageableElement(claim);
+ if (result == null) result = caseEAElement(claim);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+} //SafetycaseSwitch
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/util/SafetycaseXMLProcessor.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/util/SafetycaseXMLProcessor.java
new file mode 100644
index 00000000000..78558199638
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetycase/util/SafetycaseXMLProcessor.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetycase.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.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SafetycaseXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SafetycaseXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ SafetycasePackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the SafetycaseResourceFactoryImpl 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 SafetycaseResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new SafetycaseResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //SafetycaseXMLProcessor
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/ASILKind.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/ASILKind.java
new file mode 100644
index 00000000000..b493850eba8
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/ASILKind.java
@@ -0,0 +1,298 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyconstraints;
+
+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>ASIL Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The ASILKind is an enumeration metaclass with enumeration literals indicating the level of safety integrity in accordance with ISO26262.
+ *
+ * Semantics:
+ * The semantics is defined at each enumeration literal and fully defined in the ISO26262 standard.
+ *
+ * Extension:
+ * Enumeration, no extension.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage#getASILKind()
+ * @model
+ * @generated
+ */
+public enum ASILKind implements Enumerator {
+ /**
+ * The '<em><b>ASIL A</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ASIL_A_VALUE
+ * @generated
+ * @ordered
+ */
+ ASIL_A(0, "ASIL_A", "ASIL_A"), /**
+ * The '<em><b>ASIL D</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ASIL_D_VALUE
+ * @generated
+ * @ordered
+ */
+ ASIL_D(1, "ASIL_D", "ASIL_D"), /**
+ * The '<em><b>ASIL C</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ASIL_C_VALUE
+ * @generated
+ * @ordered
+ */
+ ASIL_C(2, "ASIL_C", "ASIL_C"), /**
+ * The '<em><b>ASIL B</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ASIL_B_VALUE
+ * @generated
+ * @ordered
+ */
+ ASIL_B(3, "ASIL_B", "ASIL_B"), /**
+ * The '<em><b>QM</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #QM_VALUE
+ * @generated
+ * @ordered
+ */
+ QM(4, "QM", "QM");
+
+ /**
+ * The '<em><b>ASIL A</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * ASIL A, Lowest Safety Integrity Level.
+ * <!-- end-model-doc -->
+ * @see #ASIL_A
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int ASIL_A_VALUE = 0;
+
+ /**
+ * The '<em><b>ASIL D</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * ASIL D, Highest Safety Integrity Level.
+ * <!-- end-model-doc -->
+ * @see #ASIL_D
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int ASIL_D_VALUE = 1;
+
+ /**
+ * The '<em><b>ASIL C</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * ASIL C, second highest Safety Integrity Level.
+ * <!-- end-model-doc -->
+ * @see #ASIL_C
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int ASIL_C_VALUE = 2;
+
+ /**
+ * The '<em><b>ASIL B</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * ASIL B, second lowest Safety Integrity Level.
+ * <!-- end-model-doc -->
+ * @see #ASIL_B
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int ASIL_B_VALUE = 3;
+
+ /**
+ * The '<em><b>QM</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Quality Management only, no requirement according to ISO 26262.
+ * <!-- end-model-doc -->
+ * @see #QM
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int QM_VALUE = 4;
+
+ /**
+ * An array of all the '<em><b>ASIL Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final ASILKind[] VALUES_ARRAY =
+ new ASILKind[] {
+ ASIL_A,
+ ASIL_D,
+ ASIL_C,
+ ASIL_B,
+ QM,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>ASIL Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<ASILKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>ASIL Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ASILKind get(int value) {
+ switch (value) {
+ case ASIL_A_VALUE: return ASIL_A;
+ case ASIL_D_VALUE: return ASIL_D;
+ case ASIL_C_VALUE: return ASIL_C;
+ case ASIL_B_VALUE: return ASIL_B;
+ case QM_VALUE: return QM;
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>ASIL Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ASILKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ASILKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>ASIL Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ASILKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ASILKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ 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 ASILKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * 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;
+ }
+
+} //ASILKind
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/FaultFailure.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/FaultFailure.java
new file mode 100644
index 00000000000..373435de477
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/FaultFailure.java
@@ -0,0 +1,125 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyconstraints;
+
+import org.eclipse.papyrus.eastadl.dependability.errormodel.Anomaly;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Fault Failure</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The FaultFailure represents a certain fault or failure on its referenced Anomaly. The faultFailureValue specifies the value of the Anomaly that the FaultFailure corresponds to, i.e. one of the possible values of the Anomaly.
+ *
+ * Semantics:
+ * A FaultFailure is defined as a certain value, faultFailureValue, occurring at the referenced Anomaly.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.FaultFailure#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.FaultFailure#getFaultFailureValue <em>Fault Failure Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.FaultFailure#getAnomaly <em>Anomaly</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage#getFaultFailure()
+ * @model
+ * @generated
+ */
+public interface FaultFailure extends TraceableSpecification {
+ /**
+ * 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.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage#getFaultFailure_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.FaultFailure#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>Anomaly</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Anomaly</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Anomaly</em>' reference.
+ * @see #setAnomaly(Anomaly)
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage#getFaultFailure_Anomaly()
+ * @model ordered="false"
+ * @generated
+ */
+ Anomaly getAnomaly();
+
+ /**
+ * Returns the value of the '<em><b>Fault Failure Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Fault Failure Value</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>Fault Failure Value</em>' attribute.
+ * @see #setFaultFailureValue(String)
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage#getFaultFailure_FaultFailureValue()
+ * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getFaultFailureValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.FaultFailure#getAnomaly <em>Anomaly</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Anomaly</em>' reference.
+ * @see #getAnomaly()
+ * @generated
+ */
+ void setAnomaly(Anomaly value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.FaultFailure#getFaultFailureValue <em>Fault Failure Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Fault Failure Value</em>' attribute.
+ * @see #getFaultFailureValue()
+ * @generated
+ */
+ void setFaultFailureValue(String value);
+
+} // FaultFailure
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/QuantitativeSafetyConstraint.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/QuantitativeSafetyConstraint.java
new file mode 100644
index 00000000000..37bee17a3d8
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/QuantitativeSafetyConstraint.java
@@ -0,0 +1,174 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyconstraints;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+import org.eclipse.uml2.uml.Constraint;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Quantitative Safety Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The QuantitativeSafetyConstraint metaclass represents the quantitative integrity constraints on a fault or failure. Thus, the system has same or better performance with respect to the constrained fault or failure, and depending on the role this is either a requirement or a property.
+ *
+ * Semantics:
+ * A QuantitativeSafetyConstraint provides information about the probabilistic estimates of target faults/failures, further specified by the failureRate and repairRate attribute.
+ *
+ * Extension:
+ * (see ADLTraceableSpecification)
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint#getConstrainedFaultFailure <em>Constrained Fault Failure</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint#getFailureRate <em>Failure Rate</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint#getRepairRate <em>Repair Rate</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint#getBase_Constraint <em>Base Constraint</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage#getQuantitativeSafetyConstraint()
+ * @model
+ * @generated
+ */
+public interface QuantitativeSafetyConstraint extends TraceableSpecification {
+ /**
+ * Returns the value of the '<em><b>Constrained Fault Failure</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.FaultFailure}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Constrained Fault Failure</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>Constrained Fault Failure</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage#getQuantitativeSafetyConstraint_ConstrainedFaultFailure()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<FaultFailure> getConstrainedFaultFailure();
+
+ /**
+ * Returns the value of the '<em><b>Failure Rate</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Failure Rate</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Failure Rate</em>' attribute.
+ * @see #setFailureRate(Float)
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage#getQuantitativeSafetyConstraint_FailureRate()
+ * @model unique="false" dataType="org.eclipse.papyrus.eastadl.infrastructure.datatypes.javalangFloat" required="true" ordered="false"
+ * @generated
+ */
+ Float getFailureRate();
+
+ /**
+ * Returns the value of the '<em><b>Repair Rate</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Repair Rate</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 Rate</em>' attribute.
+ * @see #setRepairRate(Float)
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage#getQuantitativeSafetyConstraint_RepairRate()
+ * @model unique="false" dataType="org.eclipse.papyrus.eastadl.infrastructure.datatypes.javalangFloat" required="true" ordered="false"
+ * @generated
+ */
+ Float getRepairRate();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint#getFailureRate <em>Failure Rate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Failure Rate</em>' attribute.
+ * @see #getFailureRate()
+ * @generated
+ */
+ void setFailureRate(Float value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint#getRepairRate <em>Repair Rate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Repair Rate</em>' attribute.
+ * @see #getRepairRate()
+ * @generated
+ */
+ void setRepairRate(Float 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.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage#getQuantitativeSafetyConstraint_Base_Class()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint#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>Base Constraint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Constraint</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 Constraint</em>' reference.
+ * @see #setBase_Constraint(Constraint)
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage#getQuantitativeSafetyConstraint_Base_Constraint()
+ * @model ordered="false"
+ * @generated
+ */
+ Constraint getBase_Constraint();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint#getBase_Constraint <em>Base Constraint</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Constraint</em>' reference.
+ * @see #getBase_Constraint()
+ * @generated
+ */
+ void setBase_Constraint(Constraint value);
+
+} // QuantitativeSafetyConstraint
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/SafetyConstraint.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/SafetyConstraint.java
new file mode 100644
index 00000000000..42f368dd875
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/SafetyConstraint.java
@@ -0,0 +1,153 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyconstraints;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+import org.eclipse.uml2.uml.Constraint;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Safety Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The SafetyConstraint metaclass represents the qualitative integrity constraints on a fault or failure. Thus, the system has same or better performance with respect to the constrained fault or failure, and depending on the role this is either a requirement or a property.
+ *
+ * Semantics:
+ * A SafetyConstraint defines qualitative bounds on the constrainedFaultFailure in terms of safety integrity level, asilValue.
+ *
+ * Depending on role, the SafetyConstraint may define a required or an actual safety integrity level.
+ *
+ *
+ * Extension:
+ * (see ADLTraceableSpecification)
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyConstraint#getAsilValue <em>Asil Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyConstraint#getConstrainedFaultFailure <em>Constrained Fault Failure</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyConstraint#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyConstraint#getBase_Constraint <em>Base Constraint</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage#getSafetyConstraint()
+ * @model
+ * @generated
+ */
+public interface SafetyConstraint extends TraceableSpecification {
+ /**
+ * Returns the value of the '<em><b>Asil Value</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.ASILKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Asil 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>Asil Value</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.ASILKind
+ * @see #setAsilValue(ASILKind)
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage#getSafetyConstraint_AsilValue()
+ * @model unique="false" required="true" ordered="false"
+ * @generated
+ */
+ ASILKind getAsilValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyConstraint#getAsilValue <em>Asil Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Asil Value</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.ASILKind
+ * @see #getAsilValue()
+ * @generated
+ */
+ void setAsilValue(ASILKind value);
+
+ /**
+ * Returns the value of the '<em><b>Constrained Fault Failure</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.FaultFailure}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Constrained Fault Failure</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>Constrained Fault Failure</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage#getSafetyConstraint_ConstrainedFaultFailure()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<FaultFailure> getConstrainedFaultFailure();
+
+ /**
+ * 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.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage#getSafetyConstraint_Base_Class()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyConstraint#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>Base Constraint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Constraint</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 Constraint</em>' reference.
+ * @see #setBase_Constraint(Constraint)
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage#getSafetyConstraint_Base_Constraint()
+ * @model ordered="false"
+ * @generated
+ */
+ Constraint getBase_Constraint();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyConstraint#getBase_Constraint <em>Base Constraint</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Constraint</em>' reference.
+ * @see #getBase_Constraint()
+ * @generated
+ */
+ void setBase_Constraint(Constraint value);
+
+} // SafetyConstraint
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/SafetyconstraintsFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/SafetyconstraintsFactory.java
new file mode 100644
index 00000000000..42564ca888f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/SafetyconstraintsFactory.java
@@ -0,0 +1,73 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyconstraints;
+
+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.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage
+ * @generated
+ */
+public interface SafetyconstraintsFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ SafetyconstraintsFactory eINSTANCE = org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Fault Failure</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Fault Failure</em>'.
+ * @generated
+ */
+ FaultFailure createFaultFailure();
+
+ /**
+ * Returns a new object of class '<em>Quantitative Safety Constraint</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Quantitative Safety Constraint</em>'.
+ * @generated
+ */
+ QuantitativeSafetyConstraint createQuantitativeSafetyConstraint();
+
+ /**
+ * Returns a new object of class '<em>Safety Constraint</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Safety Constraint</em>'.
+ * @generated
+ */
+ SafetyConstraint createSafetyConstraint();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ SafetyconstraintsPackage getSafetyconstraintsPackage();
+
+} //SafetyconstraintsFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/SafetyconstraintsPackage.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/SafetyconstraintsPackage.java
new file mode 100644
index 00000000000..919b9b5c6a8
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/SafetyconstraintsPackage.java
@@ -0,0 +1,702 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyconstraints;
+
+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.eastadl.infrastructure.elements.ElementsPackage;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface SafetyconstraintsPackage extends EPackage {
+ /**
+ * <!-- 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.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyConstraintImpl <em>Safety Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl#getSafetyConstraint()
+ * @generated
+ */
+ EClass SAFETY_CONSTRAINT = eINSTANCE.getSafetyConstraint();
+ /**
+ * The meta object literal for the '<em><b>Asil Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SAFETY_CONSTRAINT__ASIL_VALUE = eINSTANCE.getSafetyConstraint_AsilValue();
+ /**
+ * The meta object literal for the '<em><b>Constrained Fault Failure</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SAFETY_CONSTRAINT__CONSTRAINED_FAULT_FAILURE = eINSTANCE.getSafetyConstraint_ConstrainedFaultFailure();
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SAFETY_CONSTRAINT__BASE_CLASS = eINSTANCE.getSafetyConstraint_Base_Class();
+ /**
+ * The meta object literal for the '<em><b>Base Constraint</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SAFETY_CONSTRAINT__BASE_CONSTRAINT = eINSTANCE.getSafetyConstraint_Base_Constraint();
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.QuantitativeSafetyConstraintImpl <em>Quantitative Safety Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.QuantitativeSafetyConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl#getQuantitativeSafetyConstraint()
+ * @generated
+ */
+ EClass QUANTITATIVE_SAFETY_CONSTRAINT = eINSTANCE.getQuantitativeSafetyConstraint();
+ /**
+ * The meta object literal for the '<em><b>Constrained Fault Failure</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference QUANTITATIVE_SAFETY_CONSTRAINT__CONSTRAINED_FAULT_FAILURE = eINSTANCE.getQuantitativeSafetyConstraint_ConstrainedFaultFailure();
+ /**
+ * The meta object literal for the '<em><b>Failure Rate</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute QUANTITATIVE_SAFETY_CONSTRAINT__FAILURE_RATE = eINSTANCE.getQuantitativeSafetyConstraint_FailureRate();
+ /**
+ * The meta object literal for the '<em><b>Repair Rate</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute QUANTITATIVE_SAFETY_CONSTRAINT__REPAIR_RATE = eINSTANCE.getQuantitativeSafetyConstraint_RepairRate();
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference QUANTITATIVE_SAFETY_CONSTRAINT__BASE_CLASS = eINSTANCE.getQuantitativeSafetyConstraint_Base_Class();
+ /**
+ * The meta object literal for the '<em><b>Base Constraint</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference QUANTITATIVE_SAFETY_CONSTRAINT__BASE_CONSTRAINT = eINSTANCE.getQuantitativeSafetyConstraint_Base_Constraint();
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.FaultFailureImpl <em>Fault Failure</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.FaultFailureImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl#getFaultFailure()
+ * @generated
+ */
+ EClass FAULT_FAILURE = eINSTANCE.getFaultFailure();
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FAULT_FAILURE__BASE_CLASS = eINSTANCE.getFaultFailure_Base_Class();
+ /**
+ * The meta object literal for the '<em><b>Fault Failure Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FAULT_FAILURE__FAULT_FAILURE_VALUE = eINSTANCE.getFaultFailure_FaultFailureValue();
+ /**
+ * The meta object literal for the '<em><b>Anomaly</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FAULT_FAILURE__ANOMALY = eINSTANCE.getFaultFailure_Anomaly();
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.ASILKind <em>ASIL Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.ASILKind
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl#getASILKind()
+ * @generated
+ */
+ EEnum ASIL_KIND = eINSTANCE.getASILKind();
+
+ }
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "safetyconstraints";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.papyrusuml.org/EAST-ADL2/Dependability/SafetyConstraints/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "SafetyConstraints";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ SafetyconstraintsPackage eINSTANCE = org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl.init();
+
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyConstraintImpl <em>Safety Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl#getSafetyConstraint()
+ * @generated
+ */
+ int SAFETY_CONSTRAINT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.QuantitativeSafetyConstraintImpl <em>Quantitative Safety Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.QuantitativeSafetyConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl#getQuantitativeSafetyConstraint()
+ * @generated
+ */
+ int QUANTITATIVE_SAFETY_CONSTRAINT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.FaultFailureImpl <em>Fault Failure</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.FaultFailureImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl#getFaultFailure()
+ * @generated
+ */
+ int FAULT_FAILURE = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE__BASE_CLASS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Fault Failure Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE__FAULT_FAILURE_VALUE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Anomaly</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE__ANOMALY = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Fault Failure</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAULT_FAILURE_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_CONSTRAINT__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_CONSTRAINT__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_CONSTRAINT__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_CONSTRAINT__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_CONSTRAINT__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Asil Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_CONSTRAINT__ASIL_VALUE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Constrained Fault Failure</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_CONSTRAINT__CONSTRAINED_FAULT_FAILURE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_CONSTRAINT__BASE_CLASS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Base Constraint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_CONSTRAINT__BASE_CONSTRAINT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Safety Constraint</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_CONSTRAINT_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUANTITATIVE_SAFETY_CONSTRAINT__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUANTITATIVE_SAFETY_CONSTRAINT__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUANTITATIVE_SAFETY_CONSTRAINT__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUANTITATIVE_SAFETY_CONSTRAINT__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUANTITATIVE_SAFETY_CONSTRAINT__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Constrained Fault Failure</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUANTITATIVE_SAFETY_CONSTRAINT__CONSTRAINED_FAULT_FAILURE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Failure Rate</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUANTITATIVE_SAFETY_CONSTRAINT__FAILURE_RATE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Repair Rate</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUANTITATIVE_SAFETY_CONSTRAINT__REPAIR_RATE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUANTITATIVE_SAFETY_CONSTRAINT__BASE_CLASS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Base Constraint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUANTITATIVE_SAFETY_CONSTRAINT__BASE_CONSTRAINT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Quantitative Safety Constraint</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUANTITATIVE_SAFETY_CONSTRAINT_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.ASILKind <em>ASIL Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.ASILKind
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl#getASILKind()
+ * @generated
+ */
+ int ASIL_KIND = 3;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.FaultFailure <em>Fault Failure</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Fault Failure</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.FaultFailure
+ * @generated
+ */
+ EClass getFaultFailure();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.FaultFailure#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.eclipse.papyrus.eastadl.dependability.safetyconstraints.FaultFailure#getBase_Class()
+ * @see #getFaultFailure()
+ * @generated
+ */
+ EReference getFaultFailure_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.FaultFailure#getAnomaly <em>Anomaly</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Anomaly</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.FaultFailure#getAnomaly()
+ * @see #getFaultFailure()
+ * @generated
+ */
+ EReference getFaultFailure_Anomaly();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.FaultFailure#getFaultFailureValue <em>Fault Failure Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Fault Failure Value</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.FaultFailure#getFaultFailureValue()
+ * @see #getFaultFailure()
+ * @generated
+ */
+ EAttribute getFaultFailure_FaultFailureValue();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint <em>Quantitative Safety Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Quantitative Safety Constraint</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint
+ * @generated
+ */
+ EClass getQuantitativeSafetyConstraint();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint#getConstrainedFaultFailure <em>Constrained Fault Failure</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Constrained Fault Failure</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint#getConstrainedFaultFailure()
+ * @see #getQuantitativeSafetyConstraint()
+ * @generated
+ */
+ EReference getQuantitativeSafetyConstraint_ConstrainedFaultFailure();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint#getFailureRate <em>Failure Rate</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Failure Rate</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint#getFailureRate()
+ * @see #getQuantitativeSafetyConstraint()
+ * @generated
+ */
+ EAttribute getQuantitativeSafetyConstraint_FailureRate();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint#getRepairRate <em>Repair Rate</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Repair Rate</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint#getRepairRate()
+ * @see #getQuantitativeSafetyConstraint()
+ * @generated
+ */
+ EAttribute getQuantitativeSafetyConstraint_RepairRate();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint#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.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint#getBase_Class()
+ * @see #getQuantitativeSafetyConstraint()
+ * @generated
+ */
+ EReference getQuantitativeSafetyConstraint_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint#getBase_Constraint <em>Base Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Constraint</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint#getBase_Constraint()
+ * @see #getQuantitativeSafetyConstraint()
+ * @generated
+ */
+ EReference getQuantitativeSafetyConstraint_Base_Constraint();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.ASILKind <em>ASIL Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>ASIL Kind</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.ASILKind
+ * @generated
+ */
+ EEnum getASILKind();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyConstraint <em>Safety Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Safety Constraint</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyConstraint
+ * @generated
+ */
+ EClass getSafetyConstraint();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyConstraint#getAsilValue <em>Asil Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Asil Value</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyConstraint#getAsilValue()
+ * @see #getSafetyConstraint()
+ * @generated
+ */
+ EAttribute getSafetyConstraint_AsilValue();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyConstraint#getConstrainedFaultFailure <em>Constrained Fault Failure</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Constrained Fault Failure</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyConstraint#getConstrainedFaultFailure()
+ * @see #getSafetyConstraint()
+ * @generated
+ */
+ EReference getSafetyConstraint_ConstrainedFaultFailure();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyConstraint#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.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyConstraint#getBase_Class()
+ * @see #getSafetyConstraint()
+ * @generated
+ */
+ EReference getSafetyConstraint_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyConstraint#getBase_Constraint <em>Base Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Constraint</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyConstraint#getBase_Constraint()
+ * @see #getSafetyConstraint()
+ * @generated
+ */
+ EReference getSafetyConstraint_Base_Constraint();
+
+ /**
+ * 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
+ */
+ SafetyconstraintsFactory getSafetyconstraintsFactory();
+
+} //SafetyconstraintsPackage
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/impl/FaultFailureImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/impl/FaultFailureImpl.java
new file mode 100644
index 00000000000..f2514ec07e9
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/impl/FaultFailureImpl.java
@@ -0,0 +1,296 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyconstraints.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.eastadl.dependability.errormodel.Anomaly;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.FaultFailure;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Fault Failure</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.FaultFailureImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.FaultFailureImpl#getFaultFailureValue <em>Fault Failure Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.FaultFailureImpl#getAnomaly <em>Anomaly</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FaultFailureImpl extends TraceableSpecificationImpl implements FaultFailure {
+ /**
+ * 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 #getFaultFailureValue() <em>Fault Failure Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFaultFailureValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String FAULT_FAILURE_VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFaultFailureValue() <em>Fault Failure Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFaultFailureValue()
+ * @generated
+ * @ordered
+ */
+ protected String faultFailureValue = FAULT_FAILURE_VALUE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getAnomaly() <em>Anomaly</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAnomaly()
+ * @generated
+ * @ordered
+ */
+ protected Anomaly anomaly;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FaultFailureImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Anomaly basicGetAnomaly() {
+ return anomaly;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SafetyconstraintsPackage.FAULT_FAILURE__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case SafetyconstraintsPackage.FAULT_FAILURE__FAULT_FAILURE_VALUE:
+ return getFaultFailureValue();
+ case SafetyconstraintsPackage.FAULT_FAILURE__ANOMALY:
+ if (resolve) return getAnomaly();
+ return basicGetAnomaly();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SafetyconstraintsPackage.FAULT_FAILURE__BASE_CLASS:
+ return base_Class != null;
+ case SafetyconstraintsPackage.FAULT_FAILURE__FAULT_FAILURE_VALUE:
+ return FAULT_FAILURE_VALUE_EDEFAULT == null ? faultFailureValue != null : !FAULT_FAILURE_VALUE_EDEFAULT.equals(faultFailureValue);
+ case SafetyconstraintsPackage.FAULT_FAILURE__ANOMALY:
+ return anomaly != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SafetyconstraintsPackage.FAULT_FAILURE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case SafetyconstraintsPackage.FAULT_FAILURE__FAULT_FAILURE_VALUE:
+ setFaultFailureValue((String)newValue);
+ return;
+ case SafetyconstraintsPackage.FAULT_FAILURE__ANOMALY:
+ setAnomaly((Anomaly)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SafetyconstraintsPackage.Literals.FAULT_FAILURE;
+ }
+
+ /**
+ * <!-- 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, SafetyconstraintsPackage.FAULT_FAILURE__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, SafetyconstraintsPackage.FAULT_FAILURE__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SafetyconstraintsPackage.FAULT_FAILURE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case SafetyconstraintsPackage.FAULT_FAILURE__FAULT_FAILURE_VALUE:
+ setFaultFailureValue(FAULT_FAILURE_VALUE_EDEFAULT);
+ return;
+ case SafetyconstraintsPackage.FAULT_FAILURE__ANOMALY:
+ setAnomaly((Anomaly)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Anomaly getAnomaly() {
+ if (anomaly != null && anomaly.eIsProxy()) {
+ InternalEObject oldAnomaly = (InternalEObject)anomaly;
+ anomaly = (Anomaly)eResolveProxy(oldAnomaly);
+ if (anomaly != oldAnomaly) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SafetyconstraintsPackage.FAULT_FAILURE__ANOMALY, oldAnomaly, anomaly));
+ }
+ }
+ return anomaly;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getFaultFailureValue() {
+ return faultFailureValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAnomaly(Anomaly newAnomaly) {
+ Anomaly oldAnomaly = anomaly;
+ anomaly = newAnomaly;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SafetyconstraintsPackage.FAULT_FAILURE__ANOMALY, oldAnomaly, anomaly));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFaultFailureValue(String newFaultFailureValue) {
+ String oldFaultFailureValue = faultFailureValue;
+ faultFailureValue = newFaultFailureValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SafetyconstraintsPackage.FAULT_FAILURE__FAULT_FAILURE_VALUE, oldFaultFailureValue, faultFailureValue));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (faultFailureValue: ");
+ result.append(faultFailureValue);
+ result.append(')');
+ return result.toString();
+ }
+
+} //FaultFailureImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/impl/QuantitativeSafetyConstraintImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/impl/QuantitativeSafetyConstraintImpl.java
new file mode 100644
index 00000000000..344972c3bdc
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/impl/QuantitativeSafetyConstraintImpl.java
@@ -0,0 +1,390 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyconstraints.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.eastadl.dependability.safetyconstraints.FaultFailure;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+import org.eclipse.uml2.uml.Constraint;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Quantitative Safety Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.QuantitativeSafetyConstraintImpl#getConstrainedFaultFailure <em>Constrained Fault Failure</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.QuantitativeSafetyConstraintImpl#getFailureRate <em>Failure Rate</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.QuantitativeSafetyConstraintImpl#getRepairRate <em>Repair Rate</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.QuantitativeSafetyConstraintImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.QuantitativeSafetyConstraintImpl#getBase_Constraint <em>Base Constraint</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class QuantitativeSafetyConstraintImpl extends TraceableSpecificationImpl implements QuantitativeSafetyConstraint {
+ /**
+ * The cached value of the '{@link #getConstrainedFaultFailure() <em>Constrained Fault Failure</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConstrainedFaultFailure()
+ * @generated
+ * @ordered
+ */
+ protected EList<FaultFailure> constrainedFaultFailure;
+
+ /**
+ * The default value of the '{@link #getFailureRate() <em>Failure Rate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFailureRate()
+ * @generated
+ * @ordered
+ */
+ protected static final Float FAILURE_RATE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFailureRate() <em>Failure Rate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFailureRate()
+ * @generated
+ * @ordered
+ */
+ protected Float failureRate = FAILURE_RATE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getRepairRate() <em>Repair Rate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRepairRate()
+ * @generated
+ * @ordered
+ */
+ protected static final Float REPAIR_RATE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getRepairRate() <em>Repair Rate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRepairRate()
+ * @generated
+ * @ordered
+ */
+ protected Float repairRate = REPAIR_RATE_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;
+
+ /**
+ * The cached value of the '{@link #getBase_Constraint() <em>Base Constraint</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Constraint()
+ * @generated
+ * @ordered
+ */
+ protected Constraint base_Constraint;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected QuantitativeSafetyConstraintImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SafetyconstraintsPackage.QUANTITATIVE_SAFETY_CONSTRAINT__CONSTRAINED_FAULT_FAILURE:
+ return getConstrainedFaultFailure();
+ case SafetyconstraintsPackage.QUANTITATIVE_SAFETY_CONSTRAINT__FAILURE_RATE:
+ return getFailureRate();
+ case SafetyconstraintsPackage.QUANTITATIVE_SAFETY_CONSTRAINT__REPAIR_RATE:
+ return getRepairRate();
+ case SafetyconstraintsPackage.QUANTITATIVE_SAFETY_CONSTRAINT__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case SafetyconstraintsPackage.QUANTITATIVE_SAFETY_CONSTRAINT__BASE_CONSTRAINT:
+ if (resolve) return getBase_Constraint();
+ return basicGetBase_Constraint();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SafetyconstraintsPackage.QUANTITATIVE_SAFETY_CONSTRAINT__CONSTRAINED_FAULT_FAILURE:
+ return constrainedFaultFailure != null && !constrainedFaultFailure.isEmpty();
+ case SafetyconstraintsPackage.QUANTITATIVE_SAFETY_CONSTRAINT__FAILURE_RATE:
+ return FAILURE_RATE_EDEFAULT == null ? failureRate != null : !FAILURE_RATE_EDEFAULT.equals(failureRate);
+ case SafetyconstraintsPackage.QUANTITATIVE_SAFETY_CONSTRAINT__REPAIR_RATE:
+ return REPAIR_RATE_EDEFAULT == null ? repairRate != null : !REPAIR_RATE_EDEFAULT.equals(repairRate);
+ case SafetyconstraintsPackage.QUANTITATIVE_SAFETY_CONSTRAINT__BASE_CLASS:
+ return base_Class != null;
+ case SafetyconstraintsPackage.QUANTITATIVE_SAFETY_CONSTRAINT__BASE_CONSTRAINT:
+ return base_Constraint != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SafetyconstraintsPackage.QUANTITATIVE_SAFETY_CONSTRAINT__CONSTRAINED_FAULT_FAILURE:
+ getConstrainedFaultFailure().clear();
+ getConstrainedFaultFailure().addAll((Collection<? extends FaultFailure>)newValue);
+ return;
+ case SafetyconstraintsPackage.QUANTITATIVE_SAFETY_CONSTRAINT__FAILURE_RATE:
+ setFailureRate((Float)newValue);
+ return;
+ case SafetyconstraintsPackage.QUANTITATIVE_SAFETY_CONSTRAINT__REPAIR_RATE:
+ setRepairRate((Float)newValue);
+ return;
+ case SafetyconstraintsPackage.QUANTITATIVE_SAFETY_CONSTRAINT__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case SafetyconstraintsPackage.QUANTITATIVE_SAFETY_CONSTRAINT__BASE_CONSTRAINT:
+ setBase_Constraint((Constraint)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SafetyconstraintsPackage.Literals.QUANTITATIVE_SAFETY_CONSTRAINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SafetyconstraintsPackage.QUANTITATIVE_SAFETY_CONSTRAINT__CONSTRAINED_FAULT_FAILURE:
+ getConstrainedFaultFailure().clear();
+ return;
+ case SafetyconstraintsPackage.QUANTITATIVE_SAFETY_CONSTRAINT__FAILURE_RATE:
+ setFailureRate(FAILURE_RATE_EDEFAULT);
+ return;
+ case SafetyconstraintsPackage.QUANTITATIVE_SAFETY_CONSTRAINT__REPAIR_RATE:
+ setRepairRate(REPAIR_RATE_EDEFAULT);
+ return;
+ case SafetyconstraintsPackage.QUANTITATIVE_SAFETY_CONSTRAINT__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case SafetyconstraintsPackage.QUANTITATIVE_SAFETY_CONSTRAINT__BASE_CONSTRAINT:
+ setBase_Constraint((Constraint)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FaultFailure> getConstrainedFaultFailure() {
+ if (constrainedFaultFailure == null) {
+ constrainedFaultFailure = new EObjectResolvingEList<FaultFailure>(FaultFailure.class, this, SafetyconstraintsPackage.QUANTITATIVE_SAFETY_CONSTRAINT__CONSTRAINED_FAULT_FAILURE);
+ }
+ return constrainedFaultFailure;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Float getFailureRate() {
+ return failureRate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Float getRepairRate() {
+ return repairRate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFailureRate(Float newFailureRate) {
+ Float oldFailureRate = failureRate;
+ failureRate = newFailureRate;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SafetyconstraintsPackage.QUANTITATIVE_SAFETY_CONSTRAINT__FAILURE_RATE, oldFailureRate, failureRate));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRepairRate(Float newRepairRate) {
+ Float oldRepairRate = repairRate;
+ repairRate = newRepairRate;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SafetyconstraintsPackage.QUANTITATIVE_SAFETY_CONSTRAINT__REPAIR_RATE, oldRepairRate, repairRate));
+ }
+
+ /**
+ * <!-- 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, SafetyconstraintsPackage.QUANTITATIVE_SAFETY_CONSTRAINT__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, SafetyconstraintsPackage.QUANTITATIVE_SAFETY_CONSTRAINT__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getBase_Constraint() {
+ if (base_Constraint != null && base_Constraint.eIsProxy()) {
+ InternalEObject oldBase_Constraint = (InternalEObject)base_Constraint;
+ base_Constraint = (Constraint)eResolveProxy(oldBase_Constraint);
+ if (base_Constraint != oldBase_Constraint) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SafetyconstraintsPackage.QUANTITATIVE_SAFETY_CONSTRAINT__BASE_CONSTRAINT, oldBase_Constraint, base_Constraint));
+ }
+ }
+ return base_Constraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint basicGetBase_Constraint() {
+ return base_Constraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Constraint(Constraint newBase_Constraint) {
+ Constraint oldBase_Constraint = base_Constraint;
+ base_Constraint = newBase_Constraint;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SafetyconstraintsPackage.QUANTITATIVE_SAFETY_CONSTRAINT__BASE_CONSTRAINT, oldBase_Constraint, base_Constraint));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (failureRate: ");
+ result.append(failureRate);
+ result.append(", repairRate: ");
+ result.append(repairRate);
+ result.append(')');
+ return result.toString();
+ }
+
+} //QuantitativeSafetyConstraintImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/impl/SafetyConstraintImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/impl/SafetyConstraintImpl.java
new file mode 100644
index 00000000000..266980b568a
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/impl/SafetyConstraintImpl.java
@@ -0,0 +1,337 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyconstraints.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.eastadl.dependability.safetyconstraints.ASILKind;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.FaultFailure;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyConstraint;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+import org.eclipse.uml2.uml.Constraint;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Safety Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyConstraintImpl#getAsilValue <em>Asil Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyConstraintImpl#getConstrainedFaultFailure <em>Constrained Fault Failure</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyConstraintImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyConstraintImpl#getBase_Constraint <em>Base Constraint</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SafetyConstraintImpl extends TraceableSpecificationImpl implements SafetyConstraint {
+ /**
+ * The default value of the '{@link #getAsilValue() <em>Asil Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAsilValue()
+ * @generated
+ * @ordered
+ */
+ protected static final ASILKind ASIL_VALUE_EDEFAULT = ASILKind.ASIL_A;
+
+ /**
+ * The cached value of the '{@link #getAsilValue() <em>Asil Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAsilValue()
+ * @generated
+ * @ordered
+ */
+ protected ASILKind asilValue = ASIL_VALUE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getConstrainedFaultFailure() <em>Constrained Fault Failure</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConstrainedFaultFailure()
+ * @generated
+ * @ordered
+ */
+ protected EList<FaultFailure> constrainedFaultFailure;
+
+ /**
+ * 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 cached value of the '{@link #getBase_Constraint() <em>Base Constraint</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Constraint()
+ * @generated
+ * @ordered
+ */
+ protected Constraint base_Constraint;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SafetyConstraintImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SafetyconstraintsPackage.SAFETY_CONSTRAINT__ASIL_VALUE:
+ return getAsilValue();
+ case SafetyconstraintsPackage.SAFETY_CONSTRAINT__CONSTRAINED_FAULT_FAILURE:
+ return getConstrainedFaultFailure();
+ case SafetyconstraintsPackage.SAFETY_CONSTRAINT__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case SafetyconstraintsPackage.SAFETY_CONSTRAINT__BASE_CONSTRAINT:
+ if (resolve) return getBase_Constraint();
+ return basicGetBase_Constraint();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SafetyconstraintsPackage.SAFETY_CONSTRAINT__ASIL_VALUE:
+ return asilValue != ASIL_VALUE_EDEFAULT;
+ case SafetyconstraintsPackage.SAFETY_CONSTRAINT__CONSTRAINED_FAULT_FAILURE:
+ return constrainedFaultFailure != null && !constrainedFaultFailure.isEmpty();
+ case SafetyconstraintsPackage.SAFETY_CONSTRAINT__BASE_CLASS:
+ return base_Class != null;
+ case SafetyconstraintsPackage.SAFETY_CONSTRAINT__BASE_CONSTRAINT:
+ return base_Constraint != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SafetyconstraintsPackage.SAFETY_CONSTRAINT__ASIL_VALUE:
+ setAsilValue((ASILKind)newValue);
+ return;
+ case SafetyconstraintsPackage.SAFETY_CONSTRAINT__CONSTRAINED_FAULT_FAILURE:
+ getConstrainedFaultFailure().clear();
+ getConstrainedFaultFailure().addAll((Collection<? extends FaultFailure>)newValue);
+ return;
+ case SafetyconstraintsPackage.SAFETY_CONSTRAINT__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case SafetyconstraintsPackage.SAFETY_CONSTRAINT__BASE_CONSTRAINT:
+ setBase_Constraint((Constraint)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SafetyconstraintsPackage.Literals.SAFETY_CONSTRAINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SafetyconstraintsPackage.SAFETY_CONSTRAINT__ASIL_VALUE:
+ setAsilValue(ASIL_VALUE_EDEFAULT);
+ return;
+ case SafetyconstraintsPackage.SAFETY_CONSTRAINT__CONSTRAINED_FAULT_FAILURE:
+ getConstrainedFaultFailure().clear();
+ return;
+ case SafetyconstraintsPackage.SAFETY_CONSTRAINT__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case SafetyconstraintsPackage.SAFETY_CONSTRAINT__BASE_CONSTRAINT:
+ setBase_Constraint((Constraint)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ASILKind getAsilValue() {
+ return asilValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAsilValue(ASILKind newAsilValue) {
+ ASILKind oldAsilValue = asilValue;
+ asilValue = newAsilValue == null ? ASIL_VALUE_EDEFAULT : newAsilValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SafetyconstraintsPackage.SAFETY_CONSTRAINT__ASIL_VALUE, oldAsilValue, asilValue));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FaultFailure> getConstrainedFaultFailure() {
+ if (constrainedFaultFailure == null) {
+ constrainedFaultFailure = new EObjectResolvingEList<FaultFailure>(FaultFailure.class, this, SafetyconstraintsPackage.SAFETY_CONSTRAINT__CONSTRAINED_FAULT_FAILURE);
+ }
+ return constrainedFaultFailure;
+ }
+
+ /**
+ * <!-- 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, SafetyconstraintsPackage.SAFETY_CONSTRAINT__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, SafetyconstraintsPackage.SAFETY_CONSTRAINT__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getBase_Constraint() {
+ if (base_Constraint != null && base_Constraint.eIsProxy()) {
+ InternalEObject oldBase_Constraint = (InternalEObject)base_Constraint;
+ base_Constraint = (Constraint)eResolveProxy(oldBase_Constraint);
+ if (base_Constraint != oldBase_Constraint) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SafetyconstraintsPackage.SAFETY_CONSTRAINT__BASE_CONSTRAINT, oldBase_Constraint, base_Constraint));
+ }
+ }
+ return base_Constraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint basicGetBase_Constraint() {
+ return base_Constraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Constraint(Constraint newBase_Constraint) {
+ Constraint oldBase_Constraint = base_Constraint;
+ base_Constraint = newBase_Constraint;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SafetyconstraintsPackage.SAFETY_CONSTRAINT__BASE_CONSTRAINT, oldBase_Constraint, base_Constraint));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (asilValue: ");
+ result.append(asilValue);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SafetyConstraintImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/impl/SafetyconstraintsFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/impl/SafetyconstraintsFactoryImpl.java
new file mode 100644
index 00000000000..e489b1f47ea
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/impl/SafetyconstraintsFactoryImpl.java
@@ -0,0 +1,184 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyconstraints.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.eclipse.papyrus.eastadl.dependability.safetyconstraints.ASILKind;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.FaultFailure;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyConstraint;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsFactory;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SafetyconstraintsFactoryImpl extends EFactoryImpl implements SafetyconstraintsFactory {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static SafetyconstraintsPackage getPackage() {
+ return SafetyconstraintsPackage.eINSTANCE;
+ }
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static SafetyconstraintsFactory init() {
+ try {
+ SafetyconstraintsFactory theSafetyconstraintsFactory = (SafetyconstraintsFactory)EPackage.Registry.INSTANCE.getEFactory(SafetyconstraintsPackage.eNS_URI);
+ if (theSafetyconstraintsFactory != null) {
+ return theSafetyconstraintsFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new SafetyconstraintsFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SafetyconstraintsFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case SafetyconstraintsPackage.ASIL_KIND:
+ return convertASILKindToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case SafetyconstraintsPackage.FAULT_FAILURE: return createFaultFailure();
+ case SafetyconstraintsPackage.SAFETY_CONSTRAINT: return createSafetyConstraint();
+ case SafetyconstraintsPackage.QUANTITATIVE_SAFETY_CONSTRAINT: return createQuantitativeSafetyConstraint();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FaultFailure createFaultFailure() {
+ FaultFailureImpl faultFailure = new FaultFailureImpl();
+ return faultFailure;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case SafetyconstraintsPackage.ASIL_KIND:
+ return createASILKindFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QuantitativeSafetyConstraint createQuantitativeSafetyConstraint() {
+ QuantitativeSafetyConstraintImpl quantitativeSafetyConstraint = new QuantitativeSafetyConstraintImpl();
+ return quantitativeSafetyConstraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ASILKind createASILKindFromString(EDataType eDataType, String initialValue) {
+ ASILKind result = ASILKind.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 convertASILKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SafetyConstraint createSafetyConstraint() {
+ SafetyConstraintImpl safetyConstraint = new SafetyConstraintImpl();
+ return safetyConstraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SafetyconstraintsPackage getSafetyconstraintsPackage() {
+ return (SafetyconstraintsPackage)getEPackage();
+ }
+
+} //SafetyconstraintsFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/impl/SafetyconstraintsPackageImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/impl/SafetyconstraintsPackageImpl.java
new file mode 100644
index 00000000000..5186fef765f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/impl/SafetyconstraintsPackageImpl.java
@@ -0,0 +1,531 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyconstraints.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.eastadl.EastadlPackage;
+import org.eclipse.papyrus.eastadl.annex.AnnexPackage;
+import org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.ASILKind;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.FaultFailure;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyConstraint;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsFactory;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.StructurePackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SafetyconstraintsPackageImpl extends EPackageImpl implements SafetyconstraintsPackage {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass safetyConstraintEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass quantitativeSafetyConstraintEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass faultFailureEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum asilKindEEnum = null;
+
+ /**
+ * <!-- 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 SafetyconstraintsPackage#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 SafetyconstraintsPackage init() {
+ if (isInited) return (SafetyconstraintsPackage)EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI);
+
+ // Obtain or create and register package
+ SafetyconstraintsPackageImpl theSafetyconstraintsPackage = (SafetyconstraintsPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof SafetyconstraintsPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new SafetyconstraintsPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ SysmlPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EastadlPackageImpl theEastadlPackage = (EastadlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) instanceof EastadlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) : EastadlPackage.eINSTANCE);
+ VariabilityPackageImpl theVariabilityPackage = (VariabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) instanceof VariabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) : VariabilityPackage.eINSTANCE);
+ InfrastructurePackageImpl theInfrastructurePackage = (InfrastructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) instanceof InfrastructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) : InfrastructurePackage.eINSTANCE);
+ DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) instanceof DatatypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) : DatatypesPackage.eINSTANCE);
+ UserattributesPackageImpl theUserattributesPackage = (UserattributesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) instanceof UserattributesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) : UserattributesPackage.eINSTANCE);
+ ElementsPackageImpl theElementsPackage = (ElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) instanceof ElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) : ElementsPackage.eINSTANCE);
+ StructurePackageImpl theStructurePackage = (StructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) instanceof StructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) : StructurePackage.eINSTANCE);
+ FunctionmodelingPackageImpl theFunctionmodelingPackage = (FunctionmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) instanceof FunctionmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) : FunctionmodelingPackage.eINSTANCE);
+ HardwaremodelingPackageImpl theHardwaremodelingPackage = (HardwaremodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) instanceof HardwaremodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) : HardwaremodelingPackage.eINSTANCE);
+ SystemmodelingPackageImpl theSystemmodelingPackage = (SystemmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) instanceof SystemmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) : SystemmodelingPackage.eINSTANCE);
+ VehiclefeaturemodelingPackageImpl theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) instanceof VehiclefeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) : VehiclefeaturemodelingPackage.eINSTANCE);
+ FeaturemodelingPackageImpl theFeaturemodelingPackage = (FeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) instanceof FeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) : FeaturemodelingPackage.eINSTANCE);
+ BehaviorPackageImpl theBehaviorPackage = (BehaviorPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) instanceof BehaviorPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) : BehaviorPackage.eINSTANCE);
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) : RequirementsPackage.eINSTANCE);
+ VerificationvalidationPackageImpl theVerificationvalidationPackage = (VerificationvalidationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) instanceof VerificationvalidationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) : VerificationvalidationPackage.eINSTANCE);
+ TimingPackageImpl theTimingPackage = (TimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) instanceof TimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) : TimingPackage.eINSTANCE);
+ TimingconstraintsPackageImpl theTimingconstraintsPackage = (TimingconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) instanceof TimingconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) : TimingconstraintsPackage.eINSTANCE);
+ EventsPackageImpl theEventsPackage = (EventsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+ InterchangePackageImpl theInterchangePackage = (InterchangePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) instanceof InterchangePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) : InterchangePackage.eINSTANCE);
+ EnvironmentPackageImpl theEnvironmentPackage = (EnvironmentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) instanceof EnvironmentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) : EnvironmentPackage.eINSTANCE);
+ DependabilityPackageImpl theDependabilityPackage = (DependabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) instanceof DependabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) : DependabilityPackage.eINSTANCE);
+ ErrormodelPackageImpl theErrormodelPackage = (ErrormodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) instanceof ErrormodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) : ErrormodelPackage.eINSTANCE);
+ SafetyrequirementPackageImpl theSafetyrequirementPackage = (SafetyrequirementPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) instanceof SafetyrequirementPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) : SafetyrequirementPackage.eINSTANCE);
+ SafetycasePackageImpl theSafetycasePackage = (SafetycasePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) instanceof SafetycasePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) : SafetycasePackage.eINSTANCE);
+ AnnexPackageImpl theAnnexPackage = (AnnexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) instanceof AnnexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) : AnnexPackage.eINSTANCE);
+ NeedsPackageImpl theNeedsPackage = (NeedsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) instanceof NeedsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) : NeedsPackage.eINSTANCE);
+ GenericconstraintsPackageImpl theGenericconstraintsPackage = (GenericconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) instanceof GenericconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) : GenericconstraintsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theSafetyconstraintsPackage.createPackageContents();
+ theEastadlPackage.createPackageContents();
+ theVariabilityPackage.createPackageContents();
+ theInfrastructurePackage.createPackageContents();
+ theDatatypesPackage.createPackageContents();
+ theUserattributesPackage.createPackageContents();
+ theElementsPackage.createPackageContents();
+ theStructurePackage.createPackageContents();
+ theFunctionmodelingPackage.createPackageContents();
+ theHardwaremodelingPackage.createPackageContents();
+ theSystemmodelingPackage.createPackageContents();
+ theVehiclefeaturemodelingPackage.createPackageContents();
+ theFeaturemodelingPackage.createPackageContents();
+ theBehaviorPackage.createPackageContents();
+ theRequirementsPackage.createPackageContents();
+ theVerificationvalidationPackage.createPackageContents();
+ theTimingPackage.createPackageContents();
+ theTimingconstraintsPackage.createPackageContents();
+ theEventsPackage.createPackageContents();
+ theInterchangePackage.createPackageContents();
+ theEnvironmentPackage.createPackageContents();
+ theDependabilityPackage.createPackageContents();
+ theErrormodelPackage.createPackageContents();
+ theSafetyrequirementPackage.createPackageContents();
+ theSafetycasePackage.createPackageContents();
+ theAnnexPackage.createPackageContents();
+ theNeedsPackage.createPackageContents();
+ theGenericconstraintsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theSafetyconstraintsPackage.initializePackageContents();
+ theEastadlPackage.initializePackageContents();
+ theVariabilityPackage.initializePackageContents();
+ theInfrastructurePackage.initializePackageContents();
+ theDatatypesPackage.initializePackageContents();
+ theUserattributesPackage.initializePackageContents();
+ theElementsPackage.initializePackageContents();
+ theStructurePackage.initializePackageContents();
+ theFunctionmodelingPackage.initializePackageContents();
+ theHardwaremodelingPackage.initializePackageContents();
+ theSystemmodelingPackage.initializePackageContents();
+ theVehiclefeaturemodelingPackage.initializePackageContents();
+ theFeaturemodelingPackage.initializePackageContents();
+ theBehaviorPackage.initializePackageContents();
+ theRequirementsPackage.initializePackageContents();
+ theVerificationvalidationPackage.initializePackageContents();
+ theTimingPackage.initializePackageContents();
+ theTimingconstraintsPackage.initializePackageContents();
+ theEventsPackage.initializePackageContents();
+ theInterchangePackage.initializePackageContents();
+ theEnvironmentPackage.initializePackageContents();
+ theDependabilityPackage.initializePackageContents();
+ theErrormodelPackage.initializePackageContents();
+ theSafetyrequirementPackage.initializePackageContents();
+ theSafetycasePackage.initializePackageContents();
+ theAnnexPackage.initializePackageContents();
+ theNeedsPackage.initializePackageContents();
+ theGenericconstraintsPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theSafetyconstraintsPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(SafetyconstraintsPackage.eNS_URI, theSafetyconstraintsPackage);
+ return theSafetyconstraintsPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * 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.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private SafetyconstraintsPackageImpl() {
+ super(eNS_URI, SafetyconstraintsFactory.eINSTANCE);
+ }
+
+ /**
+ * 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
+ faultFailureEClass = createEClass(FAULT_FAILURE);
+ createEReference(faultFailureEClass, FAULT_FAILURE__BASE_CLASS);
+ createEAttribute(faultFailureEClass, FAULT_FAILURE__FAULT_FAILURE_VALUE);
+ createEReference(faultFailureEClass, FAULT_FAILURE__ANOMALY);
+
+ safetyConstraintEClass = createEClass(SAFETY_CONSTRAINT);
+ createEAttribute(safetyConstraintEClass, SAFETY_CONSTRAINT__ASIL_VALUE);
+ createEReference(safetyConstraintEClass, SAFETY_CONSTRAINT__CONSTRAINED_FAULT_FAILURE);
+ createEReference(safetyConstraintEClass, SAFETY_CONSTRAINT__BASE_CLASS);
+ createEReference(safetyConstraintEClass, SAFETY_CONSTRAINT__BASE_CONSTRAINT);
+
+ quantitativeSafetyConstraintEClass = createEClass(QUANTITATIVE_SAFETY_CONSTRAINT);
+ createEReference(quantitativeSafetyConstraintEClass, QUANTITATIVE_SAFETY_CONSTRAINT__CONSTRAINED_FAULT_FAILURE);
+ createEAttribute(quantitativeSafetyConstraintEClass, QUANTITATIVE_SAFETY_CONSTRAINT__FAILURE_RATE);
+ createEAttribute(quantitativeSafetyConstraintEClass, QUANTITATIVE_SAFETY_CONSTRAINT__REPAIR_RATE);
+ createEReference(quantitativeSafetyConstraintEClass, QUANTITATIVE_SAFETY_CONSTRAINT__BASE_CLASS);
+ createEReference(quantitativeSafetyConstraintEClass, QUANTITATIVE_SAFETY_CONSTRAINT__BASE_CONSTRAINT);
+
+ // Create enums
+ asilKindEEnum = createEEnum(ASIL_KIND);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFaultFailure() {
+ return faultFailureEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFaultFailure_Base_Class() {
+ return (EReference)faultFailureEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFaultFailure_Anomaly() {
+ return (EReference)faultFailureEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFaultFailure_FaultFailureValue() {
+ return (EAttribute)faultFailureEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getQuantitativeSafetyConstraint() {
+ return quantitativeSafetyConstraintEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getQuantitativeSafetyConstraint_ConstrainedFaultFailure() {
+ return (EReference)quantitativeSafetyConstraintEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getQuantitativeSafetyConstraint_FailureRate() {
+ return (EAttribute)quantitativeSafetyConstraintEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getQuantitativeSafetyConstraint_RepairRate() {
+ return (EAttribute)quantitativeSafetyConstraintEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getQuantitativeSafetyConstraint_Base_Class() {
+ return (EReference)quantitativeSafetyConstraintEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getQuantitativeSafetyConstraint_Base_Constraint() {
+ return (EReference)quantitativeSafetyConstraintEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getASILKind() {
+ return asilKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSafetyConstraint() {
+ return safetyConstraintEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSafetyConstraint_AsilValue() {
+ return (EAttribute)safetyConstraintEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSafetyConstraint_ConstrainedFaultFailure() {
+ return (EReference)safetyConstraintEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSafetyConstraint_Base_Class() {
+ return (EReference)safetyConstraintEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSafetyConstraint_Base_Constraint() {
+ return (EReference)safetyConstraintEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SafetyconstraintsFactory getSafetyconstraintsFactory() {
+ return (SafetyconstraintsFactory)getEFactoryInstance();
+ }
+
+ /**
+ * 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
+ ElementsPackage theElementsPackage = (ElementsPackage)EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI);
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+ TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+ ErrormodelPackage theErrormodelPackage = (ErrormodelPackage)EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI);
+ DatatypesPackage theDatatypesPackage = (DatatypesPackage)EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ faultFailureEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+ safetyConstraintEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+ quantitativeSafetyConstraintEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(faultFailureEClass, FaultFailure.class, "FaultFailure", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getFaultFailure_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, FaultFailure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getFaultFailure_FaultFailureValue(), theTypesPackage.getString(), "faultFailureValue", null, 1, 1, FaultFailure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFaultFailure_Anomaly(), theErrormodelPackage.getAnomaly(), null, "anomaly", null, 0, 1, FaultFailure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(safetyConstraintEClass, SafetyConstraint.class, "SafetyConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSafetyConstraint_AsilValue(), this.getASILKind(), "asilValue", null, 1, 1, SafetyConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSafetyConstraint_ConstrainedFaultFailure(), this.getFaultFailure(), null, "constrainedFaultFailure", null, 1, -1, SafetyConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSafetyConstraint_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, SafetyConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSafetyConstraint_Base_Constraint(), theUMLPackage.getConstraint(), null, "base_Constraint", null, 0, 1, SafetyConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(quantitativeSafetyConstraintEClass, QuantitativeSafetyConstraint.class, "QuantitativeSafetyConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getQuantitativeSafetyConstraint_ConstrainedFaultFailure(), this.getFaultFailure(), null, "constrainedFaultFailure", null, 1, -1, QuantitativeSafetyConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getQuantitativeSafetyConstraint_FailureRate(), theDatatypesPackage.getjavalangFloat(), "failureRate", null, 1, 1, QuantitativeSafetyConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getQuantitativeSafetyConstraint_RepairRate(), theDatatypesPackage.getjavalangFloat(), "repairRate", null, 1, 1, QuantitativeSafetyConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getQuantitativeSafetyConstraint_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, QuantitativeSafetyConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getQuantitativeSafetyConstraint_Base_Constraint(), theUMLPackage.getConstraint(), null, "base_Constraint", null, 0, 1, QuantitativeSafetyConstraint.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(asilKindEEnum, ASILKind.class, "ASILKind");
+ addEEnumLiteral(asilKindEEnum, ASILKind.ASIL_A);
+ addEEnumLiteral(asilKindEEnum, ASILKind.ASIL_D);
+ addEEnumLiteral(asilKindEEnum, ASILKind.ASIL_C);
+ addEEnumLiteral(asilKindEEnum, ASILKind.ASIL_B);
+ addEEnumLiteral(asilKindEEnum, ASILKind.QM);
+ }
+
+} //SafetyconstraintsPackageImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/util/SafetyconstraintsAdapterFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/util/SafetyconstraintsAdapterFactory.java
new file mode 100644
index 00000000000..05829153ad6
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/util/SafetyconstraintsAdapterFactory.java
@@ -0,0 +1,226 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyconstraints.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.eastadl.dependability.safetyconstraints.FaultFailure;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyConstraint;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage
+ * @generated
+ */
+public class SafetyconstraintsAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static SafetyconstraintsPackage modelPackage;
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SafetyconstraintsSwitch<Adapter> modelSwitch =
+ new SafetyconstraintsSwitch<Adapter>() {
+ @Override
+ public Adapter caseFaultFailure(FaultFailure object) {
+ return createFaultFailureAdapter();
+ }
+ @Override
+ public Adapter caseSafetyConstraint(SafetyConstraint object) {
+ return createSafetyConstraintAdapter();
+ }
+ @Override
+ public Adapter caseQuantitativeSafetyConstraint(QuantitativeSafetyConstraint object) {
+ return createQuantitativeSafetyConstraintAdapter();
+ }
+ @Override
+ public Adapter caseEAElement(EAElement object) {
+ return createEAElementAdapter();
+ }
+ @Override
+ public Adapter caseEAPackageableElement(EAPackageableElement object) {
+ return createEAPackageableElementAdapter();
+ }
+ @Override
+ public Adapter caseTraceableSpecification(TraceableSpecification object) {
+ return createTraceableSpecificationAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SafetyconstraintsAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = SafetyconstraintsPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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 the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.FaultFailure <em>Fault 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.eclipse.papyrus.eastadl.dependability.safetyconstraints.FaultFailure
+ * @generated
+ */
+ public Adapter createFaultFailureAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint <em>Quantitative Safety 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.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint
+ * @generated
+ */
+ public Adapter createQuantitativeSafetyConstraintAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement <em>EA Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAElement
+ * @generated
+ */
+ public Adapter createEAElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement <em>EA Packageable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAPackageableElement
+ * @generated
+ */
+ public Adapter createEAPackageableElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyConstraint <em>Safety 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.eastadl.dependability.safetyconstraints.SafetyConstraint
+ * @generated
+ */
+ public Adapter createSafetyConstraintAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification <em>Traceable 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.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification
+ * @generated
+ */
+ public Adapter createTraceableSpecificationAdapter() {
+ return null;
+ }
+
+ /**
+ * 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;
+ }
+
+} //SafetyconstraintsAdapterFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/util/SafetyconstraintsResourceFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/util/SafetyconstraintsResourceFactoryImpl.java
new file mode 100644
index 00000000000..f4fd52038e8
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/util/SafetyconstraintsResourceFactoryImpl.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyconstraints.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.eclipse.papyrus.eastadl.dependability.safetyconstraints.util.SafetyconstraintsResourceImpl
+ * @generated
+ */
+public class SafetyconstraintsResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SafetyconstraintsResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new SafetyconstraintsResourceImpl(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;
+ }
+
+} //SafetyconstraintsResourceFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/util/SafetyconstraintsResourceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/util/SafetyconstraintsResourceImpl.java
new file mode 100644
index 00000000000..e1d38eaf311
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/util/SafetyconstraintsResourceImpl.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyconstraints.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.eclipse.papyrus.eastadl.dependability.safetyconstraints.util.SafetyconstraintsResourceFactoryImpl
+ * @generated
+ */
+public class SafetyconstraintsResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public SafetyconstraintsResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //SafetyconstraintsResourceImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/util/SafetyconstraintsSwitch.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/util/SafetyconstraintsSwitch.java
new file mode 100644
index 00000000000..e7625a98bbe
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/util/SafetyconstraintsSwitch.java
@@ -0,0 +1,224 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyconstraints.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.FaultFailure;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.QuantitativeSafetyConstraint;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyConstraint;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage
+ * @generated
+ */
+public class SafetyconstraintsSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static SafetyconstraintsPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SafetyconstraintsSwitch() {
+ if (modelPackage == null) {
+ modelPackage = SafetyconstraintsPackage.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;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fault 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>Fault Failure</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFaultFailure(FaultFailure object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Quantitative Safety 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>Quantitative Safety Constraint</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseQuantitativeSafetyConstraint(QuantitativeSafetyConstraint object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAElement(EAElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Packageable Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Packageable Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAPackageableElement(EAPackageableElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Safety 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>Safety Constraint</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSafetyConstraint(SafetyConstraint object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Traceable 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>Traceable Specification</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTraceableSpecification(TraceableSpecification 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;
+ }
+
+ /**
+ * 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 SafetyconstraintsPackage.FAULT_FAILURE: {
+ FaultFailure faultFailure = (FaultFailure)theEObject;
+ T result = caseFaultFailure(faultFailure);
+ if (result == null) result = caseTraceableSpecification(faultFailure);
+ if (result == null) result = caseEAPackageableElement(faultFailure);
+ if (result == null) result = caseEAElement(faultFailure);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SafetyconstraintsPackage.SAFETY_CONSTRAINT: {
+ SafetyConstraint safetyConstraint = (SafetyConstraint)theEObject;
+ T result = caseSafetyConstraint(safetyConstraint);
+ if (result == null) result = caseTraceableSpecification(safetyConstraint);
+ if (result == null) result = caseEAPackageableElement(safetyConstraint);
+ if (result == null) result = caseEAElement(safetyConstraint);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SafetyconstraintsPackage.QUANTITATIVE_SAFETY_CONSTRAINT: {
+ QuantitativeSafetyConstraint quantitativeSafetyConstraint = (QuantitativeSafetyConstraint)theEObject;
+ T result = caseQuantitativeSafetyConstraint(quantitativeSafetyConstraint);
+ if (result == null) result = caseTraceableSpecification(quantitativeSafetyConstraint);
+ if (result == null) result = caseEAPackageableElement(quantitativeSafetyConstraint);
+ if (result == null) result = caseEAElement(quantitativeSafetyConstraint);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+} //SafetyconstraintsSwitch
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/util/SafetyconstraintsXMLProcessor.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/util/SafetyconstraintsXMLProcessor.java
new file mode 100644
index 00000000000..e2c4da8ceea
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyconstraints/util/SafetyconstraintsXMLProcessor.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyconstraints.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.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SafetyconstraintsXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SafetyconstraintsXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ SafetyconstraintsPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the SafetyconstraintsResourceFactoryImpl 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 SafetyconstraintsResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new SafetyconstraintsResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //SafetyconstraintsXMLProcessor
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/FunctionalSafetyConcept.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/FunctionalSafetyConcept.java
new file mode 100644
index 00000000000..f44b2ab0b41
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/FunctionalSafetyConcept.java
@@ -0,0 +1,68 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyrequirement;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.requirements.Requirement;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsContainer;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Functional Safety Concept</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * FunctionalSafetyConcept represents the set of functional safety requirements that together fulfils a SafetyGoal in accordance with ISO 26262.
+ *
+ * To comply with the SafetyGoals, the FunctionalSafetyConcept specifies the basic safety mechanisms and safety measures in the form of functional safety requirements.
+ *
+ * Constraints:
+ * [1] Contained functionalSafetyRequirements shall not be of type SafetyGoal.
+ *
+ * Semantics:
+ * The collection of requirements in the FunctionalSafetyConcept defines the requirements necessary to make the Item safe. The requirements are abstract and do not specify technical details.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.FunctionalSafetyConcept#getFunctionalSafetyRequirement <em>Functional Safety Requirement</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage#getFunctionalSafetyConcept()
+ * @model
+ * @generated
+ */
+public interface FunctionalSafetyConcept extends RequirementsContainer {
+ /**
+ * Returns the value of the '<em><b>Functional Safety Requirement</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.Requirement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Functional Safety Requirement</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>Functional Safety Requirement</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage#getFunctionalSafetyConcept_FunctionalSafetyRequirement()
+ * @model
+ * @generated
+ */
+ EList<Requirement> getFunctionalSafetyRequirement();
+
+} // FunctionalSafetyConcept
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/SafetyGoal.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/SafetyGoal.java
new file mode 100644
index 00000000000..7899e04cbd4
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/SafetyGoal.java
@@ -0,0 +1,193 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyrequirement;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.behavior.Mode;
+import org.eclipse.papyrus.eastadl.dependability.HazardousEvent;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.ASILKind;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.requirements.Requirement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Safety Goal</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * SafetyGoal represents the top-level safety requirement defined in ISO26262. Its purpose is to define how to avoid its associated HazardousEvents, or reduce the risk associated with the hazardous event to an acceptable level.
+ * The SafetyGoal is defined through one or several associated requirement elements.
+ * An ASIL shall be assigned to each SafetyGoal, to represent the integrity level at which the SafetyGoal must be met.
+ * Similar SafetyGoals can be combined into one SafetyGoal. If different ASILs are assigned to similar SafetyGoals, the highest ASIL shall be assigned to the combined SafetyGoal.
+ * For every SafetyGoal, a safe state should be defined, either textually or by referencing a specific mode. The safe state is a system state to be maintained or to be reached when a potential source of its hazardous event is detected.
+ *
+ * Semantics:
+ * SafetyGoal represents a safety Goal according to ISO26262. Requirements define the SafetyGoal and HazardousEvents identify the responsibility of each SafetyGoal. hazardClassification defines the integrity classification of the SafetyGoal and safeStates may be defined by a string or formalized through associated Modes.
+ *
+ * Notation:
+ * SafetyGoal is a box with text SafetyGoal at the top left.
+ *
+ * Extension:
+ * Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal#getDerivedFrom <em>Derived From</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal#getSafeStates <em>Safe States</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal#getRequirement <em>Requirement</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal#getHazardClassification <em>Hazard Classification</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal#getSafeModes <em>Safe Modes</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage#getSafetyGoal()
+ * @model
+ * @generated
+ */
+public interface SafetyGoal extends EAElement {
+ /**
+ * Returns the value of the '<em><b>Derived From</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Derived 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>Derived From</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage#getSafetyGoal_DerivedFrom()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<HazardousEvent> getDerivedFrom();
+
+ /**
+ * Returns the value of the '<em><b>Hazard Classification</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.eastadl.dependability.safetyconstraints.ASILKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Hazard Classification</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Hazard Classification</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.ASILKind
+ * @see #setHazardClassification(ASILKind)
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage#getSafetyGoal_HazardClassification()
+ * @model unique="false" required="true" ordered="false"
+ * @generated
+ */
+ ASILKind getHazardClassification();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal#getHazardClassification <em>Hazard Classification</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Hazard Classification</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyconstraints.ASILKind
+ * @see #getHazardClassification()
+ * @generated
+ */
+ void setHazardClassification(ASILKind value);
+
+ /**
+ * Returns the value of the '<em><b>Requirement</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.Requirement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Requirement</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>Requirement</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage#getSafetyGoal_Requirement()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<Requirement> getRequirement();
+
+ /**
+ * Returns the value of the '<em><b>Safe Modes</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.behavior.Mode}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Safe Modes</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>Safe Modes</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage#getSafetyGoal_SafeModes()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Mode> getSafeModes();
+
+ /**
+ * Returns the value of the '<em><b>Safe States</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * For every safety goal, a safe state should be defined, in order to declare a system state to be maintained or to be reached when the failure is detected and so to allow a failure mitigation action without any violation of the associated safety goal.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Safe States</em>' attribute.
+ * @see #setSafeStates(String)
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage#getSafetyGoal_SafeStates()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" ordered="false"
+ * @generated
+ */
+ String getSafeStates();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal#getSafeStates <em>Safe States</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Safe States</em>' attribute.
+ * @see #getSafeStates()
+ * @generated
+ */
+ void setSafeStates(String 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.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage#getSafetyGoal_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal#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);
+
+} // SafetyGoal
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/SafetyrequirementFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/SafetyrequirementFactory.java
new file mode 100644
index 00000000000..f5aed75ad9a
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/SafetyrequirementFactory.java
@@ -0,0 +1,73 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyrequirement;
+
+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.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage
+ * @generated
+ */
+public interface SafetyrequirementFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ SafetyrequirementFactory eINSTANCE = org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Functional Safety Concept</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Functional Safety Concept</em>'.
+ * @generated
+ */
+ FunctionalSafetyConcept createFunctionalSafetyConcept();
+
+ /**
+ * Returns a new object of class '<em>Safety Goal</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Safety Goal</em>'.
+ * @generated
+ */
+ SafetyGoal createSafetyGoal();
+
+ /**
+ * Returns a new object of class '<em>Technical Safety Concept</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Technical Safety Concept</em>'.
+ * @generated
+ */
+ TechnicalSafetyConcept createTechnicalSafetyConcept();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ SafetyrequirementPackage getSafetyrequirementPackage();
+
+} //SafetyrequirementFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/SafetyrequirementPackage.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/SafetyrequirementPackage.java
new file mode 100644
index 00000000000..d7f42c383f6
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/SafetyrequirementPackage.java
@@ -0,0 +1,652 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyrequirement;
+
+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.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+
+
+/**
+ * <!-- 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 -->
+ * <!-- begin-model-doc -->
+ * This subprofile defines a set of stereotypes concerning the definition of safety requirements inked to ISO26262 norm.
+ *
+ * Overview:
+ * This subprofile defines a set of stereotypes concerning the definition of safety requirements linked to the ISO26262 norm.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface SafetyrequirementPackage extends EPackage {
+ /**
+ * <!-- 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.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.FunctionalSafetyConceptImpl <em>Functional Safety Concept</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.FunctionalSafetyConceptImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl#getFunctionalSafetyConcept()
+ * @generated
+ */
+ EClass FUNCTIONAL_SAFETY_CONCEPT = eINSTANCE.getFunctionalSafetyConcept();
+
+ /**
+ * The meta object literal for the '<em><b>Functional Safety Requirement</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTIONAL_SAFETY_CONCEPT__FUNCTIONAL_SAFETY_REQUIREMENT = eINSTANCE.getFunctionalSafetyConcept_FunctionalSafetyRequirement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyGoalImpl <em>Safety Goal</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyGoalImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl#getSafetyGoal()
+ * @generated
+ */
+ EClass SAFETY_GOAL = eINSTANCE.getSafetyGoal();
+
+ /**
+ * The meta object literal for the '<em><b>Derived From</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SAFETY_GOAL__DERIVED_FROM = eINSTANCE.getSafetyGoal_DerivedFrom();
+
+ /**
+ * The meta object literal for the '<em><b>Safe States</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SAFETY_GOAL__SAFE_STATES = eINSTANCE.getSafetyGoal_SafeStates();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SAFETY_GOAL__BASE_CLASS = eINSTANCE.getSafetyGoal_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Requirement</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SAFETY_GOAL__REQUIREMENT = eINSTANCE.getSafetyGoal_Requirement();
+
+ /**
+ * The meta object literal for the '<em><b>Hazard Classification</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SAFETY_GOAL__HAZARD_CLASSIFICATION = eINSTANCE.getSafetyGoal_HazardClassification();
+
+ /**
+ * The meta object literal for the '<em><b>Safe Modes</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SAFETY_GOAL__SAFE_MODES = eINSTANCE.getSafetyGoal_SafeModes();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.TechnicalSafetyConceptImpl <em>Technical Safety Concept</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.TechnicalSafetyConceptImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl#getTechnicalSafetyConcept()
+ * @generated
+ */
+ EClass TECHNICAL_SAFETY_CONCEPT = eINSTANCE.getTechnicalSafetyConcept();
+
+ /**
+ * The meta object literal for the '<em><b>Technical Safety Requirement</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TECHNICAL_SAFETY_CONCEPT__TECHNICAL_SAFETY_REQUIREMENT = eINSTANCE.getTechnicalSafetyConcept_TechnicalSafetyRequirement();
+
+ }
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "safetyrequirement";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.papyrusuml.org/EAST-ADL2/Dependability/SafetyRequirement/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "SafetyRequirement";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ SafetyrequirementPackage eINSTANCE = org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.FunctionalSafetyConceptImpl <em>Functional Safety Concept</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.FunctionalSafetyConceptImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl#getFunctionalSafetyConcept()
+ * @generated
+ */
+ int FUNCTIONAL_SAFETY_CONCEPT = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTIONAL_SAFETY_CONCEPT__NAME = RequirementsPackage.REQUIREMENTS_CONTAINER__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTIONAL_SAFETY_CONCEPT__BASE_NAMED_ELEMENT = RequirementsPackage.REQUIREMENTS_CONTAINER__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTIONAL_SAFETY_CONCEPT__OWNED_COMMENT = RequirementsPackage.REQUIREMENTS_CONTAINER__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTIONAL_SAFETY_CONCEPT__BASE_PACKAGEABLE_ELEMENT = RequirementsPackage.REQUIREMENTS_CONTAINER__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTIONAL_SAFETY_CONCEPT__NOTE = RequirementsPackage.REQUIREMENTS_CONTAINER__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Child Container</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTIONAL_SAFETY_CONCEPT__CHILD_CONTAINER = RequirementsPackage.REQUIREMENTS_CONTAINER__CHILD_CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Parent Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTIONAL_SAFETY_CONCEPT__PARENT_CONTAINER = RequirementsPackage.REQUIREMENTS_CONTAINER__PARENT_CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTIONAL_SAFETY_CONCEPT__BASE_CLASS = RequirementsPackage.REQUIREMENTS_CONTAINER__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTIONAL_SAFETY_CONCEPT__BASE_PACKAGE = RequirementsPackage.REQUIREMENTS_CONTAINER__BASE_PACKAGE;
+
+ /**
+ * The feature id for the '<em><b>Contained Req Spec Object</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTIONAL_SAFETY_CONCEPT__CONTAINED_REQ_SPEC_OBJECT = RequirementsPackage.REQUIREMENTS_CONTAINER__CONTAINED_REQ_SPEC_OBJECT;
+
+ /**
+ * The feature id for the '<em><b>Functional Safety Requirement</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTIONAL_SAFETY_CONCEPT__FUNCTIONAL_SAFETY_REQUIREMENT = RequirementsPackage.REQUIREMENTS_CONTAINER_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Functional Safety Concept</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTIONAL_SAFETY_CONCEPT_FEATURE_COUNT = RequirementsPackage.REQUIREMENTS_CONTAINER_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyGoalImpl <em>Safety Goal</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyGoalImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl#getSafetyGoal()
+ * @generated
+ */
+ int SAFETY_GOAL = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_GOAL__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_GOAL__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_GOAL__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Derived From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_GOAL__DERIVED_FROM = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Safe States</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_GOAL__SAFE_STATES = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_GOAL__BASE_CLASS = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Requirement</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_GOAL__REQUIREMENT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Hazard Classification</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_GOAL__HAZARD_CLASSIFICATION = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Safe Modes</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_GOAL__SAFE_MODES = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Safety Goal</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SAFETY_GOAL_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.TechnicalSafetyConceptImpl <em>Technical Safety Concept</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.TechnicalSafetyConceptImpl
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl#getTechnicalSafetyConcept()
+ * @generated
+ */
+ int TECHNICAL_SAFETY_CONCEPT = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TECHNICAL_SAFETY_CONCEPT__NAME = RequirementsPackage.REQUIREMENTS_CONTAINER__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TECHNICAL_SAFETY_CONCEPT__BASE_NAMED_ELEMENT = RequirementsPackage.REQUIREMENTS_CONTAINER__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TECHNICAL_SAFETY_CONCEPT__OWNED_COMMENT = RequirementsPackage.REQUIREMENTS_CONTAINER__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TECHNICAL_SAFETY_CONCEPT__BASE_PACKAGEABLE_ELEMENT = RequirementsPackage.REQUIREMENTS_CONTAINER__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TECHNICAL_SAFETY_CONCEPT__NOTE = RequirementsPackage.REQUIREMENTS_CONTAINER__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Child Container</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TECHNICAL_SAFETY_CONCEPT__CHILD_CONTAINER = RequirementsPackage.REQUIREMENTS_CONTAINER__CHILD_CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Parent Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TECHNICAL_SAFETY_CONCEPT__PARENT_CONTAINER = RequirementsPackage.REQUIREMENTS_CONTAINER__PARENT_CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TECHNICAL_SAFETY_CONCEPT__BASE_CLASS = RequirementsPackage.REQUIREMENTS_CONTAINER__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TECHNICAL_SAFETY_CONCEPT__BASE_PACKAGE = RequirementsPackage.REQUIREMENTS_CONTAINER__BASE_PACKAGE;
+
+ /**
+ * The feature id for the '<em><b>Contained Req Spec Object</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TECHNICAL_SAFETY_CONCEPT__CONTAINED_REQ_SPEC_OBJECT = RequirementsPackage.REQUIREMENTS_CONTAINER__CONTAINED_REQ_SPEC_OBJECT;
+
+ /**
+ * The feature id for the '<em><b>Technical Safety Requirement</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TECHNICAL_SAFETY_CONCEPT__TECHNICAL_SAFETY_REQUIREMENT = RequirementsPackage.REQUIREMENTS_CONTAINER_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Technical Safety Concept</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TECHNICAL_SAFETY_CONCEPT_FEATURE_COUNT = RequirementsPackage.REQUIREMENTS_CONTAINER_FEATURE_COUNT + 1;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.FunctionalSafetyConcept <em>Functional Safety Concept</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Functional Safety Concept</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.FunctionalSafetyConcept
+ * @generated
+ */
+ EClass getFunctionalSafetyConcept();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.FunctionalSafetyConcept#getFunctionalSafetyRequirement <em>Functional Safety Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Functional Safety Requirement</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.FunctionalSafetyConcept#getFunctionalSafetyRequirement()
+ * @see #getFunctionalSafetyConcept()
+ * @generated
+ */
+ EReference getFunctionalSafetyConcept_FunctionalSafetyRequirement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal <em>Safety Goal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Safety Goal</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal
+ * @generated
+ */
+ EClass getSafetyGoal();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal#getDerivedFrom <em>Derived From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Derived From</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal#getDerivedFrom()
+ * @see #getSafetyGoal()
+ * @generated
+ */
+ EReference getSafetyGoal_DerivedFrom();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal#getHazardClassification <em>Hazard Classification</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Hazard Classification</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal#getHazardClassification()
+ * @see #getSafetyGoal()
+ * @generated
+ */
+ EAttribute getSafetyGoal_HazardClassification();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal#getRequirement <em>Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Requirement</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal#getRequirement()
+ * @see #getSafetyGoal()
+ * @generated
+ */
+ EReference getSafetyGoal_Requirement();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal#getSafeModes <em>Safe Modes</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Safe Modes</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal#getSafeModes()
+ * @see #getSafetyGoal()
+ * @generated
+ */
+ EReference getSafetyGoal_SafeModes();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal#getSafeStates <em>Safe States</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Safe States</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal#getSafeStates()
+ * @see #getSafetyGoal()
+ * @generated
+ */
+ EAttribute getSafetyGoal_SafeStates();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal#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.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal#getBase_Class()
+ * @see #getSafetyGoal()
+ * @generated
+ */
+ EReference getSafetyGoal_Base_Class();
+
+ /**
+ * 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
+ */
+ SafetyrequirementFactory getSafetyrequirementFactory();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.TechnicalSafetyConcept <em>Technical Safety Concept</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Technical Safety Concept</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.TechnicalSafetyConcept
+ * @generated
+ */
+ EClass getTechnicalSafetyConcept();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.TechnicalSafetyConcept#getTechnicalSafetyRequirement <em>Technical Safety Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Technical Safety Requirement</em>'.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.TechnicalSafetyConcept#getTechnicalSafetyRequirement()
+ * @see #getTechnicalSafetyConcept()
+ * @generated
+ */
+ EReference getTechnicalSafetyConcept_TechnicalSafetyRequirement();
+
+} //SafetyrequirementPackage
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/TechnicalSafetyConcept.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/TechnicalSafetyConcept.java
new file mode 100644
index 00000000000..1f31268910b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/TechnicalSafetyConcept.java
@@ -0,0 +1,65 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyrequirement;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.requirements.Requirement;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsContainer;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Technical Safety Concept</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * TechnicalSafetyConcept represents the set of technical safety requirements that together fulfils a FunctionalSafetyConcept and SafetyGoal in accordance with ISO 26262.
+ *
+ * These are derived from FunctionalSafetyConcepts i.e. TechnicalSafetyRequirements are derived from FunctionalSafetyRequirements.
+ *
+ *
+ * Semantics:
+ * The TechnicalSafetyConcept consists of the technical safety requirements and details the functional safety concept considering the functional concept and the preliminary architectural design. It corresponds to the Technical Safety Concept of ISO26262.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.TechnicalSafetyConcept#getTechnicalSafetyRequirement <em>Technical Safety Requirement</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage#getTechnicalSafetyConcept()
+ * @model
+ * @generated
+ */
+public interface TechnicalSafetyConcept extends RequirementsContainer {
+ /**
+ * Returns the value of the '<em><b>Technical Safety Requirement</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.Requirement}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * technicalSafety Requirements.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Technical Safety Requirement</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage#getTechnicalSafetyConcept_TechnicalSafetyRequirement()
+ * @model
+ * @generated
+ */
+ EList<Requirement> getTechnicalSafetyRequirement();
+
+} // TechnicalSafetyConcept
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/impl/FunctionalSafetyConceptImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/impl/FunctionalSafetyConceptImpl.java
new file mode 100644
index 00000000000..724fb0ed98d
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/impl/FunctionalSafetyConceptImpl.java
@@ -0,0 +1,143 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyrequirement.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.eastadl.dependability.safetyrequirement.FunctionalSafetyConcept;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.requirements.Requirement;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsContainerImpl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Functional Safety Concept</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.FunctionalSafetyConceptImpl#getFunctionalSafetyRequirement <em>Functional Safety Requirement</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FunctionalSafetyConceptImpl extends RequirementsContainerImpl implements FunctionalSafetyConcept {
+ /**
+ * The cached value of the '{@link #getFunctionalSafetyRequirement() <em>Functional Safety Requirement</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFunctionalSafetyRequirement()
+ * @generated
+ * @ordered
+ */
+ protected EList<Requirement> functionalSafetyRequirement;
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FunctionalSafetyConceptImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SafetyrequirementPackage.FUNCTIONAL_SAFETY_CONCEPT__FUNCTIONAL_SAFETY_REQUIREMENT:
+ return getFunctionalSafetyRequirement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SafetyrequirementPackage.FUNCTIONAL_SAFETY_CONCEPT__FUNCTIONAL_SAFETY_REQUIREMENT:
+ return functionalSafetyRequirement != null && !functionalSafetyRequirement.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SafetyrequirementPackage.FUNCTIONAL_SAFETY_CONCEPT__FUNCTIONAL_SAFETY_REQUIREMENT:
+ getFunctionalSafetyRequirement().clear();
+ getFunctionalSafetyRequirement().addAll((Collection<? extends Requirement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SafetyrequirementPackage.Literals.FUNCTIONAL_SAFETY_CONCEPT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SafetyrequirementPackage.FUNCTIONAL_SAFETY_CONCEPT__FUNCTIONAL_SAFETY_REQUIREMENT:
+ getFunctionalSafetyRequirement().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Requirement> getFunctionalSafetyRequirement() {
+ if (functionalSafetyRequirement == null) {
+ functionalSafetyRequirement = new EObjectResolvingEList<Requirement>(Requirement.class, this, SafetyrequirementPackage.FUNCTIONAL_SAFETY_CONCEPT__FUNCTIONAL_SAFETY_REQUIREMENT);
+ }
+ return functionalSafetyRequirement;
+ }
+
+} //FunctionalSafetyConceptImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/impl/SafetyGoalImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/impl/SafetyGoalImpl.java
new file mode 100644
index 00000000000..469ef20bd1d
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/impl/SafetyGoalImpl.java
@@ -0,0 +1,400 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyrequirement.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.eastadl.behavior.Mode;
+import org.eclipse.papyrus.eastadl.dependability.HazardousEvent;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.ASILKind;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.requirements.Requirement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Safety Goal</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyGoalImpl#getDerivedFrom <em>Derived From</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyGoalImpl#getSafeStates <em>Safe States</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyGoalImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyGoalImpl#getRequirement <em>Requirement</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyGoalImpl#getHazardClassification <em>Hazard Classification</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyGoalImpl#getSafeModes <em>Safe Modes</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SafetyGoalImpl extends EAElementImpl implements SafetyGoal {
+ /**
+ * The cached value of the '{@link #getDerivedFrom() <em>Derived From</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDerivedFrom()
+ * @generated
+ * @ordered
+ */
+ protected EList<HazardousEvent> derivedFrom;
+
+ /**
+ * The default value of the '{@link #getSafeStates() <em>Safe States</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSafeStates()
+ * @generated
+ * @ordered
+ */
+ protected static final String SAFE_STATES_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSafeStates() <em>Safe States</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSafeStates()
+ * @generated
+ * @ordered
+ */
+ protected String safeStates = SAFE_STATES_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;
+
+ /**
+ * The cached value of the '{@link #getRequirement() <em>Requirement</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRequirement()
+ * @generated
+ * @ordered
+ */
+ protected EList<Requirement> requirement;
+
+ /**
+ * The default value of the '{@link #getHazardClassification() <em>Hazard Classification</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHazardClassification()
+ * @generated
+ * @ordered
+ */
+ protected static final ASILKind HAZARD_CLASSIFICATION_EDEFAULT = ASILKind.ASIL_A;
+
+ /**
+ * The cached value of the '{@link #getHazardClassification() <em>Hazard Classification</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHazardClassification()
+ * @generated
+ * @ordered
+ */
+ protected ASILKind hazardClassification = HAZARD_CLASSIFICATION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getSafeModes() <em>Safe Modes</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSafeModes()
+ * @generated
+ * @ordered
+ */
+ protected EList<Mode> safeModes;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SafetyGoalImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SafetyrequirementPackage.SAFETY_GOAL__DERIVED_FROM:
+ return getDerivedFrom();
+ case SafetyrequirementPackage.SAFETY_GOAL__SAFE_STATES:
+ return getSafeStates();
+ case SafetyrequirementPackage.SAFETY_GOAL__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case SafetyrequirementPackage.SAFETY_GOAL__REQUIREMENT:
+ return getRequirement();
+ case SafetyrequirementPackage.SAFETY_GOAL__HAZARD_CLASSIFICATION:
+ return getHazardClassification();
+ case SafetyrequirementPackage.SAFETY_GOAL__SAFE_MODES:
+ return getSafeModes();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SafetyrequirementPackage.SAFETY_GOAL__DERIVED_FROM:
+ return derivedFrom != null && !derivedFrom.isEmpty();
+ case SafetyrequirementPackage.SAFETY_GOAL__SAFE_STATES:
+ return SAFE_STATES_EDEFAULT == null ? safeStates != null : !SAFE_STATES_EDEFAULT.equals(safeStates);
+ case SafetyrequirementPackage.SAFETY_GOAL__BASE_CLASS:
+ return base_Class != null;
+ case SafetyrequirementPackage.SAFETY_GOAL__REQUIREMENT:
+ return requirement != null && !requirement.isEmpty();
+ case SafetyrequirementPackage.SAFETY_GOAL__HAZARD_CLASSIFICATION:
+ return hazardClassification != HAZARD_CLASSIFICATION_EDEFAULT;
+ case SafetyrequirementPackage.SAFETY_GOAL__SAFE_MODES:
+ return safeModes != null && !safeModes.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SafetyrequirementPackage.SAFETY_GOAL__DERIVED_FROM:
+ getDerivedFrom().clear();
+ getDerivedFrom().addAll((Collection<? extends HazardousEvent>)newValue);
+ return;
+ case SafetyrequirementPackage.SAFETY_GOAL__SAFE_STATES:
+ setSafeStates((String)newValue);
+ return;
+ case SafetyrequirementPackage.SAFETY_GOAL__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case SafetyrequirementPackage.SAFETY_GOAL__REQUIREMENT:
+ getRequirement().clear();
+ getRequirement().addAll((Collection<? extends Requirement>)newValue);
+ return;
+ case SafetyrequirementPackage.SAFETY_GOAL__HAZARD_CLASSIFICATION:
+ setHazardClassification((ASILKind)newValue);
+ return;
+ case SafetyrequirementPackage.SAFETY_GOAL__SAFE_MODES:
+ getSafeModes().clear();
+ getSafeModes().addAll((Collection<? extends Mode>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SafetyrequirementPackage.Literals.SAFETY_GOAL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SafetyrequirementPackage.SAFETY_GOAL__DERIVED_FROM:
+ getDerivedFrom().clear();
+ return;
+ case SafetyrequirementPackage.SAFETY_GOAL__SAFE_STATES:
+ setSafeStates(SAFE_STATES_EDEFAULT);
+ return;
+ case SafetyrequirementPackage.SAFETY_GOAL__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case SafetyrequirementPackage.SAFETY_GOAL__REQUIREMENT:
+ getRequirement().clear();
+ return;
+ case SafetyrequirementPackage.SAFETY_GOAL__HAZARD_CLASSIFICATION:
+ setHazardClassification(HAZARD_CLASSIFICATION_EDEFAULT);
+ return;
+ case SafetyrequirementPackage.SAFETY_GOAL__SAFE_MODES:
+ getSafeModes().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HazardousEvent> getDerivedFrom() {
+ if (derivedFrom == null) {
+ derivedFrom = new EObjectResolvingEList<HazardousEvent>(HazardousEvent.class, this, SafetyrequirementPackage.SAFETY_GOAL__DERIVED_FROM);
+ }
+ return derivedFrom;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ASILKind getHazardClassification() {
+ return hazardClassification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHazardClassification(ASILKind newHazardClassification) {
+ ASILKind oldHazardClassification = hazardClassification;
+ hazardClassification = newHazardClassification == null ? HAZARD_CLASSIFICATION_EDEFAULT : newHazardClassification;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SafetyrequirementPackage.SAFETY_GOAL__HAZARD_CLASSIFICATION, oldHazardClassification, hazardClassification));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Requirement> getRequirement() {
+ if (requirement == null) {
+ requirement = new EObjectResolvingEList<Requirement>(Requirement.class, this, SafetyrequirementPackage.SAFETY_GOAL__REQUIREMENT);
+ }
+ return requirement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Mode> getSafeModes() {
+ if (safeModes == null) {
+ safeModes = new EObjectResolvingEList<Mode>(Mode.class, this, SafetyrequirementPackage.SAFETY_GOAL__SAFE_MODES);
+ }
+ return safeModes;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getSafeStates() {
+ return safeStates;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSafeStates(String newSafeStates) {
+ String oldSafeStates = safeStates;
+ safeStates = newSafeStates;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SafetyrequirementPackage.SAFETY_GOAL__SAFE_STATES, oldSafeStates, safeStates));
+ }
+
+ /**
+ * <!-- 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, SafetyrequirementPackage.SAFETY_GOAL__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, SafetyrequirementPackage.SAFETY_GOAL__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (safeStates: ");
+ result.append(safeStates);
+ result.append(", hazardClassification: ");
+ result.append(hazardClassification);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SafetyGoalImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/impl/SafetyrequirementFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/impl/SafetyrequirementFactoryImpl.java
new file mode 100644
index 00000000000..b0027605a6e
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/impl/SafetyrequirementFactoryImpl.java
@@ -0,0 +1,132 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyrequirement.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.eclipse.papyrus.eastadl.dependability.safetyrequirement.FunctionalSafetyConcept;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementFactory;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.TechnicalSafetyConcept;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SafetyrequirementFactoryImpl extends EFactoryImpl implements SafetyrequirementFactory {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static SafetyrequirementPackage getPackage() {
+ return SafetyrequirementPackage.eINSTANCE;
+ }
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static SafetyrequirementFactory init() {
+ try {
+ SafetyrequirementFactory theSafetyrequirementFactory = (SafetyrequirementFactory)EPackage.Registry.INSTANCE.getEFactory(SafetyrequirementPackage.eNS_URI);
+ if (theSafetyrequirementFactory != null) {
+ return theSafetyrequirementFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new SafetyrequirementFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SafetyrequirementFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case SafetyrequirementPackage.FUNCTIONAL_SAFETY_CONCEPT: return createFunctionalSafetyConcept();
+ case SafetyrequirementPackage.SAFETY_GOAL: return createSafetyGoal();
+ case SafetyrequirementPackage.TECHNICAL_SAFETY_CONCEPT: return createTechnicalSafetyConcept();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionalSafetyConcept createFunctionalSafetyConcept() {
+ FunctionalSafetyConceptImpl functionalSafetyConcept = new FunctionalSafetyConceptImpl();
+ return functionalSafetyConcept;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SafetyGoal createSafetyGoal() {
+ SafetyGoalImpl safetyGoal = new SafetyGoalImpl();
+ return safetyGoal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TechnicalSafetyConcept createTechnicalSafetyConcept() {
+ TechnicalSafetyConceptImpl technicalSafetyConcept = new TechnicalSafetyConceptImpl();
+ return technicalSafetyConcept;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SafetyrequirementPackage getSafetyrequirementPackage() {
+ return (SafetyrequirementPackage)getEPackage();
+ }
+
+} //SafetyrequirementFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/impl/SafetyrequirementPackageImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/impl/SafetyrequirementPackageImpl.java
new file mode 100644
index 00000000000..3ba24c3c4f0
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/impl/SafetyrequirementPackageImpl.java
@@ -0,0 +1,460 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyrequirement.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.eastadl.EastadlPackage;
+import org.eclipse.papyrus.eastadl.annex.AnnexPackage;
+import org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.FunctionalSafetyConcept;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementFactory;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.TechnicalSafetyConcept;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.StructurePackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SafetyrequirementPackageImpl extends EPackageImpl implements SafetyrequirementPackage {
+
+ /**
+ * 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 SafetyrequirementPackage#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 SafetyrequirementPackage init() {
+ if (isInited) return (SafetyrequirementPackage)EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI);
+
+ // Obtain or create and register package
+ SafetyrequirementPackageImpl theSafetyrequirementPackage = (SafetyrequirementPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof SafetyrequirementPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new SafetyrequirementPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ SysmlPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EastadlPackageImpl theEastadlPackage = (EastadlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) instanceof EastadlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) : EastadlPackage.eINSTANCE);
+ VariabilityPackageImpl theVariabilityPackage = (VariabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) instanceof VariabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) : VariabilityPackage.eINSTANCE);
+ InfrastructurePackageImpl theInfrastructurePackage = (InfrastructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) instanceof InfrastructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) : InfrastructurePackage.eINSTANCE);
+ DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) instanceof DatatypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) : DatatypesPackage.eINSTANCE);
+ UserattributesPackageImpl theUserattributesPackage = (UserattributesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) instanceof UserattributesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) : UserattributesPackage.eINSTANCE);
+ ElementsPackageImpl theElementsPackage = (ElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) instanceof ElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) : ElementsPackage.eINSTANCE);
+ StructurePackageImpl theStructurePackage = (StructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) instanceof StructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) : StructurePackage.eINSTANCE);
+ FunctionmodelingPackageImpl theFunctionmodelingPackage = (FunctionmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) instanceof FunctionmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) : FunctionmodelingPackage.eINSTANCE);
+ HardwaremodelingPackageImpl theHardwaremodelingPackage = (HardwaremodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) instanceof HardwaremodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) : HardwaremodelingPackage.eINSTANCE);
+ SystemmodelingPackageImpl theSystemmodelingPackage = (SystemmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) instanceof SystemmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) : SystemmodelingPackage.eINSTANCE);
+ VehiclefeaturemodelingPackageImpl theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) instanceof VehiclefeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) : VehiclefeaturemodelingPackage.eINSTANCE);
+ FeaturemodelingPackageImpl theFeaturemodelingPackage = (FeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) instanceof FeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) : FeaturemodelingPackage.eINSTANCE);
+ BehaviorPackageImpl theBehaviorPackage = (BehaviorPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) instanceof BehaviorPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) : BehaviorPackage.eINSTANCE);
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) : RequirementsPackage.eINSTANCE);
+ VerificationvalidationPackageImpl theVerificationvalidationPackage = (VerificationvalidationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) instanceof VerificationvalidationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) : VerificationvalidationPackage.eINSTANCE);
+ TimingPackageImpl theTimingPackage = (TimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) instanceof TimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) : TimingPackage.eINSTANCE);
+ TimingconstraintsPackageImpl theTimingconstraintsPackage = (TimingconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) instanceof TimingconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) : TimingconstraintsPackage.eINSTANCE);
+ EventsPackageImpl theEventsPackage = (EventsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+ InterchangePackageImpl theInterchangePackage = (InterchangePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) instanceof InterchangePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) : InterchangePackage.eINSTANCE);
+ EnvironmentPackageImpl theEnvironmentPackage = (EnvironmentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) instanceof EnvironmentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) : EnvironmentPackage.eINSTANCE);
+ DependabilityPackageImpl theDependabilityPackage = (DependabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) instanceof DependabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) : DependabilityPackage.eINSTANCE);
+ ErrormodelPackageImpl theErrormodelPackage = (ErrormodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) instanceof ErrormodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) : ErrormodelPackage.eINSTANCE);
+ SafetyconstraintsPackageImpl theSafetyconstraintsPackage = (SafetyconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) instanceof SafetyconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) : SafetyconstraintsPackage.eINSTANCE);
+ SafetycasePackageImpl theSafetycasePackage = (SafetycasePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) instanceof SafetycasePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) : SafetycasePackage.eINSTANCE);
+ AnnexPackageImpl theAnnexPackage = (AnnexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) instanceof AnnexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) : AnnexPackage.eINSTANCE);
+ NeedsPackageImpl theNeedsPackage = (NeedsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) instanceof NeedsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) : NeedsPackage.eINSTANCE);
+ GenericconstraintsPackageImpl theGenericconstraintsPackage = (GenericconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) instanceof GenericconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) : GenericconstraintsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theSafetyrequirementPackage.createPackageContents();
+ theEastadlPackage.createPackageContents();
+ theVariabilityPackage.createPackageContents();
+ theInfrastructurePackage.createPackageContents();
+ theDatatypesPackage.createPackageContents();
+ theUserattributesPackage.createPackageContents();
+ theElementsPackage.createPackageContents();
+ theStructurePackage.createPackageContents();
+ theFunctionmodelingPackage.createPackageContents();
+ theHardwaremodelingPackage.createPackageContents();
+ theSystemmodelingPackage.createPackageContents();
+ theVehiclefeaturemodelingPackage.createPackageContents();
+ theFeaturemodelingPackage.createPackageContents();
+ theBehaviorPackage.createPackageContents();
+ theRequirementsPackage.createPackageContents();
+ theVerificationvalidationPackage.createPackageContents();
+ theTimingPackage.createPackageContents();
+ theTimingconstraintsPackage.createPackageContents();
+ theEventsPackage.createPackageContents();
+ theInterchangePackage.createPackageContents();
+ theEnvironmentPackage.createPackageContents();
+ theDependabilityPackage.createPackageContents();
+ theErrormodelPackage.createPackageContents();
+ theSafetyconstraintsPackage.createPackageContents();
+ theSafetycasePackage.createPackageContents();
+ theAnnexPackage.createPackageContents();
+ theNeedsPackage.createPackageContents();
+ theGenericconstraintsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theSafetyrequirementPackage.initializePackageContents();
+ theEastadlPackage.initializePackageContents();
+ theVariabilityPackage.initializePackageContents();
+ theInfrastructurePackage.initializePackageContents();
+ theDatatypesPackage.initializePackageContents();
+ theUserattributesPackage.initializePackageContents();
+ theElementsPackage.initializePackageContents();
+ theStructurePackage.initializePackageContents();
+ theFunctionmodelingPackage.initializePackageContents();
+ theHardwaremodelingPackage.initializePackageContents();
+ theSystemmodelingPackage.initializePackageContents();
+ theVehiclefeaturemodelingPackage.initializePackageContents();
+ theFeaturemodelingPackage.initializePackageContents();
+ theBehaviorPackage.initializePackageContents();
+ theRequirementsPackage.initializePackageContents();
+ theVerificationvalidationPackage.initializePackageContents();
+ theTimingPackage.initializePackageContents();
+ theTimingconstraintsPackage.initializePackageContents();
+ theEventsPackage.initializePackageContents();
+ theInterchangePackage.initializePackageContents();
+ theEnvironmentPackage.initializePackageContents();
+ theDependabilityPackage.initializePackageContents();
+ theErrormodelPackage.initializePackageContents();
+ theSafetyconstraintsPackage.initializePackageContents();
+ theSafetycasePackage.initializePackageContents();
+ theAnnexPackage.initializePackageContents();
+ theNeedsPackage.initializePackageContents();
+ theGenericconstraintsPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theSafetyrequirementPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(SafetyrequirementPackage.eNS_URI, theSafetyrequirementPackage);
+ return theSafetyrequirementPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass functionalSafetyConceptEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass safetyGoalEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass technicalSafetyConceptEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * 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.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private SafetyrequirementPackageImpl() {
+ super(eNS_URI, SafetyrequirementFactory.eINSTANCE);
+ }
+
+ /**
+ * 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
+ functionalSafetyConceptEClass = createEClass(FUNCTIONAL_SAFETY_CONCEPT);
+ createEReference(functionalSafetyConceptEClass, FUNCTIONAL_SAFETY_CONCEPT__FUNCTIONAL_SAFETY_REQUIREMENT);
+
+ safetyGoalEClass = createEClass(SAFETY_GOAL);
+ createEReference(safetyGoalEClass, SAFETY_GOAL__DERIVED_FROM);
+ createEAttribute(safetyGoalEClass, SAFETY_GOAL__SAFE_STATES);
+ createEReference(safetyGoalEClass, SAFETY_GOAL__BASE_CLASS);
+ createEReference(safetyGoalEClass, SAFETY_GOAL__REQUIREMENT);
+ createEAttribute(safetyGoalEClass, SAFETY_GOAL__HAZARD_CLASSIFICATION);
+ createEReference(safetyGoalEClass, SAFETY_GOAL__SAFE_MODES);
+
+ technicalSafetyConceptEClass = createEClass(TECHNICAL_SAFETY_CONCEPT);
+ createEReference(technicalSafetyConceptEClass, TECHNICAL_SAFETY_CONCEPT__TECHNICAL_SAFETY_REQUIREMENT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFunctionalSafetyConcept() {
+ return functionalSafetyConceptEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunctionalSafetyConcept_FunctionalSafetyRequirement() {
+ return (EReference)functionalSafetyConceptEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSafetyGoal() {
+ return safetyGoalEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSafetyGoal_DerivedFrom() {
+ return (EReference)safetyGoalEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSafetyGoal_HazardClassification() {
+ return (EAttribute)safetyGoalEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSafetyGoal_Requirement() {
+ return (EReference)safetyGoalEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSafetyGoal_SafeModes() {
+ return (EReference)safetyGoalEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSafetyGoal_SafeStates() {
+ return (EAttribute)safetyGoalEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSafetyGoal_Base_Class() {
+ return (EReference)safetyGoalEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SafetyrequirementFactory getSafetyrequirementFactory() {
+ return (SafetyrequirementFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTechnicalSafetyConcept() {
+ return technicalSafetyConceptEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTechnicalSafetyConcept_TechnicalSafetyRequirement() {
+ return (EReference)technicalSafetyConceptEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * 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
+ RequirementsPackage theRequirementsPackage = (RequirementsPackage)EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI);
+ ElementsPackage theElementsPackage = (ElementsPackage)EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI);
+ DependabilityPackage theDependabilityPackage = (DependabilityPackage)EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI);
+ TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+ SafetyconstraintsPackage theSafetyconstraintsPackage = (SafetyconstraintsPackage)EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI);
+ BehaviorPackage theBehaviorPackage = (BehaviorPackage)EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ functionalSafetyConceptEClass.getESuperTypes().add(theRequirementsPackage.getRequirementsContainer());
+ safetyGoalEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ technicalSafetyConceptEClass.getESuperTypes().add(theRequirementsPackage.getRequirementsContainer());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(functionalSafetyConceptEClass, FunctionalSafetyConcept.class, "FunctionalSafetyConcept", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getFunctionalSafetyConcept_FunctionalSafetyRequirement(), theRequirementsPackage.getRequirement(), null, "functionalSafetyRequirement", null, 0, -1, FunctionalSafetyConcept.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(safetyGoalEClass, SafetyGoal.class, "SafetyGoal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getSafetyGoal_DerivedFrom(), theDependabilityPackage.getHazardousEvent(), null, "derivedFrom", null, 1, -1, SafetyGoal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getSafetyGoal_SafeStates(), theTypesPackage.getString(), "safeStates", null, 0, 1, SafetyGoal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSafetyGoal_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, SafetyGoal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSafetyGoal_Requirement(), theRequirementsPackage.getRequirement(), null, "requirement", null, 1, -1, SafetyGoal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getSafetyGoal_HazardClassification(), theSafetyconstraintsPackage.getASILKind(), "hazardClassification", null, 1, 1, SafetyGoal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSafetyGoal_SafeModes(), theBehaviorPackage.getMode(), null, "safeModes", null, 0, -1, SafetyGoal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(technicalSafetyConceptEClass, TechnicalSafetyConcept.class, "TechnicalSafetyConcept", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTechnicalSafetyConcept_TechnicalSafetyRequirement(), theRequirementsPackage.getRequirement(), null, "technicalSafetyRequirement", null, 0, -1, TechnicalSafetyConcept.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ }
+
+} //SafetyrequirementPackageImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/impl/TechnicalSafetyConceptImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/impl/TechnicalSafetyConceptImpl.java
new file mode 100644
index 00000000000..ec1bed9ae10
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/impl/TechnicalSafetyConceptImpl.java
@@ -0,0 +1,144 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyrequirement.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.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.TechnicalSafetyConcept;
+import org.eclipse.papyrus.eastadl.requirements.Requirement;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsContainerImpl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Technical Safety Concept</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.TechnicalSafetyConceptImpl#getTechnicalSafetyRequirement <em>Technical Safety Requirement</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TechnicalSafetyConceptImpl extends RequirementsContainerImpl implements TechnicalSafetyConcept {
+ /**
+ * The cached value of the '{@link #getTechnicalSafetyRequirement() <em>Technical Safety Requirement</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTechnicalSafetyRequirement()
+ * @generated
+ * @ordered
+ */
+ protected EList<Requirement> technicalSafetyRequirement;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TechnicalSafetyConceptImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SafetyrequirementPackage.TECHNICAL_SAFETY_CONCEPT__TECHNICAL_SAFETY_REQUIREMENT:
+ return getTechnicalSafetyRequirement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SafetyrequirementPackage.TECHNICAL_SAFETY_CONCEPT__TECHNICAL_SAFETY_REQUIREMENT:
+ return technicalSafetyRequirement != null && !technicalSafetyRequirement.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SafetyrequirementPackage.TECHNICAL_SAFETY_CONCEPT__TECHNICAL_SAFETY_REQUIREMENT:
+ getTechnicalSafetyRequirement().clear();
+ getTechnicalSafetyRequirement().addAll((Collection<? extends Requirement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SafetyrequirementPackage.Literals.TECHNICAL_SAFETY_CONCEPT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SafetyrequirementPackage.TECHNICAL_SAFETY_CONCEPT__TECHNICAL_SAFETY_REQUIREMENT:
+ getTechnicalSafetyRequirement().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Requirement> getTechnicalSafetyRequirement() {
+ if (technicalSafetyRequirement == null) {
+ technicalSafetyRequirement = new EObjectResolvingEList<Requirement>(Requirement.class, this, SafetyrequirementPackage.TECHNICAL_SAFETY_CONCEPT__TECHNICAL_SAFETY_REQUIREMENT);
+ }
+ return technicalSafetyRequirement;
+ }
+
+} //TechnicalSafetyConceptImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/util/SafetyrequirementAdapterFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/util/SafetyrequirementAdapterFactory.java
new file mode 100644
index 00000000000..4e6ecc3dbf7
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/util/SafetyrequirementAdapterFactory.java
@@ -0,0 +1,245 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyrequirement.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.eastadl.dependability.safetyrequirement.FunctionalSafetyConcept;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.TechnicalSafetyConcept;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsContainer;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage
+ * @generated
+ */
+public class SafetyrequirementAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static SafetyrequirementPackage modelPackage;
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SafetyrequirementSwitch<Adapter> modelSwitch =
+ new SafetyrequirementSwitch<Adapter>() {
+ @Override
+ public Adapter caseFunctionalSafetyConcept(FunctionalSafetyConcept object) {
+ return createFunctionalSafetyConceptAdapter();
+ }
+ @Override
+ public Adapter caseSafetyGoal(SafetyGoal object) {
+ return createSafetyGoalAdapter();
+ }
+ @Override
+ public Adapter caseTechnicalSafetyConcept(TechnicalSafetyConcept object) {
+ return createTechnicalSafetyConceptAdapter();
+ }
+ @Override
+ public Adapter caseEAElement(EAElement object) {
+ return createEAElementAdapter();
+ }
+ @Override
+ public Adapter caseEAPackageableElement(EAPackageableElement object) {
+ return createEAPackageableElementAdapter();
+ }
+ @Override
+ public Adapter caseTraceableSpecification(TraceableSpecification object) {
+ return createTraceableSpecificationAdapter();
+ }
+ @Override
+ public Adapter caseRequirementsContainer(RequirementsContainer object) {
+ return createRequirementsContainerAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SafetyrequirementAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = SafetyrequirementPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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 the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.FunctionalSafetyConcept <em>Functional Safety Concept</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.dependability.safetyrequirement.FunctionalSafetyConcept
+ * @generated
+ */
+ public Adapter createFunctionalSafetyConceptAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsContainer <em>Container</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.requirements.RequirementsContainer
+ * @generated
+ */
+ public Adapter createRequirementsContainerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal <em>Safety Goal</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.dependability.safetyrequirement.SafetyGoal
+ * @generated
+ */
+ public Adapter createSafetyGoalAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.dependability.safetyrequirement.TechnicalSafetyConcept <em>Technical Safety Concept</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.dependability.safetyrequirement.TechnicalSafetyConcept
+ * @generated
+ */
+ public Adapter createTechnicalSafetyConceptAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement <em>EA Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAElement
+ * @generated
+ */
+ public Adapter createEAElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement <em>EA Packageable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAPackageableElement
+ * @generated
+ */
+ public Adapter createEAPackageableElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification <em>Traceable 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.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification
+ * @generated
+ */
+ public Adapter createTraceableSpecificationAdapter() {
+ return null;
+ }
+
+ /**
+ * 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;
+ }
+
+} //SafetyrequirementAdapterFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/util/SafetyrequirementResourceFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/util/SafetyrequirementResourceFactoryImpl.java
new file mode 100644
index 00000000000..9187a0edce3
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/util/SafetyrequirementResourceFactoryImpl.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyrequirement.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.eclipse.papyrus.eastadl.dependability.safetyrequirement.util.SafetyrequirementResourceImpl
+ * @generated
+ */
+public class SafetyrequirementResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SafetyrequirementResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new SafetyrequirementResourceImpl(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;
+ }
+
+} //SafetyrequirementResourceFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/util/SafetyrequirementResourceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/util/SafetyrequirementResourceImpl.java
new file mode 100644
index 00000000000..05cd9edebf1
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/util/SafetyrequirementResourceImpl.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyrequirement.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.eclipse.papyrus.eastadl.dependability.safetyrequirement.util.SafetyrequirementResourceFactoryImpl
+ * @generated
+ */
+public class SafetyrequirementResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public SafetyrequirementResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //SafetyrequirementResourceImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/util/SafetyrequirementSwitch.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/util/SafetyrequirementSwitch.java
new file mode 100644
index 00000000000..f0bca87b728
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/util/SafetyrequirementSwitch.java
@@ -0,0 +1,240 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyrequirement.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.FunctionalSafetyConcept;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyGoal;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.TechnicalSafetyConcept;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsContainer;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage
+ * @generated
+ */
+public class SafetyrequirementSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static SafetyrequirementPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SafetyrequirementSwitch() {
+ if (modelPackage == null) {
+ modelPackage = SafetyrequirementPackage.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;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Functional Safety Concept</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Functional Safety Concept</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFunctionalSafetyConcept(FunctionalSafetyConcept object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Container</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRequirementsContainer(RequirementsContainer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Safety Goal</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Safety Goal</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSafetyGoal(SafetyGoal object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Technical Safety Concept</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Technical Safety Concept</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTechnicalSafetyConcept(TechnicalSafetyConcept object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAElement(EAElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Packageable Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Packageable Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAPackageableElement(EAPackageableElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Traceable 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>Traceable Specification</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTraceableSpecification(TraceableSpecification 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;
+ }
+
+ /**
+ * 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 SafetyrequirementPackage.FUNCTIONAL_SAFETY_CONCEPT: {
+ FunctionalSafetyConcept functionalSafetyConcept = (FunctionalSafetyConcept)theEObject;
+ T result = caseFunctionalSafetyConcept(functionalSafetyConcept);
+ if (result == null) result = caseRequirementsContainer(functionalSafetyConcept);
+ if (result == null) result = caseTraceableSpecification(functionalSafetyConcept);
+ if (result == null) result = caseEAPackageableElement(functionalSafetyConcept);
+ if (result == null) result = caseEAElement(functionalSafetyConcept);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SafetyrequirementPackage.SAFETY_GOAL: {
+ SafetyGoal safetyGoal = (SafetyGoal)theEObject;
+ T result = caseSafetyGoal(safetyGoal);
+ if (result == null) result = caseEAElement(safetyGoal);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SafetyrequirementPackage.TECHNICAL_SAFETY_CONCEPT: {
+ TechnicalSafetyConcept technicalSafetyConcept = (TechnicalSafetyConcept)theEObject;
+ T result = caseTechnicalSafetyConcept(technicalSafetyConcept);
+ if (result == null) result = caseRequirementsContainer(technicalSafetyConcept);
+ if (result == null) result = caseTraceableSpecification(technicalSafetyConcept);
+ if (result == null) result = caseEAPackageableElement(technicalSafetyConcept);
+ if (result == null) result = caseEAElement(technicalSafetyConcept);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+} //SafetyrequirementSwitch
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/util/SafetyrequirementXMLProcessor.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/util/SafetyrequirementXMLProcessor.java
new file mode 100644
index 00000000000..535e83243dc
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/safetyrequirement/util/SafetyrequirementXMLProcessor.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.safetyrequirement.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.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SafetyrequirementXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SafetyrequirementXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ SafetyrequirementPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the SafetyrequirementResourceFactoryImpl 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 SafetyrequirementResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new SafetyrequirementResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //SafetyrequirementXMLProcessor
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/util/DependabilityAdapterFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/util/DependabilityAdapterFactory.java
new file mode 100644
index 00000000000..241648349c1
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/util/DependabilityAdapterFactory.java
@@ -0,0 +1,283 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.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.eastadl.dependability.Dependability;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.FeatureFlaw;
+import org.eclipse.papyrus.eastadl.dependability.Hazard;
+import org.eclipse.papyrus.eastadl.dependability.HazardousEvent;
+import org.eclipse.papyrus.eastadl.dependability.Item;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.dependability.DependabilityPackage
+ * @generated
+ */
+public class DependabilityAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static DependabilityPackage modelPackage;
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DependabilitySwitch<Adapter> modelSwitch =
+ new DependabilitySwitch<Adapter>() {
+ @Override
+ public Adapter caseHazardousEvent(HazardousEvent object) {
+ return createHazardousEventAdapter();
+ }
+ @Override
+ public Adapter caseHazard(Hazard object) {
+ return createHazardAdapter();
+ }
+ @Override
+ public Adapter caseFeatureFlaw(FeatureFlaw object) {
+ return createFeatureFlawAdapter();
+ }
+ @Override
+ public Adapter caseItem(Item object) {
+ return createItemAdapter();
+ }
+ @Override
+ public Adapter caseDependability(Dependability object) {
+ return createDependabilityAdapter();
+ }
+ @Override
+ public Adapter caseEAElement(EAElement object) {
+ return createEAElementAdapter();
+ }
+ @Override
+ public Adapter caseEAPackageableElement(EAPackageableElement object) {
+ return createEAPackageableElementAdapter();
+ }
+ @Override
+ public Adapter caseTraceableSpecification(TraceableSpecification object) {
+ return createTraceableSpecificationAdapter();
+ }
+ @Override
+ public Adapter caseContext(Context object) {
+ return createContextAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DependabilityAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = DependabilityPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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.eclipse.papyrus.eastadl.infrastructure.elements.Context <em>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.eastadl.infrastructure.elements.Context
+ * @generated
+ */
+ public Adapter createContextAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.dependability.Dependability <em>Dependability</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.dependability.Dependability
+ * @generated
+ */
+ public Adapter createDependabilityAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement <em>EA Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAElement
+ * @generated
+ */
+ public Adapter createEAElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement <em>EA Packageable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAPackageableElement
+ * @generated
+ */
+ public Adapter createEAPackageableElementAdapter() {
+ 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;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.dependability.FeatureFlaw <em>Feature Flaw</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.dependability.FeatureFlaw
+ * @generated
+ */
+ public Adapter createFeatureFlawAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.dependability.Hazard <em>Hazard</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.dependability.Hazard
+ * @generated
+ */
+ public Adapter createHazardAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.dependability.HazardousEvent <em>Hazardous Event</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.dependability.HazardousEvent
+ * @generated
+ */
+ public Adapter createHazardousEventAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.dependability.Item <em>Item</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.dependability.Item
+ * @generated
+ */
+ public Adapter createItemAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification <em>Traceable 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.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification
+ * @generated
+ */
+ public Adapter createTraceableSpecificationAdapter() {
+ return null;
+ }
+
+ /**
+ * 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;
+ }
+
+} //DependabilityAdapterFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/util/DependabilityResourceFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/util/DependabilityResourceFactoryImpl.java
new file mode 100644
index 00000000000..8ad0d47355f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/util/DependabilityResourceFactoryImpl.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.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.eclipse.papyrus.eastadl.dependability.util.DependabilityResourceImpl
+ * @generated
+ */
+public class DependabilityResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DependabilityResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new DependabilityResourceImpl(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;
+ }
+
+} //DependabilityResourceFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/util/DependabilityResourceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/util/DependabilityResourceImpl.java
new file mode 100644
index 00000000000..5fcd30679be
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/util/DependabilityResourceImpl.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.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.eclipse.papyrus.eastadl.dependability.util.DependabilityResourceFactoryImpl
+ * @generated
+ */
+public class DependabilityResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public DependabilityResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //DependabilityResourceImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/util/DependabilitySwitch.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/util/DependabilitySwitch.java
new file mode 100644
index 00000000000..fe7aa01316d
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/util/DependabilitySwitch.java
@@ -0,0 +1,287 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.eastadl.dependability.Dependability;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.FeatureFlaw;
+import org.eclipse.papyrus.eastadl.dependability.Hazard;
+import org.eclipse.papyrus.eastadl.dependability.HazardousEvent;
+import org.eclipse.papyrus.eastadl.dependability.Item;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.dependability.DependabilityPackage
+ * @generated
+ */
+public class DependabilitySwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static DependabilityPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DependabilitySwitch() {
+ if (modelPackage == null) {
+ modelPackage = DependabilityPackage.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;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>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>Context</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseContext(Context object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Dependability</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate 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</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDependability(Dependability object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAElement(EAElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Packageable Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Packageable Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAPackageableElement(EAPackageableElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Feature Flaw</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Feature Flaw</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFeatureFlaw(FeatureFlaw object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hazard</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hazard</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHazard(Hazard object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hazardous Event</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hazardous Event</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHazardousEvent(HazardousEvent object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Item</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Item</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseItem(Item object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Traceable 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>Traceable Specification</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTraceableSpecification(TraceableSpecification 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;
+ }
+
+ /**
+ * 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 DependabilityPackage.HAZARDOUS_EVENT: {
+ HazardousEvent hazardousEvent = (HazardousEvent)theEObject;
+ T result = caseHazardousEvent(hazardousEvent);
+ if (result == null) result = caseTraceableSpecification(hazardousEvent);
+ if (result == null) result = caseEAPackageableElement(hazardousEvent);
+ if (result == null) result = caseEAElement(hazardousEvent);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case DependabilityPackage.HAZARD: {
+ Hazard hazard = (Hazard)theEObject;
+ T result = caseHazard(hazard);
+ if (result == null) result = caseTraceableSpecification(hazard);
+ if (result == null) result = caseEAPackageableElement(hazard);
+ if (result == null) result = caseEAElement(hazard);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case DependabilityPackage.FEATURE_FLAW: {
+ FeatureFlaw featureFlaw = (FeatureFlaw)theEObject;
+ T result = caseFeatureFlaw(featureFlaw);
+ if (result == null) result = caseTraceableSpecification(featureFlaw);
+ if (result == null) result = caseEAPackageableElement(featureFlaw);
+ if (result == null) result = caseEAElement(featureFlaw);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case DependabilityPackage.ITEM: {
+ Item item = (Item)theEObject;
+ T result = caseItem(item);
+ if (result == null) result = caseEAElement(item);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case DependabilityPackage.DEPENDABILITY: {
+ Dependability dependability = (Dependability)theEObject;
+ T result = caseDependability(dependability);
+ if (result == null) result = caseContext(dependability);
+ if (result == null) result = caseEAElement(dependability);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+} //DependabilitySwitch
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/util/DependabilityXMLProcessor.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/util/DependabilityXMLProcessor.java
new file mode 100644
index 00000000000..96da14296e6
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dependability/util/DependabilityXMLProcessor.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.dependability.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.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DependabilityXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DependabilityXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ DependabilityPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the DependabilityResourceFactoryImpl 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 DependabilityResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new DependabilityResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //DependabilityXMLProcessor
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dummy.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dummy.java
new file mode 100644
index 00000000000..18a5591623d
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/dummy.java
@@ -0,0 +1,169 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl;
+
+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>dummy</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.EastadlPackage#getdummy()
+ * @model
+ * @generated
+ */
+public enum dummy implements Enumerator {
+ ;
+
+ /**
+ * An array of all the '<em><b>dummy</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final dummy[] VALUES_ARRAY =
+ new dummy[] {
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>dummy</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<dummy> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>dummy</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static dummy get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ dummy result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>dummy</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static dummy getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ dummy result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>dummy</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static dummy get(int value) {
+ switch (value) {
+ }
+ 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 dummy(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;
+ }
+
+} //dummy
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/ClampConnector.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/ClampConnector.java
new file mode 100644
index 00000000000..7e7ef3fc1bb
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/ClampConnector.java
@@ -0,0 +1,129 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.environment;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype;
+import org.eclipse.uml2.uml.Connector;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Clamp Connector</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The clamp connector connects ports across function boundaries and containment hierarchies. It is used to connect from an EnvironmentModel to the FunctionalAnalysisArchitecture, the FunctionalDesignArchitecture, the autosarSystem or another EnvironmentModel. Typically, the EnvironmentModel contains physical ports, which restrict the valid ports in the FunctionalAnalysisArchitecture to those on FunctionalDevices and in the FunctionalDesignArchitecture to those on HardwareFunctions. In case the connection concerns logical interaction, this restriction does not apply. The ClampConnector is always an assembly connector, never a delegation connector.
+ *
+ * Constraints:
+ * [1] Can connect two FunctionFlowPorts of different direction.
+ * [2] Can connect two ClientServerPorts of different kind.
+ * [3] Can connect two FunctionFlowPorts with direction inout.
+ * [4] Cannot connect ports in the same SystemModel.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.environment.ClampConnector#getPort <em>Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.environment.ClampConnector#getBase_Connector <em>Base Connector</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.environment.ClampConnector#getPort1_path <em>Port1 path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.environment.ClampConnector#getPort2_path <em>Port2 path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.environment.EnvironmentPackage#getClampConnector()
+ * @model
+ * @generated
+ */
+public interface ClampConnector extends EAElement {
+ /**
+ * Returns the value of the '<em><b>Port</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPort}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Port</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.environment.EnvironmentPackage#getClampConnector_Port()
+ * @model lower="2" upper="2" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<FunctionPort> getPort();
+
+ /**
+ * 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.eclipse.papyrus.eastadl.environment.EnvironmentPackage#getClampConnector_Base_Connector()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Connector getBase_Connector();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.environment.ClampConnector#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>Port1 path</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Port1 path</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>Port1 path</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.environment.EnvironmentPackage#getClampConnector_Port1_path()
+ * @model
+ * @generated
+ */
+ EList<FunctionPrototype> getPort1_path();
+
+ /**
+ * Returns the value of the '<em><b>Port2 path</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Port2 path</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>Port2 path</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.environment.EnvironmentPackage#getClampConnector_Port2_path()
+ * @model
+ * @generated
+ */
+ EList<FunctionPrototype> getPort2_path();
+
+} // ClampConnector
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/Environment.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/Environment.java
new file mode 100644
index 00000000000..3ecf70f32c8
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/Environment.java
@@ -0,0 +1,145 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.environment;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Environment</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The collection of the environment functional description. This collection can be done across the EAST-ADL2 abstraction levels.
+ *
+ * An environment model can contain functionPrototypes given by either AnalysisFunction or DesignFunction. The environment model does not have abstraction levels as in the system model (e.g., analysisLevel, designLevel).
+ *
+ * A functionPrototype of the environment model can have interactions with FAA FunctionalDevice and an FDA HardwareFunction through the ClampConnector.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.environment.Environment#getEnvironmentModel <em>Environment Model</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.environment.Environment#getClampConnector <em>Clamp Connector</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.environment.Environment#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.environment.Environment#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.environment.EnvironmentPackage#getEnvironment()
+ * @model
+ * @generated
+ */
+public interface Environment extends Context {
+ /**
+ * Returns the value of the '<em><b>Clamp Connector</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.environment.ClampConnector}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Clamp Connector</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Clamp Connector</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.environment.EnvironmentPackage#getEnvironment_ClampConnector()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<ClampConnector> getClampConnector();
+
+ /**
+ * 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.eclipse.papyrus.eastadl.environment.EnvironmentPackage#getEnvironment_Base_Class()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.environment.Environment#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>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.eclipse.papyrus.eastadl.environment.EnvironmentPackage#getEnvironment_Base_Package()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.environment.Environment#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>Environment Model</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Environment Model</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>Environment Model</em>' reference.
+ * @see #setEnvironmentModel(FunctionPrototype)
+ * @see org.eclipse.papyrus.eastadl.environment.EnvironmentPackage#getEnvironment_EnvironmentModel()
+ * @model ordered="false"
+ * @generated
+ */
+ FunctionPrototype getEnvironmentModel();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.environment.Environment#getEnvironmentModel <em>Environment Model</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Environment Model</em>' reference.
+ * @see #getEnvironmentModel()
+ * @generated
+ */
+ void setEnvironmentModel(FunctionPrototype value);
+
+} // Environment
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/EnvironmentFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/EnvironmentFactory.java
new file mode 100644
index 00000000000..2dc2678cba2
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/EnvironmentFactory.java
@@ -0,0 +1,64 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.environment;
+
+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.eclipse.papyrus.eastadl.environment.EnvironmentPackage
+ * @generated
+ */
+public interface EnvironmentFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EnvironmentFactory eINSTANCE = org.eclipse.papyrus.eastadl.environment.impl.EnvironmentFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Clamp Connector</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Clamp Connector</em>'.
+ * @generated
+ */
+ ClampConnector createClampConnector();
+
+ /**
+ * Returns a new object of class '<em>Environment</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Environment</em>'.
+ * @generated
+ */
+ Environment createEnvironment();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ EnvironmentPackage getEnvironmentPackage();
+
+} //EnvironmentFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/EnvironmentPackage.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/EnvironmentPackage.java
new file mode 100644
index 00000000000..02461fa5a8a
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/EnvironmentPackage.java
@@ -0,0 +1,464 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.environment;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+
+
+/**
+ * <!-- 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 -->
+ * <!-- begin-model-doc -->
+ * The Environment model is used to describe the environment of the vehicle electric and electronic architecture. It is modeled by continuous functions representing the system environment.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.environment.EnvironmentFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface EnvironmentPackage extends EPackage {
+ /**
+ * <!-- 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.eclipse.papyrus.eastadl.environment.impl.EnvironmentImpl <em>Environment</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.environment.impl.EnvironmentImpl
+ * @see org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl#getEnvironment()
+ * @generated
+ */
+ EClass ENVIRONMENT = eINSTANCE.getEnvironment();
+ /**
+ * The meta object literal for the '<em><b>Environment Model</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ENVIRONMENT__ENVIRONMENT_MODEL = eINSTANCE.getEnvironment_EnvironmentModel();
+ /**
+ * The meta object literal for the '<em><b>Clamp Connector</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ENVIRONMENT__CLAMP_CONNECTOR = eINSTANCE.getEnvironment_ClampConnector();
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ENVIRONMENT__BASE_CLASS = eINSTANCE.getEnvironment_Base_Class();
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ENVIRONMENT__BASE_PACKAGE = eINSTANCE.getEnvironment_Base_Package();
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.environment.impl.ClampConnectorImpl <em>Clamp Connector</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.environment.impl.ClampConnectorImpl
+ * @see org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl#getClampConnector()
+ * @generated
+ */
+ EClass CLAMP_CONNECTOR = eINSTANCE.getClampConnector();
+ /**
+ * The meta object literal for the '<em><b>Port</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CLAMP_CONNECTOR__PORT = eINSTANCE.getClampConnector_Port();
+ /**
+ * The meta object literal for the '<em><b>Base Connector</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CLAMP_CONNECTOR__BASE_CONNECTOR = eINSTANCE.getClampConnector_Base_Connector();
+ /**
+ * The meta object literal for the '<em><b>Port1 path</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CLAMP_CONNECTOR__PORT1_PATH = eINSTANCE.getClampConnector_Port1_path();
+ /**
+ * The meta object literal for the '<em><b>Port2 path</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CLAMP_CONNECTOR__PORT2_PATH = eINSTANCE.getClampConnector_Port2_path();
+
+ }
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "environment";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.papyrusuml.org/EAST-ADL2/Environment/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "Environment";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EnvironmentPackage eINSTANCE = org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.environment.impl.EnvironmentImpl <em>Environment</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.environment.impl.EnvironmentImpl
+ * @see org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl#getEnvironment()
+ * @generated
+ */
+ int ENVIRONMENT = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENVIRONMENT__NAME = ElementsPackage.CONTEXT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENVIRONMENT__BASE_NAMED_ELEMENT = ElementsPackage.CONTEXT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENVIRONMENT__OWNED_COMMENT = ElementsPackage.CONTEXT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENVIRONMENT__TRACEABLE_SPECIFICATION = ElementsPackage.CONTEXT__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENVIRONMENT__OWNED_RELATIONSHIP = ElementsPackage.CONTEXT__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Environment Model</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENVIRONMENT__ENVIRONMENT_MODEL = ElementsPackage.CONTEXT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Clamp Connector</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENVIRONMENT__CLAMP_CONNECTOR = ElementsPackage.CONTEXT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENVIRONMENT__BASE_CLASS = ElementsPackage.CONTEXT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENVIRONMENT__BASE_PACKAGE = ElementsPackage.CONTEXT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Environment</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENVIRONMENT_FEATURE_COUNT = ElementsPackage.CONTEXT_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.environment.impl.ClampConnectorImpl <em>Clamp Connector</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.environment.impl.ClampConnectorImpl
+ * @see org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl#getClampConnector()
+ * @generated
+ */
+ int CLAMP_CONNECTOR = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLAMP_CONNECTOR__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLAMP_CONNECTOR__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLAMP_CONNECTOR__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Port</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLAMP_CONNECTOR__PORT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Connector</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLAMP_CONNECTOR__BASE_CONNECTOR = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Port1 path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLAMP_CONNECTOR__PORT1_PATH = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Port2 path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLAMP_CONNECTOR__PORT2_PATH = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Clamp Connector</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLAMP_CONNECTOR_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.environment.ClampConnector <em>Clamp Connector</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Clamp Connector</em>'.
+ * @see org.eclipse.papyrus.eastadl.environment.ClampConnector
+ * @generated
+ */
+ EClass getClampConnector();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.environment.ClampConnector#getPort <em>Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Port</em>'.
+ * @see org.eclipse.papyrus.eastadl.environment.ClampConnector#getPort()
+ * @see #getClampConnector()
+ * @generated
+ */
+ EReference getClampConnector_Port();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.environment.ClampConnector#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.eclipse.papyrus.eastadl.environment.ClampConnector#getBase_Connector()
+ * @see #getClampConnector()
+ * @generated
+ */
+ EReference getClampConnector_Base_Connector();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.environment.ClampConnector#getPort1_path <em>Port1 path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Port1 path</em>'.
+ * @see org.eclipse.papyrus.eastadl.environment.ClampConnector#getPort1_path()
+ * @see #getClampConnector()
+ * @generated
+ */
+ EReference getClampConnector_Port1_path();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.environment.ClampConnector#getPort2_path <em>Port2 path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Port2 path</em>'.
+ * @see org.eclipse.papyrus.eastadl.environment.ClampConnector#getPort2_path()
+ * @see #getClampConnector()
+ * @generated
+ */
+ EReference getClampConnector_Port2_path();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.environment.Environment <em>Environment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Environment</em>'.
+ * @see org.eclipse.papyrus.eastadl.environment.Environment
+ * @generated
+ */
+ EClass getEnvironment();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.environment.Environment#getClampConnector <em>Clamp Connector</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Clamp Connector</em>'.
+ * @see org.eclipse.papyrus.eastadl.environment.Environment#getClampConnector()
+ * @see #getEnvironment()
+ * @generated
+ */
+ EReference getEnvironment_ClampConnector();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.environment.Environment#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.eclipse.papyrus.eastadl.environment.Environment#getBase_Class()
+ * @see #getEnvironment()
+ * @generated
+ */
+ EReference getEnvironment_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.environment.Environment#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.eclipse.papyrus.eastadl.environment.Environment#getBase_Package()
+ * @see #getEnvironment()
+ * @generated
+ */
+ EReference getEnvironment_Base_Package();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.environment.Environment#getEnvironmentModel <em>Environment Model</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Environment Model</em>'.
+ * @see org.eclipse.papyrus.eastadl.environment.Environment#getEnvironmentModel()
+ * @see #getEnvironment()
+ * @generated
+ */
+ EReference getEnvironment_EnvironmentModel();
+
+ /**
+ * 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
+ */
+ EnvironmentFactory getEnvironmentFactory();
+
+} //EnvironmentPackage
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/impl/ClampConnectorImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/impl/ClampConnectorImpl.java
new file mode 100644
index 00000000000..147c49775c2
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/impl/ClampConnectorImpl.java
@@ -0,0 +1,281 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.environment.impl;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+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.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.BasicInternalEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.eastadl.environment.ClampConnector;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionFlowPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Clamp Connector</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.environment.impl.ClampConnectorImpl#getPort <em>Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.environment.impl.ClampConnectorImpl#getBase_Connector <em>Base Connector</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.environment.impl.ClampConnectorImpl#getPort1_path <em>Port1 path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.environment.impl.ClampConnectorImpl#getPort2_path <em>Port2 path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ClampConnectorImpl extends EAElementImpl implements ClampConnector {
+
+ /**
+ * 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 #getPort1_path() <em>Port1 path</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPort1_path()
+ * @generated
+ * @ordered
+ */
+ protected EList<FunctionPrototype> port1_path;
+
+ /**
+ * The cached value of the '{@link #getPort2_path() <em>Port2 path</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPort2_path()
+ * @generated
+ * @ordered
+ */
+ protected EList<FunctionPrototype> port2_path;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected ClampConnectorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case EnvironmentPackage.CLAMP_CONNECTOR__PORT:
+ return getPort();
+ case EnvironmentPackage.CLAMP_CONNECTOR__BASE_CONNECTOR:
+ if (resolve) return getBase_Connector();
+ return basicGetBase_Connector();
+ case EnvironmentPackage.CLAMP_CONNECTOR__PORT1_PATH:
+ return getPort1_path();
+ case EnvironmentPackage.CLAMP_CONNECTOR__PORT2_PATH:
+ return getPort2_path();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case EnvironmentPackage.CLAMP_CONNECTOR__PORT:
+ return !getPort().isEmpty();
+ case EnvironmentPackage.CLAMP_CONNECTOR__BASE_CONNECTOR:
+ return base_Connector != null;
+ case EnvironmentPackage.CLAMP_CONNECTOR__PORT1_PATH:
+ return port1_path != null && !port1_path.isEmpty();
+ case EnvironmentPackage.CLAMP_CONNECTOR__PORT2_PATH:
+ return port2_path != null && !port2_path.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case EnvironmentPackage.CLAMP_CONNECTOR__BASE_CONNECTOR:
+ setBase_Connector((Connector)newValue);
+ return;
+ case EnvironmentPackage.CLAMP_CONNECTOR__PORT1_PATH:
+ getPort1_path().clear();
+ getPort1_path().addAll((Collection<? extends FunctionPrototype>)newValue);
+ return;
+ case EnvironmentPackage.CLAMP_CONNECTOR__PORT2_PATH:
+ getPort2_path().clear();
+ getPort2_path().addAll((Collection<? extends FunctionPrototype>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return EnvironmentPackage.Literals.CLAMP_CONNECTOR;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case EnvironmentPackage.CLAMP_CONNECTOR__BASE_CONNECTOR:
+ setBase_Connector((Connector)null);
+ return;
+ case EnvironmentPackage.CLAMP_CONNECTOR__PORT1_PATH:
+ getPort1_path().clear();
+ return;
+ case EnvironmentPackage.CLAMP_CONNECTOR__PORT2_PATH:
+ getPort2_path().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<FunctionPort> getPort() {
+ EList<FunctionPort> flowPorts = new BasicEList<FunctionPort>();
+ FunctionFlowPort currentFlowPort;
+
+ if(getBase_Connector() != null) {
+ // Parse owned Connectors
+ Iterator<ConnectorEnd> it = getBase_Connector().getEnds().iterator();
+ while(it.hasNext()) {
+ ConnectorEnd current = it.next();
+ ConnectableElement ce = current.getRole();
+
+ if((ce != null) && (ce instanceof Port)) {
+ // Test if ce is stereotyped FunctionFlowPort
+ currentFlowPort = (FunctionFlowPort)UMLUtil.getStereotypeApplication(ce, FunctionFlowPort.class);
+
+ if(currentFlowPort != null) {
+ flowPorts.add(currentFlowPort);
+ }
+ }
+ }
+ }
+
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<FunctionPort>(FunctionPort.class, flowPorts.size(), flowPorts.toArray());
+ }
+
+ /**
+ * <!-- 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, EnvironmentPackage.CLAMP_CONNECTOR__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, EnvironmentPackage.CLAMP_CONNECTOR__BASE_CONNECTOR, oldBase_Connector, base_Connector));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FunctionPrototype> getPort1_path() {
+ if (port1_path == null) {
+ port1_path = new EObjectResolvingEList<FunctionPrototype>(FunctionPrototype.class, this, EnvironmentPackage.CLAMP_CONNECTOR__PORT1_PATH);
+ }
+ return port1_path;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FunctionPrototype> getPort2_path() {
+ if (port2_path == null) {
+ port2_path = new EObjectResolvingEList<FunctionPrototype>(FunctionPrototype.class, this, EnvironmentPackage.CLAMP_CONNECTOR__PORT2_PATH);
+ }
+ return port2_path;
+ }
+
+} // ClampConnectorImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/impl/EnvironmentFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/impl/EnvironmentFactoryImpl.java
new file mode 100644
index 00000000000..5ca95f0ab54
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/impl/EnvironmentFactoryImpl.java
@@ -0,0 +1,120 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.environment.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.eclipse.papyrus.eastadl.environment.ClampConnector;
+import org.eclipse.papyrus.eastadl.environment.Environment;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentFactory;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EnvironmentFactoryImpl extends EFactoryImpl implements EnvironmentFactory {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static EnvironmentPackage getPackage() {
+ return EnvironmentPackage.eINSTANCE;
+ }
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static EnvironmentFactory init() {
+ try {
+ EnvironmentFactory theEnvironmentFactory = (EnvironmentFactory)EPackage.Registry.INSTANCE.getEFactory(EnvironmentPackage.eNS_URI);
+ if (theEnvironmentFactory != null) {
+ return theEnvironmentFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new EnvironmentFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EnvironmentFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case EnvironmentPackage.ENVIRONMENT: return createEnvironment();
+ case EnvironmentPackage.CLAMP_CONNECTOR: return createClampConnector();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ClampConnector createClampConnector() {
+ ClampConnectorImpl clampConnector = new ClampConnectorImpl();
+ return clampConnector;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Environment createEnvironment() {
+ EnvironmentImpl environment = new EnvironmentImpl();
+ return environment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EnvironmentPackage getEnvironmentPackage() {
+ return (EnvironmentPackage)getEPackage();
+ }
+
+} //EnvironmentFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/impl/EnvironmentImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/impl/EnvironmentImpl.java
new file mode 100644
index 00000000000..33d005e1e12
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/impl/EnvironmentImpl.java
@@ -0,0 +1,328 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.environment.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.eastadl.environment.ClampConnector;
+import org.eclipse.papyrus.eastadl.environment.Environment;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ContextImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Environment</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.environment.impl.EnvironmentImpl#getEnvironmentModel <em>Environment Model</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.environment.impl.EnvironmentImpl#getClampConnector <em>Clamp Connector</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.environment.impl.EnvironmentImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.environment.impl.EnvironmentImpl#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EnvironmentImpl extends ContextImpl implements Environment {
+ /**
+ * The cached value of the '{@link #getEnvironmentModel() <em>Environment Model</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEnvironmentModel()
+ * @generated
+ * @ordered
+ */
+ protected FunctionPrototype environmentModel;
+
+ /**
+ * The cached value of the '{@link #getClampConnector() <em>Clamp Connector</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClampConnector()
+ * @generated
+ * @ordered
+ */
+ protected EList<ClampConnector> clampConnector;
+
+ /**
+ * 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 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 EnvironmentImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionPrototype basicGetEnvironmentModel() {
+ return environmentModel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case EnvironmentPackage.ENVIRONMENT__ENVIRONMENT_MODEL:
+ if (resolve) return getEnvironmentModel();
+ return basicGetEnvironmentModel();
+ case EnvironmentPackage.ENVIRONMENT__CLAMP_CONNECTOR:
+ return getClampConnector();
+ case EnvironmentPackage.ENVIRONMENT__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case EnvironmentPackage.ENVIRONMENT__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 boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case EnvironmentPackage.ENVIRONMENT__ENVIRONMENT_MODEL:
+ return environmentModel != null;
+ case EnvironmentPackage.ENVIRONMENT__CLAMP_CONNECTOR:
+ return clampConnector != null && !clampConnector.isEmpty();
+ case EnvironmentPackage.ENVIRONMENT__BASE_CLASS:
+ return base_Class != null;
+ case EnvironmentPackage.ENVIRONMENT__BASE_PACKAGE:
+ return base_Package != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case EnvironmentPackage.ENVIRONMENT__ENVIRONMENT_MODEL:
+ setEnvironmentModel((FunctionPrototype)newValue);
+ return;
+ case EnvironmentPackage.ENVIRONMENT__CLAMP_CONNECTOR:
+ getClampConnector().clear();
+ getClampConnector().addAll((Collection<? extends ClampConnector>)newValue);
+ return;
+ case EnvironmentPackage.ENVIRONMENT__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case EnvironmentPackage.ENVIRONMENT__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return EnvironmentPackage.Literals.ENVIRONMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case EnvironmentPackage.ENVIRONMENT__ENVIRONMENT_MODEL:
+ setEnvironmentModel((FunctionPrototype)null);
+ return;
+ case EnvironmentPackage.ENVIRONMENT__CLAMP_CONNECTOR:
+ getClampConnector().clear();
+ return;
+ case EnvironmentPackage.ENVIRONMENT__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case EnvironmentPackage.ENVIRONMENT__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ClampConnector> getClampConnector() {
+ if (clampConnector == null) {
+ clampConnector = new EObjectResolvingEList<ClampConnector>(ClampConnector.class, this, EnvironmentPackage.ENVIRONMENT__CLAMP_CONNECTOR);
+ }
+ return clampConnector;
+ }
+
+ /**
+ * <!-- 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, EnvironmentPackage.ENVIRONMENT__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, EnvironmentPackage.ENVIRONMENT__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- 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, EnvironmentPackage.ENVIRONMENT__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, EnvironmentPackage.ENVIRONMENT__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionPrototype getEnvironmentModel() {
+ if (environmentModel != null && environmentModel.eIsProxy()) {
+ InternalEObject oldEnvironmentModel = (InternalEObject)environmentModel;
+ environmentModel = (FunctionPrototype)eResolveProxy(oldEnvironmentModel);
+ if (environmentModel != oldEnvironmentModel) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, EnvironmentPackage.ENVIRONMENT__ENVIRONMENT_MODEL, oldEnvironmentModel, environmentModel));
+ }
+ }
+ return environmentModel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEnvironmentModel(FunctionPrototype newEnvironmentModel) {
+ FunctionPrototype oldEnvironmentModel = environmentModel;
+ environmentModel = newEnvironmentModel;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EnvironmentPackage.ENVIRONMENT__ENVIRONMENT_MODEL, oldEnvironmentModel, environmentModel));
+ }
+
+} //EnvironmentImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/impl/EnvironmentPackageImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/impl/EnvironmentPackageImpl.java
new file mode 100644
index 00000000000..12128df7a88
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/impl/EnvironmentPackageImpl.java
@@ -0,0 +1,432 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.environment.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.eastadl.EastadlPackage;
+import org.eclipse.papyrus.eastadl.annex.AnnexPackage;
+import org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl;
+import org.eclipse.papyrus.eastadl.environment.ClampConnector;
+import org.eclipse.papyrus.eastadl.environment.Environment;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentFactory;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.StructurePackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EnvironmentPackageImpl extends EPackageImpl implements EnvironmentPackage {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass environmentEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass clampConnectorEClass = null;
+
+ /**
+ * <!-- 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 EnvironmentPackage#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 EnvironmentPackage init() {
+ if (isInited) return (EnvironmentPackage)EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI);
+
+ // Obtain or create and register package
+ EnvironmentPackageImpl theEnvironmentPackage = (EnvironmentPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EnvironmentPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new EnvironmentPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ SysmlPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EastadlPackageImpl theEastadlPackage = (EastadlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) instanceof EastadlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) : EastadlPackage.eINSTANCE);
+ VariabilityPackageImpl theVariabilityPackage = (VariabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) instanceof VariabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) : VariabilityPackage.eINSTANCE);
+ InfrastructurePackageImpl theInfrastructurePackage = (InfrastructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) instanceof InfrastructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) : InfrastructurePackage.eINSTANCE);
+ DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) instanceof DatatypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) : DatatypesPackage.eINSTANCE);
+ UserattributesPackageImpl theUserattributesPackage = (UserattributesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) instanceof UserattributesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) : UserattributesPackage.eINSTANCE);
+ ElementsPackageImpl theElementsPackage = (ElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) instanceof ElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) : ElementsPackage.eINSTANCE);
+ StructurePackageImpl theStructurePackage = (StructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) instanceof StructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) : StructurePackage.eINSTANCE);
+ FunctionmodelingPackageImpl theFunctionmodelingPackage = (FunctionmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) instanceof FunctionmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) : FunctionmodelingPackage.eINSTANCE);
+ HardwaremodelingPackageImpl theHardwaremodelingPackage = (HardwaremodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) instanceof HardwaremodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) : HardwaremodelingPackage.eINSTANCE);
+ SystemmodelingPackageImpl theSystemmodelingPackage = (SystemmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) instanceof SystemmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) : SystemmodelingPackage.eINSTANCE);
+ VehiclefeaturemodelingPackageImpl theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) instanceof VehiclefeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) : VehiclefeaturemodelingPackage.eINSTANCE);
+ FeaturemodelingPackageImpl theFeaturemodelingPackage = (FeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) instanceof FeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) : FeaturemodelingPackage.eINSTANCE);
+ BehaviorPackageImpl theBehaviorPackage = (BehaviorPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) instanceof BehaviorPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) : BehaviorPackage.eINSTANCE);
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) : RequirementsPackage.eINSTANCE);
+ VerificationvalidationPackageImpl theVerificationvalidationPackage = (VerificationvalidationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) instanceof VerificationvalidationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) : VerificationvalidationPackage.eINSTANCE);
+ TimingPackageImpl theTimingPackage = (TimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) instanceof TimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) : TimingPackage.eINSTANCE);
+ TimingconstraintsPackageImpl theTimingconstraintsPackage = (TimingconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) instanceof TimingconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) : TimingconstraintsPackage.eINSTANCE);
+ EventsPackageImpl theEventsPackage = (EventsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+ InterchangePackageImpl theInterchangePackage = (InterchangePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) instanceof InterchangePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) : InterchangePackage.eINSTANCE);
+ DependabilityPackageImpl theDependabilityPackage = (DependabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) instanceof DependabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) : DependabilityPackage.eINSTANCE);
+ ErrormodelPackageImpl theErrormodelPackage = (ErrormodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) instanceof ErrormodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) : ErrormodelPackage.eINSTANCE);
+ SafetyrequirementPackageImpl theSafetyrequirementPackage = (SafetyrequirementPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) instanceof SafetyrequirementPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) : SafetyrequirementPackage.eINSTANCE);
+ SafetyconstraintsPackageImpl theSafetyconstraintsPackage = (SafetyconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) instanceof SafetyconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) : SafetyconstraintsPackage.eINSTANCE);
+ SafetycasePackageImpl theSafetycasePackage = (SafetycasePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) instanceof SafetycasePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) : SafetycasePackage.eINSTANCE);
+ AnnexPackageImpl theAnnexPackage = (AnnexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) instanceof AnnexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) : AnnexPackage.eINSTANCE);
+ NeedsPackageImpl theNeedsPackage = (NeedsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) instanceof NeedsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) : NeedsPackage.eINSTANCE);
+ GenericconstraintsPackageImpl theGenericconstraintsPackage = (GenericconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) instanceof GenericconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) : GenericconstraintsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theEnvironmentPackage.createPackageContents();
+ theEastadlPackage.createPackageContents();
+ theVariabilityPackage.createPackageContents();
+ theInfrastructurePackage.createPackageContents();
+ theDatatypesPackage.createPackageContents();
+ theUserattributesPackage.createPackageContents();
+ theElementsPackage.createPackageContents();
+ theStructurePackage.createPackageContents();
+ theFunctionmodelingPackage.createPackageContents();
+ theHardwaremodelingPackage.createPackageContents();
+ theSystemmodelingPackage.createPackageContents();
+ theVehiclefeaturemodelingPackage.createPackageContents();
+ theFeaturemodelingPackage.createPackageContents();
+ theBehaviorPackage.createPackageContents();
+ theRequirementsPackage.createPackageContents();
+ theVerificationvalidationPackage.createPackageContents();
+ theTimingPackage.createPackageContents();
+ theTimingconstraintsPackage.createPackageContents();
+ theEventsPackage.createPackageContents();
+ theInterchangePackage.createPackageContents();
+ theDependabilityPackage.createPackageContents();
+ theErrormodelPackage.createPackageContents();
+ theSafetyrequirementPackage.createPackageContents();
+ theSafetyconstraintsPackage.createPackageContents();
+ theSafetycasePackage.createPackageContents();
+ theAnnexPackage.createPackageContents();
+ theNeedsPackage.createPackageContents();
+ theGenericconstraintsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theEnvironmentPackage.initializePackageContents();
+ theEastadlPackage.initializePackageContents();
+ theVariabilityPackage.initializePackageContents();
+ theInfrastructurePackage.initializePackageContents();
+ theDatatypesPackage.initializePackageContents();
+ theUserattributesPackage.initializePackageContents();
+ theElementsPackage.initializePackageContents();
+ theStructurePackage.initializePackageContents();
+ theFunctionmodelingPackage.initializePackageContents();
+ theHardwaremodelingPackage.initializePackageContents();
+ theSystemmodelingPackage.initializePackageContents();
+ theVehiclefeaturemodelingPackage.initializePackageContents();
+ theFeaturemodelingPackage.initializePackageContents();
+ theBehaviorPackage.initializePackageContents();
+ theRequirementsPackage.initializePackageContents();
+ theVerificationvalidationPackage.initializePackageContents();
+ theTimingPackage.initializePackageContents();
+ theTimingconstraintsPackage.initializePackageContents();
+ theEventsPackage.initializePackageContents();
+ theInterchangePackage.initializePackageContents();
+ theDependabilityPackage.initializePackageContents();
+ theErrormodelPackage.initializePackageContents();
+ theSafetyrequirementPackage.initializePackageContents();
+ theSafetyconstraintsPackage.initializePackageContents();
+ theSafetycasePackage.initializePackageContents();
+ theAnnexPackage.initializePackageContents();
+ theNeedsPackage.initializePackageContents();
+ theGenericconstraintsPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theEnvironmentPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(EnvironmentPackage.eNS_URI, theEnvironmentPackage);
+ return theEnvironmentPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * 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.eclipse.papyrus.eastadl.environment.EnvironmentPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private EnvironmentPackageImpl() {
+ super(eNS_URI, EnvironmentFactory.eINSTANCE);
+ }
+
+ /**
+ * 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
+ environmentEClass = createEClass(ENVIRONMENT);
+ createEReference(environmentEClass, ENVIRONMENT__ENVIRONMENT_MODEL);
+ createEReference(environmentEClass, ENVIRONMENT__CLAMP_CONNECTOR);
+ createEReference(environmentEClass, ENVIRONMENT__BASE_CLASS);
+ createEReference(environmentEClass, ENVIRONMENT__BASE_PACKAGE);
+
+ clampConnectorEClass = createEClass(CLAMP_CONNECTOR);
+ createEReference(clampConnectorEClass, CLAMP_CONNECTOR__PORT);
+ createEReference(clampConnectorEClass, CLAMP_CONNECTOR__BASE_CONNECTOR);
+ createEReference(clampConnectorEClass, CLAMP_CONNECTOR__PORT1_PATH);
+ createEReference(clampConnectorEClass, CLAMP_CONNECTOR__PORT2_PATH);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getClampConnector() {
+ return clampConnectorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClampConnector_Port() {
+ return (EReference)clampConnectorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClampConnector_Base_Connector() {
+ return (EReference)clampConnectorEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClampConnector_Port1_path() {
+ return (EReference)clampConnectorEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getClampConnector_Port2_path() {
+ return (EReference)clampConnectorEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEnvironment() {
+ return environmentEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEnvironment_ClampConnector() {
+ return (EReference)environmentEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEnvironment_Base_Class() {
+ return (EReference)environmentEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEnvironment_Base_Package() {
+ return (EReference)environmentEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEnvironment_EnvironmentModel() {
+ return (EReference)environmentEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EnvironmentFactory getEnvironmentFactory() {
+ return (EnvironmentFactory)getEFactoryInstance();
+ }
+
+ /**
+ * 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
+ ElementsPackage theElementsPackage = (ElementsPackage)EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI);
+ FunctionmodelingPackage theFunctionmodelingPackage = (FunctionmodelingPackage)EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI);
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ environmentEClass.getESuperTypes().add(theElementsPackage.getContext());
+ clampConnectorEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(environmentEClass, Environment.class, "Environment", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getEnvironment_EnvironmentModel(), theFunctionmodelingPackage.getFunctionPrototype(), null, "environmentModel", null, 0, 1, Environment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getEnvironment_ClampConnector(), this.getClampConnector(), null, "clampConnector", null, 0, -1, Environment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getEnvironment_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, Environment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getEnvironment_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, Environment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(clampConnectorEClass, ClampConnector.class, "ClampConnector", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getClampConnector_Port(), theFunctionmodelingPackage.getFunctionPort(), null, "port", null, 2, 2, ClampConnector.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getClampConnector_Base_Connector(), theUMLPackage.getConnector(), null, "base_Connector", null, 1, 1, ClampConnector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getClampConnector_Port1_path(), theFunctionmodelingPackage.getFunctionPrototype(), null, "port1_path", null, 0, -1, ClampConnector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getClampConnector_Port2_path(), theFunctionmodelingPackage.getFunctionPrototype(), null, "port2_path", null, 0, -1, ClampConnector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ }
+
+} //EnvironmentPackageImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/util/EnvironmentAdapterFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/util/EnvironmentAdapterFactory.java
new file mode 100644
index 00000000000..5eaf642d13f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/util/EnvironmentAdapterFactory.java
@@ -0,0 +1,188 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.environment.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.eastadl.environment.ClampConnector;
+import org.eclipse.papyrus.eastadl.environment.Environment;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.environment.EnvironmentPackage
+ * @generated
+ */
+public class EnvironmentAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static EnvironmentPackage modelPackage;
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EnvironmentSwitch<Adapter> modelSwitch =
+ new EnvironmentSwitch<Adapter>() {
+ @Override
+ public Adapter caseEnvironment(Environment object) {
+ return createEnvironmentAdapter();
+ }
+ @Override
+ public Adapter caseClampConnector(ClampConnector object) {
+ return createClampConnectorAdapter();
+ }
+ @Override
+ public Adapter caseEAElement(EAElement object) {
+ return createEAElementAdapter();
+ }
+ @Override
+ public Adapter caseContext(Context object) {
+ return createContextAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EnvironmentAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = EnvironmentPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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.eclipse.papyrus.eastadl.environment.ClampConnector <em>Clamp Connector</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.environment.ClampConnector
+ * @generated
+ */
+ public Adapter createClampConnectorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement <em>EA Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAElement
+ * @generated
+ */
+ public Adapter createEAElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Context <em>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.eastadl.infrastructure.elements.Context
+ * @generated
+ */
+ public Adapter createContextAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.environment.Environment <em>Environment</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.environment.Environment
+ * @generated
+ */
+ public Adapter createEnvironmentAdapter() {
+ 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;
+ }
+
+ /**
+ * 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;
+ }
+
+} //EnvironmentAdapterFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/util/EnvironmentResourceFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/util/EnvironmentResourceFactoryImpl.java
new file mode 100644
index 00000000000..27b6553574b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/util/EnvironmentResourceFactoryImpl.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.environment.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.eclipse.papyrus.eastadl.environment.util.EnvironmentResourceImpl
+ * @generated
+ */
+public class EnvironmentResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EnvironmentResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new EnvironmentResourceImpl(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;
+ }
+
+} //EnvironmentResourceFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/util/EnvironmentResourceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/util/EnvironmentResourceImpl.java
new file mode 100644
index 00000000000..7bd2be30488
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/util/EnvironmentResourceImpl.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.environment.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.eclipse.papyrus.eastadl.environment.util.EnvironmentResourceFactoryImpl
+ * @generated
+ */
+public class EnvironmentResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public EnvironmentResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //EnvironmentResourceImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/util/EnvironmentSwitch.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/util/EnvironmentSwitch.java
new file mode 100644
index 00000000000..56b2bb4809c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/util/EnvironmentSwitch.java
@@ -0,0 +1,180 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.environment.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.eastadl.environment.ClampConnector;
+import org.eclipse.papyrus.eastadl.environment.Environment;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.environment.EnvironmentPackage
+ * @generated
+ */
+public class EnvironmentSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static EnvironmentPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EnvironmentSwitch() {
+ if (modelPackage == null) {
+ modelPackage = EnvironmentPackage.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;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Clamp Connector</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Clamp Connector</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseClampConnector(ClampConnector object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAElement(EAElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>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>Context</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseContext(Context object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Environment</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Environment</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEnvironment(Environment 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;
+ }
+
+ /**
+ * 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 EnvironmentPackage.ENVIRONMENT: {
+ Environment environment = (Environment)theEObject;
+ T result = caseEnvironment(environment);
+ if (result == null) result = caseContext(environment);
+ if (result == null) result = caseEAElement(environment);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EnvironmentPackage.CLAMP_CONNECTOR: {
+ ClampConnector clampConnector = (ClampConnector)theEObject;
+ T result = caseClampConnector(clampConnector);
+ if (result == null) result = caseEAElement(clampConnector);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+} //EnvironmentSwitch
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/util/EnvironmentXMLProcessor.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/util/EnvironmentXMLProcessor.java
new file mode 100644
index 00000000000..ec06c69400c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/environment/util/EnvironmentXMLProcessor.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.environment.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.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EnvironmentXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EnvironmentXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ EnvironmentPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the EnvironmentResourceFactoryImpl 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 EnvironmentResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new EnvironmentResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //EnvironmentXMLProcessor
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/GenericConstraint.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/GenericConstraint.java
new file mode 100644
index 00000000000..f940fff84e7
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/GenericConstraint.java
@@ -0,0 +1,200 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.genericconstraints;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.behavior.Mode;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.NamedElement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Generic Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The GenericConstraint denotes a property, requirement, or a validation result for the identified element of the model. The kind of GenericConstraint is described as one of the GenericConstraintKind literals.
+ *
+ * Example: If the attribute genericConstraintType is cableLength, the genericConstraintValue could be "5 meters" (value of a numerical datatype with unit "meters").
+ *
+ * Semantics:
+ * The GenericConstraint does not describe what is classically referred to as a design constraint but has the role of a property, requirement, or a validation result. It is a requirement if this GenericConstraint refines a Requirement (by the Refine relationship). The GenericConstraint is a validation result if it realizes a VVActualOutcome, it is an intended validation result if it realizes a VVIntendedOutcome, and in other cases it denotes a property.
+ *
+ *
+ *
+ * Extension: Class, Constraint
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint#getDesignConstraintType <em>Design Constraint Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint#getBase_Constraint <em>Base Constraint</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint#getGenericConstraintValue <em>Generic Constraint Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint#getTarget <em>Target</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint#getMode <em>Mode</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage#getGenericConstraint()
+ * @model
+ * @generated
+ */
+public interface GenericConstraint extends TraceableSpecification {
+ /**
+ * Returns the value of the '<em><b>Design Constraint Type</b></em>' attribute.
+ * The default value is <code>""</code>.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Design Constraint 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>Design Constraint Type</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintKind
+ * @see #setDesignConstraintType(GenericConstraintKind)
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage#getGenericConstraint_DesignConstraintType()
+ * @model default="" ordered="false"
+ * @generated
+ */
+ GenericConstraintKind getDesignConstraintType();
+
+ /**
+ * Returns the value of the '<em><b>Generic Constraint Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Generic Constraint Value</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>Generic Constraint Value</em>' attribute.
+ * @see #setGenericConstraintValue(String)
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage#getGenericConstraint_GenericConstraintValue()
+ * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getGenericConstraintValue();
+
+ /**
+ * Returns the value of the '<em><b>Mode</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.behavior.Mode}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Mode</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage#getGenericConstraint_Mode()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Mode> getMode();
+
+ /**
+ * Returns the value of the '<em><b>Target</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.NamedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Target</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</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage#getGenericConstraint_Target()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<NamedElement> getTarget();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint#getDesignConstraintType <em>Design Constraint Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Design Constraint Type</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintKind
+ * @see #getDesignConstraintType()
+ * @generated
+ */
+ void setDesignConstraintType(GenericConstraintKind value);
+
+ /**
+ * Returns the value of the '<em><b>Base Constraint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Constraint</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 Constraint</em>' reference.
+ * @see #setBase_Constraint(Constraint)
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage#getGenericConstraint_Base_Constraint()
+ * @model ordered="false"
+ * @generated
+ */
+ Constraint getBase_Constraint();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint#getBase_Constraint <em>Base Constraint</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Constraint</em>' reference.
+ * @see #getBase_Constraint()
+ * @generated
+ */
+ void setBase_Constraint(Constraint value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint#getGenericConstraintValue <em>Generic Constraint Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Generic Constraint Value</em>' attribute.
+ * @see #getGenericConstraintValue()
+ * @generated
+ */
+ void setGenericConstraintValue(String 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.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage#getGenericConstraint_Base_Class()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint#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);
+
+} // GenericConstraint
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/GenericConstraintKind.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/GenericConstraintKind.java
new file mode 100644
index 00000000000..9c342479342
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/GenericConstraintKind.java
@@ -0,0 +1,426 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.genericconstraints;
+
+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>Generic Constraint Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Enumeration for different type of constraints.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage#getGenericConstraintKind()
+ * @model
+ * @generated
+ */
+public enum GenericConstraintKind implements Enumerator {
+ /**
+ * The '<em><b>Power Consumption</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #POWER_CONSUMPTION_VALUE
+ * @generated
+ * @ordered
+ */
+ POWER_CONSUMPTION(0, "powerConsumption", "powerConsumption"),
+
+ /**
+ * The '<em><b>Other</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #OTHER_VALUE
+ * @generated
+ * @ordered
+ */
+ OTHER(1, "other", "other"),
+
+ /**
+ * The '<em><b>Piece Cost</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PIECE_COST_VALUE
+ * @generated
+ * @ordered
+ */
+ PIECE_COST(2, "pieceCost", "pieceCost"), /**
+ * The '<em><b>Weight</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #WEIGHT_VALUE
+ * @generated
+ * @ordered
+ */
+ WEIGHT(3, "weight", "weight"), /**
+ * The '<em><b>Standard</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #STANDARD_VALUE
+ * @generated
+ * @ordered
+ */
+ STANDARD(4, "standard", "standard"), /**
+ * The '<em><b>Cable Length</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #CABLE_LENGTH_VALUE
+ * @generated
+ * @ordered
+ */
+ CABLE_LENGTH(5, "cableLength", "cableLength"), /**
+ * The '<em><b>Development Cost</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #DEVELOPMENT_COST_VALUE
+ * @generated
+ * @ordered
+ */
+ DEVELOPMENT_COST(6, "developmentCost", "developmentCost"), /**
+ * The '<em><b>Function Allocation Different Nodes</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #FUNCTION_ALLOCATION_DIFFERENT_NODES_VALUE
+ * @generated
+ * @ordered
+ */
+ FUNCTION_ALLOCATION_DIFFERENT_NODES(7, "functionAllocationDifferentNodes", "functionAllocationDifferentNodes"), /**
+ * The '<em><b>Function Allocation Same Node</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #FUNCTION_ALLOCATION_SAME_NODE_VALUE
+ * @generated
+ * @ordered
+ */
+ FUNCTION_ALLOCATION_SAME_NODE(8, "functionAllocationSameNode", "functionAllocationSameNode"), /**
+ * The '<em><b>Power Supply Independent</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #POWER_SUPPLY_INDEPENDENT_VALUE
+ * @generated
+ * @ordered
+ */
+ POWER_SUPPLY_INDEPENDENT(9, "powerSupplyIndependent", "powerSupplyIndependent");
+
+ /**
+ * The '<em><b>Power Consumption</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Power Consumption</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #POWER_CONSUMPTION
+ * @model name="powerConsumption"
+ * @generated
+ * @ordered
+ */
+ public static final int POWER_CONSUMPTION_VALUE = 0;
+
+ /**
+ * The '<em><b>Other</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Other</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #OTHER
+ * @model name="other"
+ * @generated
+ * @ordered
+ */
+ public static final int OTHER_VALUE = 1;
+
+ /**
+ * The '<em><b>Piece Cost</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Piece Cost</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PIECE_COST
+ * @model name="pieceCost"
+ * @generated
+ * @ordered
+ */
+ public static final int PIECE_COST_VALUE = 2;
+
+ /**
+ * The '<em><b>Weight</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Weight</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #WEIGHT
+ * @model name="weight"
+ * @generated
+ * @ordered
+ */
+ public static final int WEIGHT_VALUE = 3;
+
+ /**
+ * The '<em><b>Standard</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Standard</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #STANDARD
+ * @model name="standard"
+ * @generated
+ * @ordered
+ */
+ public static final int STANDARD_VALUE = 4;
+
+ /**
+ * The '<em><b>Cable Length</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Cable Length</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #CABLE_LENGTH
+ * @model name="cableLength"
+ * @generated
+ * @ordered
+ */
+ public static final int CABLE_LENGTH_VALUE = 5;
+
+ /**
+ * The '<em><b>Development Cost</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Development Cost</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #DEVELOPMENT_COST
+ * @model name="developmentCost"
+ * @generated
+ * @ordered
+ */
+ public static final int DEVELOPMENT_COST_VALUE = 6;
+
+ /**
+ * The '<em><b>Function Allocation Different Nodes</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Function Allocation Different Nodes</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #FUNCTION_ALLOCATION_DIFFERENT_NODES
+ * @model name="functionAllocationDifferentNodes"
+ * @generated
+ * @ordered
+ */
+ public static final int FUNCTION_ALLOCATION_DIFFERENT_NODES_VALUE = 7;
+
+ /**
+ * The '<em><b>Function Allocation Same Node</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Function Allocation Same Node</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #FUNCTION_ALLOCATION_SAME_NODE
+ * @model name="functionAllocationSameNode"
+ * @generated
+ * @ordered
+ */
+ public static final int FUNCTION_ALLOCATION_SAME_NODE_VALUE = 8;
+
+ /**
+ * The '<em><b>Power Supply Independent</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Power Supply Independent</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #POWER_SUPPLY_INDEPENDENT
+ * @model name="powerSupplyIndependent"
+ * @generated
+ * @ordered
+ */
+ public static final int POWER_SUPPLY_INDEPENDENT_VALUE = 9;
+
+ /**
+ * An array of all the '<em><b>Generic Constraint Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final GenericConstraintKind[] VALUES_ARRAY =
+ new GenericConstraintKind[] {
+ POWER_CONSUMPTION,
+ OTHER,
+ PIECE_COST,
+ WEIGHT,
+ STANDARD,
+ CABLE_LENGTH,
+ DEVELOPMENT_COST,
+ FUNCTION_ALLOCATION_DIFFERENT_NODES,
+ FUNCTION_ALLOCATION_SAME_NODE,
+ POWER_SUPPLY_INDEPENDENT,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Generic Constraint Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<GenericConstraintKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Generic Constraint Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static GenericConstraintKind get(int value) {
+ switch (value) {
+ case POWER_CONSUMPTION_VALUE: return POWER_CONSUMPTION;
+ case OTHER_VALUE: return OTHER;
+ case PIECE_COST_VALUE: return PIECE_COST;
+ case WEIGHT_VALUE: return WEIGHT;
+ case STANDARD_VALUE: return STANDARD;
+ case CABLE_LENGTH_VALUE: return CABLE_LENGTH;
+ case DEVELOPMENT_COST_VALUE: return DEVELOPMENT_COST;
+ case FUNCTION_ALLOCATION_DIFFERENT_NODES_VALUE: return FUNCTION_ALLOCATION_DIFFERENT_NODES;
+ case FUNCTION_ALLOCATION_SAME_NODE_VALUE: return FUNCTION_ALLOCATION_SAME_NODE;
+ case POWER_SUPPLY_INDEPENDENT_VALUE: return POWER_SUPPLY_INDEPENDENT;
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Generic Constraint Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static GenericConstraintKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ GenericConstraintKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Generic Constraint Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static GenericConstraintKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ GenericConstraintKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ 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 GenericConstraintKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * 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;
+ }
+
+} //GenericConstraintKind
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/GenericConstraintSet.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/GenericConstraintSet.java
new file mode 100644
index 00000000000..5e917d95970
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/GenericConstraintSet.java
@@ -0,0 +1,113 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.genericconstraints;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Generic Constraint Set</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The collection of generic constraints. This collection can be done across the EAST-ADL2 abstraction levels.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintSet#getGenericConstraint <em>Generic Constraint</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintSet#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintSet#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage#getGenericConstraintSet()
+ * @model
+ * @generated
+ */
+public interface GenericConstraintSet extends Context {
+ /**
+ * Returns the value of the '<em><b>Generic Constraint</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Generic Constraint</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Generic Constraint</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage#getGenericConstraintSet_GenericConstraint()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<GenericConstraint> getGenericConstraint();
+
+ /**
+ * 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.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage#getGenericConstraintSet_Base_Package()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintSet#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>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.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage#getGenericConstraintSet_Base_Class()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintSet#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);
+
+} // GenericConstraintSet
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/GenericconstraintsFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/GenericconstraintsFactory.java
new file mode 100644
index 00000000000..3a89086f25f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/GenericconstraintsFactory.java
@@ -0,0 +1,73 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.genericconstraints;
+
+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.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage
+ * @generated
+ */
+public interface GenericconstraintsFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ GenericconstraintsFactory eINSTANCE = org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Generic Constraint</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Generic Constraint</em>'.
+ * @generated
+ */
+ GenericConstraint createGenericConstraint();
+
+ /**
+ * Returns a new object of class '<em>Generic Constraint Set</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Generic Constraint Set</em>'.
+ * @generated
+ */
+ GenericConstraintSet createGenericConstraintSet();
+
+ /**
+ * Returns a new object of class '<em>Take Rate Constraint</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Take Rate Constraint</em>'.
+ * @generated
+ */
+ TakeRateConstraint createTakeRateConstraint();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ GenericconstraintsPackage getGenericconstraintsPackage();
+
+} //GenericconstraintsFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/GenericconstraintsPackage.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/GenericconstraintsPackage.java
new file mode 100644
index 00000000000..dfe8641a9a9
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/GenericconstraintsPackage.java
@@ -0,0 +1,743 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.genericconstraints;
+
+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.eastadl.infrastructure.elements.ElementsPackage;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface GenericconstraintsPackage extends EPackage {
+ /**
+ * <!-- 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.eclipse.papyrus.eastadl.genericconstraints.impl.GenericConstraintSetImpl <em>Generic Constraint Set</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericConstraintSetImpl
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl#getGenericConstraintSet()
+ * @generated
+ */
+ EClass GENERIC_CONSTRAINT_SET = eINSTANCE.getGenericConstraintSet();
+
+ /**
+ * The meta object literal for the '<em><b>Generic Constraint</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference GENERIC_CONSTRAINT_SET__GENERIC_CONSTRAINT = eINSTANCE.getGenericConstraintSet_GenericConstraint();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference GENERIC_CONSTRAINT_SET__BASE_PACKAGE = eINSTANCE.getGenericConstraintSet_Base_Package();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference GENERIC_CONSTRAINT_SET__BASE_CLASS = eINSTANCE.getGenericConstraintSet_Base_Class();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.genericconstraints.impl.TakeRateConstraintImpl <em>Take Rate Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.impl.TakeRateConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl#getTakeRateConstraint()
+ * @generated
+ */
+ EClass TAKE_RATE_CONSTRAINT = eINSTANCE.getTakeRateConstraint();
+
+ /**
+ * The meta object literal for the '<em><b>Source</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TAKE_RATE_CONSTRAINT__SOURCE = eINSTANCE.getTakeRateConstraint_Source();
+
+ /**
+ * The meta object literal for the '<em><b>Take Rate</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TAKE_RATE_CONSTRAINT__TAKE_RATE = eINSTANCE.getTakeRateConstraint_TakeRate();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericConstraintImpl <em>Generic Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl#getGenericConstraint()
+ * @generated
+ */
+ EClass GENERIC_CONSTRAINT = eINSTANCE.getGenericConstraint();
+
+ /**
+ * The meta object literal for the '<em><b>Design Constraint Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute GENERIC_CONSTRAINT__DESIGN_CONSTRAINT_TYPE = eINSTANCE.getGenericConstraint_DesignConstraintType();
+
+ /**
+ * The meta object literal for the '<em><b>Base Constraint</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference GENERIC_CONSTRAINT__BASE_CONSTRAINT = eINSTANCE.getGenericConstraint_Base_Constraint();
+
+ /**
+ * The meta object literal for the '<em><b>Generic Constraint Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute GENERIC_CONSTRAINT__GENERIC_CONSTRAINT_VALUE = eINSTANCE.getGenericConstraint_GenericConstraintValue();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference GENERIC_CONSTRAINT__BASE_CLASS = eINSTANCE.getGenericConstraint_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Target</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference GENERIC_CONSTRAINT__TARGET = eINSTANCE.getGenericConstraint_Target();
+
+ /**
+ * The meta object literal for the '<em><b>Mode</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference GENERIC_CONSTRAINT__MODE = eINSTANCE.getGenericConstraint_Mode();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintKind <em>Generic Constraint Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintKind
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl#getGenericConstraintKind()
+ * @generated
+ */
+ EEnum GENERIC_CONSTRAINT_KIND = eINSTANCE.getGenericConstraintKind();
+
+ }
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "genericconstraints";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.papyrusuml.org/EAST-ADL2/GenericConstraints/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "GenericConstraints";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ GenericconstraintsPackage eINSTANCE = org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericConstraintSetImpl <em>Generic Constraint Set</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericConstraintSetImpl
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl#getGenericConstraintSet()
+ * @generated
+ */
+ int GENERIC_CONSTRAINT_SET = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericConstraintImpl <em>Generic Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl#getGenericConstraint()
+ * @generated
+ */
+ int GENERIC_CONSTRAINT = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_CONSTRAINT__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_CONSTRAINT__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_CONSTRAINT__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_CONSTRAINT__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_CONSTRAINT__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Design Constraint Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_CONSTRAINT__DESIGN_CONSTRAINT_TYPE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Constraint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_CONSTRAINT__BASE_CONSTRAINT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Generic Constraint Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_CONSTRAINT__GENERIC_CONSTRAINT_VALUE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_CONSTRAINT__BASE_CLASS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Target</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_CONSTRAINT__TARGET = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Mode</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_CONSTRAINT__MODE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Generic Constraint</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_CONSTRAINT_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_CONSTRAINT_SET__NAME = ElementsPackage.CONTEXT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_CONSTRAINT_SET__BASE_NAMED_ELEMENT = ElementsPackage.CONTEXT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_CONSTRAINT_SET__OWNED_COMMENT = ElementsPackage.CONTEXT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_CONSTRAINT_SET__TRACEABLE_SPECIFICATION = ElementsPackage.CONTEXT__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_CONSTRAINT_SET__OWNED_RELATIONSHIP = ElementsPackage.CONTEXT__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Generic Constraint</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_CONSTRAINT_SET__GENERIC_CONSTRAINT = ElementsPackage.CONTEXT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_CONSTRAINT_SET__BASE_PACKAGE = ElementsPackage.CONTEXT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_CONSTRAINT_SET__BASE_CLASS = ElementsPackage.CONTEXT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Generic Constraint Set</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_CONSTRAINT_SET_FEATURE_COUNT = ElementsPackage.CONTEXT_FEATURE_COUNT + 3;
+
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.genericconstraints.impl.TakeRateConstraintImpl <em>Take Rate Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.impl.TakeRateConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl#getTakeRateConstraint()
+ * @generated
+ */
+ int TAKE_RATE_CONSTRAINT = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAKE_RATE_CONSTRAINT__NAME = GENERIC_CONSTRAINT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAKE_RATE_CONSTRAINT__BASE_NAMED_ELEMENT = GENERIC_CONSTRAINT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAKE_RATE_CONSTRAINT__OWNED_COMMENT = GENERIC_CONSTRAINT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAKE_RATE_CONSTRAINT__BASE_PACKAGEABLE_ELEMENT = GENERIC_CONSTRAINT__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAKE_RATE_CONSTRAINT__NOTE = GENERIC_CONSTRAINT__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Design Constraint Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAKE_RATE_CONSTRAINT__DESIGN_CONSTRAINT_TYPE = GENERIC_CONSTRAINT__DESIGN_CONSTRAINT_TYPE;
+
+ /**
+ * The feature id for the '<em><b>Base Constraint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAKE_RATE_CONSTRAINT__BASE_CONSTRAINT = GENERIC_CONSTRAINT__BASE_CONSTRAINT;
+
+ /**
+ * The feature id for the '<em><b>Generic Constraint Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAKE_RATE_CONSTRAINT__GENERIC_CONSTRAINT_VALUE = GENERIC_CONSTRAINT__GENERIC_CONSTRAINT_VALUE;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAKE_RATE_CONSTRAINT__BASE_CLASS = GENERIC_CONSTRAINT__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Target</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAKE_RATE_CONSTRAINT__TARGET = GENERIC_CONSTRAINT__TARGET;
+
+ /**
+ * The feature id for the '<em><b>Mode</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAKE_RATE_CONSTRAINT__MODE = GENERIC_CONSTRAINT__MODE;
+
+ /**
+ * The feature id for the '<em><b>Source</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAKE_RATE_CONSTRAINT__SOURCE = GENERIC_CONSTRAINT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Take Rate</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAKE_RATE_CONSTRAINT__TAKE_RATE = GENERIC_CONSTRAINT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Take Rate Constraint</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAKE_RATE_CONSTRAINT_FEATURE_COUNT = GENERIC_CONSTRAINT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintKind <em>Generic Constraint Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintKind
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl#getGenericConstraintKind()
+ * @generated
+ */
+ int GENERIC_CONSTRAINT_KIND = 3;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint <em>Generic Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Generic Constraint</em>'.
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint
+ * @generated
+ */
+ EClass getGenericConstraint();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint#getDesignConstraintType <em>Design Constraint Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Design Constraint Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint#getDesignConstraintType()
+ * @see #getGenericConstraint()
+ * @generated
+ */
+ EAttribute getGenericConstraint_DesignConstraintType();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint#getBase_Constraint <em>Base Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Constraint</em>'.
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint#getBase_Constraint()
+ * @see #getGenericConstraint()
+ * @generated
+ */
+ EReference getGenericConstraint_Base_Constraint();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint#getGenericConstraintValue <em>Generic Constraint Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Generic Constraint Value</em>'.
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint#getGenericConstraintValue()
+ * @see #getGenericConstraint()
+ * @generated
+ */
+ EAttribute getGenericConstraint_GenericConstraintValue();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint#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.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint#getBase_Class()
+ * @see #getGenericConstraint()
+ * @generated
+ */
+ EReference getGenericConstraint_Base_Class();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint#getMode <em>Mode</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Mode</em>'.
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint#getMode()
+ * @see #getGenericConstraint()
+ * @generated
+ */
+ EReference getGenericConstraint_Mode();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint#getTarget <em>Target</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Target</em>'.
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint#getTarget()
+ * @see #getGenericConstraint()
+ * @generated
+ */
+ EReference getGenericConstraint_Target();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintKind <em>Generic Constraint Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Generic Constraint Kind</em>'.
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintKind
+ * @generated
+ */
+ EEnum getGenericConstraintKind();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintSet <em>Generic Constraint Set</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Generic Constraint Set</em>'.
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintSet
+ * @generated
+ */
+ EClass getGenericConstraintSet();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintSet#getGenericConstraint <em>Generic Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Generic Constraint</em>'.
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintSet#getGenericConstraint()
+ * @see #getGenericConstraintSet()
+ * @generated
+ */
+ EReference getGenericConstraintSet_GenericConstraint();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintSet#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.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintSet#getBase_Package()
+ * @see #getGenericConstraintSet()
+ * @generated
+ */
+ EReference getGenericConstraintSet_Base_Package();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintSet#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.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintSet#getBase_Class()
+ * @see #getGenericConstraintSet()
+ * @generated
+ */
+ EReference getGenericConstraintSet_Base_Class();
+
+ /**
+ * 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
+ */
+ GenericconstraintsFactory getGenericconstraintsFactory();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.genericconstraints.TakeRateConstraint <em>Take Rate Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Take Rate Constraint</em>'.
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.TakeRateConstraint
+ * @generated
+ */
+ EClass getTakeRateConstraint();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.genericconstraints.TakeRateConstraint#getSource <em>Source</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Source</em>'.
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.TakeRateConstraint#getSource()
+ * @see #getTakeRateConstraint()
+ * @generated
+ */
+ EReference getTakeRateConstraint_Source();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.genericconstraints.TakeRateConstraint#getTakeRate <em>Take Rate</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Take Rate</em>'.
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.TakeRateConstraint#getTakeRate()
+ * @see #getTakeRateConstraint()
+ * @generated
+ */
+ EAttribute getTakeRateConstraint_TakeRate();
+
+} //GenericconstraintsPackage
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/TakeRateConstraint.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/TakeRateConstraint.java
new file mode 100644
index 00000000000..4032c7b79dc
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/TakeRateConstraint.java
@@ -0,0 +1,81 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.genericconstraints;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Take Rate Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.genericconstraints.TakeRateConstraint#getSource <em>Source</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.genericconstraints.TakeRateConstraint#getTakeRate <em>Take Rate</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage#getTakeRateConstraint()
+ * @model
+ * @generated
+ */
+public interface TakeRateConstraint extends GenericConstraint {
+ /**
+ * Returns the value of the '<em><b>Source</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.NamedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Source</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>Source</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage#getTakeRateConstraint_Source()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<NamedElement> getSource();
+
+ /**
+ * Returns the value of the '<em><b>Take Rate</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Take Rate</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Take Rate</em>' attribute.
+ * @see #setTakeRate(Float)
+ * @see org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage#getTakeRateConstraint_TakeRate()
+ * @model unique="false" dataType="org.eclipse.papyrus.eastadl.infrastructure.datatypes.javalangFloat" required="true" ordered="false"
+ * @generated
+ */
+ Float getTakeRate();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.genericconstraints.TakeRateConstraint#getTakeRate <em>Take Rate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Take Rate</em>' attribute.
+ * @see #getTakeRate()
+ * @generated
+ */
+ void setTakeRate(Float value);
+
+} // TakeRateConstraint
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/impl/GenericConstraintImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/impl/GenericConstraintImpl.java
new file mode 100644
index 00000000000..3a2d508b6ba
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/impl/GenericConstraintImpl.java
@@ -0,0 +1,426 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.genericconstraints.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.eastadl.behavior.Mode;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintKind;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.NamedElement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Generic Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericConstraintImpl#getDesignConstraintType <em>Design Constraint Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericConstraintImpl#getBase_Constraint <em>Base Constraint</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericConstraintImpl#getGenericConstraintValue <em>Generic Constraint Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericConstraintImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericConstraintImpl#getTarget <em>Target</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericConstraintImpl#getMode <em>Mode</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class GenericConstraintImpl extends TraceableSpecificationImpl implements GenericConstraint {
+ /**
+ * The default value of the '{@link #getDesignConstraintType() <em>Design Constraint Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDesignConstraintType()
+ * @generated
+ * @ordered
+ */
+ protected static final GenericConstraintKind DESIGN_CONSTRAINT_TYPE_EDEFAULT = GenericConstraintKind.POWER_CONSUMPTION;
+
+ /**
+ * The cached value of the '{@link #getDesignConstraintType() <em>Design Constraint Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDesignConstraintType()
+ * @generated
+ * @ordered
+ */
+ protected GenericConstraintKind designConstraintType = DESIGN_CONSTRAINT_TYPE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBase_Constraint() <em>Base Constraint</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Constraint()
+ * @generated
+ * @ordered
+ */
+ protected Constraint base_Constraint;
+
+ /**
+ * The default value of the '{@link #getGenericConstraintValue() <em>Generic Constraint Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getGenericConstraintValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String GENERIC_CONSTRAINT_VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getGenericConstraintValue() <em>Generic Constraint Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getGenericConstraintValue()
+ * @generated
+ * @ordered
+ */
+ protected String genericConstraintValue = GENERIC_CONSTRAINT_VALUE_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;
+
+ /**
+ * The cached value of the '{@link #getTarget() <em>Target</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTarget()
+ * @generated
+ * @ordered
+ */
+ protected EList<NamedElement> target;
+
+ /**
+ * The cached value of the '{@link #getMode() <em>Mode</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMode()
+ * @generated
+ * @ordered
+ */
+ protected EList<Mode> mode;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GenericConstraintImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT__DESIGN_CONSTRAINT_TYPE:
+ return getDesignConstraintType();
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT__BASE_CONSTRAINT:
+ if (resolve) return getBase_Constraint();
+ return basicGetBase_Constraint();
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT__GENERIC_CONSTRAINT_VALUE:
+ return getGenericConstraintValue();
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT__TARGET:
+ return getTarget();
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT__MODE:
+ return getMode();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT__DESIGN_CONSTRAINT_TYPE:
+ return designConstraintType != DESIGN_CONSTRAINT_TYPE_EDEFAULT;
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT__BASE_CONSTRAINT:
+ return base_Constraint != null;
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT__GENERIC_CONSTRAINT_VALUE:
+ return GENERIC_CONSTRAINT_VALUE_EDEFAULT == null ? genericConstraintValue != null : !GENERIC_CONSTRAINT_VALUE_EDEFAULT.equals(genericConstraintValue);
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT__BASE_CLASS:
+ return base_Class != null;
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT__TARGET:
+ return target != null && !target.isEmpty();
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT__MODE:
+ return mode != null && !mode.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT__DESIGN_CONSTRAINT_TYPE:
+ setDesignConstraintType((GenericConstraintKind)newValue);
+ return;
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT__BASE_CONSTRAINT:
+ setBase_Constraint((Constraint)newValue);
+ return;
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT__GENERIC_CONSTRAINT_VALUE:
+ setGenericConstraintValue((String)newValue);
+ return;
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT__TARGET:
+ getTarget().clear();
+ getTarget().addAll((Collection<? extends NamedElement>)newValue);
+ return;
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT__MODE:
+ getMode().clear();
+ getMode().addAll((Collection<? extends Mode>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return GenericconstraintsPackage.Literals.GENERIC_CONSTRAINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT__DESIGN_CONSTRAINT_TYPE:
+ setDesignConstraintType(DESIGN_CONSTRAINT_TYPE_EDEFAULT);
+ return;
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT__BASE_CONSTRAINT:
+ setBase_Constraint((Constraint)null);
+ return;
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT__GENERIC_CONSTRAINT_VALUE:
+ setGenericConstraintValue(GENERIC_CONSTRAINT_VALUE_EDEFAULT);
+ return;
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT__TARGET:
+ getTarget().clear();
+ return;
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT__MODE:
+ getMode().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GenericConstraintKind getDesignConstraintType() {
+ return designConstraintType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getGenericConstraintValue() {
+ return genericConstraintValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Mode> getMode() {
+ if (mode == null) {
+ mode = new EObjectResolvingEList<Mode>(Mode.class, this, GenericconstraintsPackage.GENERIC_CONSTRAINT__MODE);
+ }
+ return mode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<NamedElement> getTarget() {
+ if (target == null) {
+ target = new EObjectResolvingEList<NamedElement>(NamedElement.class, this, GenericconstraintsPackage.GENERIC_CONSTRAINT__TARGET);
+ }
+ return target;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDesignConstraintType(GenericConstraintKind newDesignConstraintType) {
+ GenericConstraintKind oldDesignConstraintType = designConstraintType;
+ designConstraintType = newDesignConstraintType == null ? DESIGN_CONSTRAINT_TYPE_EDEFAULT : newDesignConstraintType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GenericconstraintsPackage.GENERIC_CONSTRAINT__DESIGN_CONSTRAINT_TYPE, oldDesignConstraintType, designConstraintType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getBase_Constraint() {
+ if (base_Constraint != null && base_Constraint.eIsProxy()) {
+ InternalEObject oldBase_Constraint = (InternalEObject)base_Constraint;
+ base_Constraint = (Constraint)eResolveProxy(oldBase_Constraint);
+ if (base_Constraint != oldBase_Constraint) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, GenericconstraintsPackage.GENERIC_CONSTRAINT__BASE_CONSTRAINT, oldBase_Constraint, base_Constraint));
+ }
+ }
+ return base_Constraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint basicGetBase_Constraint() {
+ return base_Constraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Constraint(Constraint newBase_Constraint) {
+ Constraint oldBase_Constraint = base_Constraint;
+ base_Constraint = newBase_Constraint;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GenericconstraintsPackage.GENERIC_CONSTRAINT__BASE_CONSTRAINT, oldBase_Constraint, base_Constraint));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setGenericConstraintValue(String newGenericConstraintValue) {
+ String oldGenericConstraintValue = genericConstraintValue;
+ genericConstraintValue = newGenericConstraintValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GenericconstraintsPackage.GENERIC_CONSTRAINT__GENERIC_CONSTRAINT_VALUE, oldGenericConstraintValue, genericConstraintValue));
+ }
+
+ /**
+ * <!-- 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, GenericconstraintsPackage.GENERIC_CONSTRAINT__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, GenericconstraintsPackage.GENERIC_CONSTRAINT__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (designConstraintType: ");
+ result.append(designConstraintType);
+ result.append(", genericConstraintValue: ");
+ result.append(genericConstraintValue);
+ result.append(')');
+ return result.toString();
+ }
+
+} //GenericConstraintImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/impl/GenericConstraintSetImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/impl/GenericConstraintSetImpl.java
new file mode 100644
index 00000000000..06ebb79a69b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/impl/GenericConstraintSetImpl.java
@@ -0,0 +1,267 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.genericconstraints.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.eastadl.genericconstraints.GenericConstraint;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintSet;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ContextImpl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Generic Constraint Set</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericConstraintSetImpl#getGenericConstraint <em>Generic Constraint</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericConstraintSetImpl#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericConstraintSetImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class GenericConstraintSetImpl extends ContextImpl implements GenericConstraintSet {
+ /**
+ * The cached value of the '{@link #getGenericConstraint() <em>Generic Constraint</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getGenericConstraint()
+ * @generated
+ * @ordered
+ */
+ protected EList<GenericConstraint> genericConstraint;
+
+ /**
+ * 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 #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 GenericConstraintSetImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT_SET__GENERIC_CONSTRAINT:
+ return getGenericConstraint();
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT_SET__BASE_PACKAGE:
+ if (resolve) return getBase_Package();
+ return basicGetBase_Package();
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT_SET__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 boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT_SET__GENERIC_CONSTRAINT:
+ return genericConstraint != null && !genericConstraint.isEmpty();
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT_SET__BASE_PACKAGE:
+ return base_Package != null;
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT_SET__BASE_CLASS:
+ return base_Class != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT_SET__GENERIC_CONSTRAINT:
+ getGenericConstraint().clear();
+ getGenericConstraint().addAll((Collection<? extends GenericConstraint>)newValue);
+ return;
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT_SET__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+ return;
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT_SET__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return GenericconstraintsPackage.Literals.GENERIC_CONSTRAINT_SET;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT_SET__GENERIC_CONSTRAINT:
+ getGenericConstraint().clear();
+ return;
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT_SET__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)null);
+ return;
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT_SET__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<GenericConstraint> getGenericConstraint() {
+ if (genericConstraint == null) {
+ genericConstraint = new EObjectResolvingEList<GenericConstraint>(GenericConstraint.class, this, GenericconstraintsPackage.GENERIC_CONSTRAINT_SET__GENERIC_CONSTRAINT);
+ }
+ return genericConstraint;
+ }
+
+ /**
+ * <!-- 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, GenericconstraintsPackage.GENERIC_CONSTRAINT_SET__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, GenericconstraintsPackage.GENERIC_CONSTRAINT_SET__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+
+ /**
+ * <!-- 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, GenericconstraintsPackage.GENERIC_CONSTRAINT_SET__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, GenericconstraintsPackage.GENERIC_CONSTRAINT_SET__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+} //GenericConstraintSetImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/impl/GenericconstraintsFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/impl/GenericconstraintsFactoryImpl.java
new file mode 100644
index 00000000000..ffbc7228bc2
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/impl/GenericconstraintsFactoryImpl.java
@@ -0,0 +1,184 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.genericconstraints.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.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintKind;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintSet;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsFactory;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.TakeRateConstraint;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class GenericconstraintsFactoryImpl extends EFactoryImpl implements GenericconstraintsFactory {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static GenericconstraintsPackage getPackage() {
+ return GenericconstraintsPackage.eINSTANCE;
+ }
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static GenericconstraintsFactory init() {
+ try {
+ GenericconstraintsFactory theGenericconstraintsFactory = (GenericconstraintsFactory)EPackage.Registry.INSTANCE.getEFactory(GenericconstraintsPackage.eNS_URI);
+ if (theGenericconstraintsFactory != null) {
+ return theGenericconstraintsFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new GenericconstraintsFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GenericconstraintsFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertGenericConstraintKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT_KIND:
+ return convertGenericConstraintKindToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT: return createGenericConstraint();
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT_SET: return createGenericConstraintSet();
+ case GenericconstraintsPackage.TAKE_RATE_CONSTRAINT: return createTakeRateConstraint();
+ 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 GenericconstraintsPackage.GENERIC_CONSTRAINT_KIND:
+ return createGenericConstraintKindFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GenericConstraint createGenericConstraint() {
+ GenericConstraintImpl genericConstraint = new GenericConstraintImpl();
+ return genericConstraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GenericConstraintKind createGenericConstraintKindFromString(EDataType eDataType, String initialValue) {
+ GenericConstraintKind result = GenericConstraintKind.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 GenericConstraintSet createGenericConstraintSet() {
+ GenericConstraintSetImpl genericConstraintSet = new GenericConstraintSetImpl();
+ return genericConstraintSet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TakeRateConstraint createTakeRateConstraint() {
+ TakeRateConstraintImpl takeRateConstraint = new TakeRateConstraintImpl();
+ return takeRateConstraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GenericconstraintsPackage getGenericconstraintsPackage() {
+ return (GenericconstraintsPackage)getEPackage();
+ }
+
+} //GenericconstraintsFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/impl/GenericconstraintsPackageImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/impl/GenericconstraintsPackageImpl.java
new file mode 100644
index 00000000000..76a7afb7088
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/impl/GenericconstraintsPackageImpl.java
@@ -0,0 +1,525 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.genericconstraints.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.eastadl.EastadlPackage;
+import org.eclipse.papyrus.eastadl.annex.AnnexPackage;
+import org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintKind;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintSet;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsFactory;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.TakeRateConstraint;
+import org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.StructurePackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class GenericconstraintsPackageImpl extends EPackageImpl implements GenericconstraintsPackage {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass genericConstraintSetEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass takeRateConstraintEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass genericConstraintEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum genericConstraintKindEEnum = null;
+
+ /**
+ * <!-- 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 GenericconstraintsPackage#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 GenericconstraintsPackage init() {
+ if (isInited) return (GenericconstraintsPackage)EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI);
+
+ // Obtain or create and register package
+ GenericconstraintsPackageImpl theGenericconstraintsPackage = (GenericconstraintsPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof GenericconstraintsPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new GenericconstraintsPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ SysmlPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EastadlPackageImpl theEastadlPackage = (EastadlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) instanceof EastadlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) : EastadlPackage.eINSTANCE);
+ VariabilityPackageImpl theVariabilityPackage = (VariabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) instanceof VariabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) : VariabilityPackage.eINSTANCE);
+ InfrastructurePackageImpl theInfrastructurePackage = (InfrastructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) instanceof InfrastructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) : InfrastructurePackage.eINSTANCE);
+ DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) instanceof DatatypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) : DatatypesPackage.eINSTANCE);
+ UserattributesPackageImpl theUserattributesPackage = (UserattributesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) instanceof UserattributesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) : UserattributesPackage.eINSTANCE);
+ ElementsPackageImpl theElementsPackage = (ElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) instanceof ElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) : ElementsPackage.eINSTANCE);
+ StructurePackageImpl theStructurePackage = (StructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) instanceof StructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) : StructurePackage.eINSTANCE);
+ FunctionmodelingPackageImpl theFunctionmodelingPackage = (FunctionmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) instanceof FunctionmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) : FunctionmodelingPackage.eINSTANCE);
+ HardwaremodelingPackageImpl theHardwaremodelingPackage = (HardwaremodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) instanceof HardwaremodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) : HardwaremodelingPackage.eINSTANCE);
+ SystemmodelingPackageImpl theSystemmodelingPackage = (SystemmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) instanceof SystemmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) : SystemmodelingPackage.eINSTANCE);
+ VehiclefeaturemodelingPackageImpl theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) instanceof VehiclefeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) : VehiclefeaturemodelingPackage.eINSTANCE);
+ FeaturemodelingPackageImpl theFeaturemodelingPackage = (FeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) instanceof FeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) : FeaturemodelingPackage.eINSTANCE);
+ BehaviorPackageImpl theBehaviorPackage = (BehaviorPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) instanceof BehaviorPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) : BehaviorPackage.eINSTANCE);
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) : RequirementsPackage.eINSTANCE);
+ VerificationvalidationPackageImpl theVerificationvalidationPackage = (VerificationvalidationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) instanceof VerificationvalidationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) : VerificationvalidationPackage.eINSTANCE);
+ TimingPackageImpl theTimingPackage = (TimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) instanceof TimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) : TimingPackage.eINSTANCE);
+ TimingconstraintsPackageImpl theTimingconstraintsPackage = (TimingconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) instanceof TimingconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) : TimingconstraintsPackage.eINSTANCE);
+ EventsPackageImpl theEventsPackage = (EventsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+ InterchangePackageImpl theInterchangePackage = (InterchangePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) instanceof InterchangePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) : InterchangePackage.eINSTANCE);
+ EnvironmentPackageImpl theEnvironmentPackage = (EnvironmentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) instanceof EnvironmentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) : EnvironmentPackage.eINSTANCE);
+ DependabilityPackageImpl theDependabilityPackage = (DependabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) instanceof DependabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) : DependabilityPackage.eINSTANCE);
+ ErrormodelPackageImpl theErrormodelPackage = (ErrormodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) instanceof ErrormodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) : ErrormodelPackage.eINSTANCE);
+ SafetyrequirementPackageImpl theSafetyrequirementPackage = (SafetyrequirementPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) instanceof SafetyrequirementPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) : SafetyrequirementPackage.eINSTANCE);
+ SafetyconstraintsPackageImpl theSafetyconstraintsPackage = (SafetyconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) instanceof SafetyconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) : SafetyconstraintsPackage.eINSTANCE);
+ SafetycasePackageImpl theSafetycasePackage = (SafetycasePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) instanceof SafetycasePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) : SafetycasePackage.eINSTANCE);
+ AnnexPackageImpl theAnnexPackage = (AnnexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) instanceof AnnexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) : AnnexPackage.eINSTANCE);
+ NeedsPackageImpl theNeedsPackage = (NeedsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) instanceof NeedsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) : NeedsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theGenericconstraintsPackage.createPackageContents();
+ theEastadlPackage.createPackageContents();
+ theVariabilityPackage.createPackageContents();
+ theInfrastructurePackage.createPackageContents();
+ theDatatypesPackage.createPackageContents();
+ theUserattributesPackage.createPackageContents();
+ theElementsPackage.createPackageContents();
+ theStructurePackage.createPackageContents();
+ theFunctionmodelingPackage.createPackageContents();
+ theHardwaremodelingPackage.createPackageContents();
+ theSystemmodelingPackage.createPackageContents();
+ theVehiclefeaturemodelingPackage.createPackageContents();
+ theFeaturemodelingPackage.createPackageContents();
+ theBehaviorPackage.createPackageContents();
+ theRequirementsPackage.createPackageContents();
+ theVerificationvalidationPackage.createPackageContents();
+ theTimingPackage.createPackageContents();
+ theTimingconstraintsPackage.createPackageContents();
+ theEventsPackage.createPackageContents();
+ theInterchangePackage.createPackageContents();
+ theEnvironmentPackage.createPackageContents();
+ theDependabilityPackage.createPackageContents();
+ theErrormodelPackage.createPackageContents();
+ theSafetyrequirementPackage.createPackageContents();
+ theSafetyconstraintsPackage.createPackageContents();
+ theSafetycasePackage.createPackageContents();
+ theAnnexPackage.createPackageContents();
+ theNeedsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theGenericconstraintsPackage.initializePackageContents();
+ theEastadlPackage.initializePackageContents();
+ theVariabilityPackage.initializePackageContents();
+ theInfrastructurePackage.initializePackageContents();
+ theDatatypesPackage.initializePackageContents();
+ theUserattributesPackage.initializePackageContents();
+ theElementsPackage.initializePackageContents();
+ theStructurePackage.initializePackageContents();
+ theFunctionmodelingPackage.initializePackageContents();
+ theHardwaremodelingPackage.initializePackageContents();
+ theSystemmodelingPackage.initializePackageContents();
+ theVehiclefeaturemodelingPackage.initializePackageContents();
+ theFeaturemodelingPackage.initializePackageContents();
+ theBehaviorPackage.initializePackageContents();
+ theRequirementsPackage.initializePackageContents();
+ theVerificationvalidationPackage.initializePackageContents();
+ theTimingPackage.initializePackageContents();
+ theTimingconstraintsPackage.initializePackageContents();
+ theEventsPackage.initializePackageContents();
+ theInterchangePackage.initializePackageContents();
+ theEnvironmentPackage.initializePackageContents();
+ theDependabilityPackage.initializePackageContents();
+ theErrormodelPackage.initializePackageContents();
+ theSafetyrequirementPackage.initializePackageContents();
+ theSafetyconstraintsPackage.initializePackageContents();
+ theSafetycasePackage.initializePackageContents();
+ theAnnexPackage.initializePackageContents();
+ theNeedsPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theGenericconstraintsPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(GenericconstraintsPackage.eNS_URI, theGenericconstraintsPackage);
+ return theGenericconstraintsPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * 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.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private GenericconstraintsPackageImpl() {
+ super(eNS_URI, GenericconstraintsFactory.eINSTANCE);
+ }
+
+ /**
+ * 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
+ genericConstraintEClass = createEClass(GENERIC_CONSTRAINT);
+ createEAttribute(genericConstraintEClass, GENERIC_CONSTRAINT__DESIGN_CONSTRAINT_TYPE);
+ createEReference(genericConstraintEClass, GENERIC_CONSTRAINT__BASE_CONSTRAINT);
+ createEAttribute(genericConstraintEClass, GENERIC_CONSTRAINT__GENERIC_CONSTRAINT_VALUE);
+ createEReference(genericConstraintEClass, GENERIC_CONSTRAINT__BASE_CLASS);
+ createEReference(genericConstraintEClass, GENERIC_CONSTRAINT__TARGET);
+ createEReference(genericConstraintEClass, GENERIC_CONSTRAINT__MODE);
+
+ genericConstraintSetEClass = createEClass(GENERIC_CONSTRAINT_SET);
+ createEReference(genericConstraintSetEClass, GENERIC_CONSTRAINT_SET__GENERIC_CONSTRAINT);
+ createEReference(genericConstraintSetEClass, GENERIC_CONSTRAINT_SET__BASE_PACKAGE);
+ createEReference(genericConstraintSetEClass, GENERIC_CONSTRAINT_SET__BASE_CLASS);
+
+ takeRateConstraintEClass = createEClass(TAKE_RATE_CONSTRAINT);
+ createEReference(takeRateConstraintEClass, TAKE_RATE_CONSTRAINT__SOURCE);
+ createEAttribute(takeRateConstraintEClass, TAKE_RATE_CONSTRAINT__TAKE_RATE);
+
+ // Create enums
+ genericConstraintKindEEnum = createEEnum(GENERIC_CONSTRAINT_KIND);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGenericConstraint() {
+ return genericConstraintEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGenericConstraint_DesignConstraintType() {
+ return (EAttribute)genericConstraintEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGenericConstraint_Base_Constraint() {
+ return (EReference)genericConstraintEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGenericConstraint_GenericConstraintValue() {
+ return (EAttribute)genericConstraintEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGenericConstraint_Base_Class() {
+ return (EReference)genericConstraintEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGenericConstraint_Mode() {
+ return (EReference)genericConstraintEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGenericConstraint_Target() {
+ return (EReference)genericConstraintEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getGenericConstraintKind() {
+ return genericConstraintKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGenericConstraintSet() {
+ return genericConstraintSetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGenericConstraintSet_GenericConstraint() {
+ return (EReference)genericConstraintSetEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGenericConstraintSet_Base_Package() {
+ return (EReference)genericConstraintSetEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGenericConstraintSet_Base_Class() {
+ return (EReference)genericConstraintSetEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GenericconstraintsFactory getGenericconstraintsFactory() {
+ return (GenericconstraintsFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTakeRateConstraint() {
+ return takeRateConstraintEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTakeRateConstraint_Source() {
+ return (EReference)takeRateConstraintEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTakeRateConstraint_TakeRate() {
+ return (EAttribute)takeRateConstraintEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * 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
+ ElementsPackage theElementsPackage = (ElementsPackage)EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI);
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+ TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+ BehaviorPackage theBehaviorPackage = (BehaviorPackage)EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI);
+ DatatypesPackage theDatatypesPackage = (DatatypesPackage)EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ genericConstraintEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+ genericConstraintSetEClass.getESuperTypes().add(theElementsPackage.getContext());
+ takeRateConstraintEClass.getESuperTypes().add(this.getGenericConstraint());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(genericConstraintEClass, GenericConstraint.class, "GenericConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getGenericConstraint_DesignConstraintType(), this.getGenericConstraintKind(), "designConstraintType", "", 0, 1, GenericConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getGenericConstraint_Base_Constraint(), theUMLPackage.getConstraint(), null, "base_Constraint", null, 0, 1, GenericConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getGenericConstraint_GenericConstraintValue(), theTypesPackage.getString(), "genericConstraintValue", null, 1, 1, GenericConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getGenericConstraint_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, GenericConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getGenericConstraint_Target(), theUMLPackage.getNamedElement(), null, "target", null, 0, -1, GenericConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getGenericConstraint_Mode(), theBehaviorPackage.getMode(), null, "mode", null, 0, -1, GenericConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(genericConstraintSetEClass, GenericConstraintSet.class, "GenericConstraintSet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getGenericConstraintSet_GenericConstraint(), this.getGenericConstraint(), null, "genericConstraint", null, 0, -1, GenericConstraintSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getGenericConstraintSet_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, GenericConstraintSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getGenericConstraintSet_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, GenericConstraintSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(takeRateConstraintEClass, TakeRateConstraint.class, "TakeRateConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTakeRateConstraint_Source(), theUMLPackage.getNamedElement(), null, "source", null, 0, -1, TakeRateConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getTakeRateConstraint_TakeRate(), theDatatypesPackage.getjavalangFloat(), "takeRate", null, 1, 1, TakeRateConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(genericConstraintKindEEnum, GenericConstraintKind.class, "GenericConstraintKind");
+ addEEnumLiteral(genericConstraintKindEEnum, GenericConstraintKind.POWER_CONSUMPTION);
+ addEEnumLiteral(genericConstraintKindEEnum, GenericConstraintKind.OTHER);
+ addEEnumLiteral(genericConstraintKindEEnum, GenericConstraintKind.PIECE_COST);
+ addEEnumLiteral(genericConstraintKindEEnum, GenericConstraintKind.WEIGHT);
+ addEEnumLiteral(genericConstraintKindEEnum, GenericConstraintKind.STANDARD);
+ addEEnumLiteral(genericConstraintKindEEnum, GenericConstraintKind.CABLE_LENGTH);
+ addEEnumLiteral(genericConstraintKindEEnum, GenericConstraintKind.DEVELOPMENT_COST);
+ addEEnumLiteral(genericConstraintKindEEnum, GenericConstraintKind.FUNCTION_ALLOCATION_DIFFERENT_NODES);
+ addEEnumLiteral(genericConstraintKindEEnum, GenericConstraintKind.FUNCTION_ALLOCATION_SAME_NODE);
+ addEEnumLiteral(genericConstraintKindEEnum, GenericConstraintKind.POWER_SUPPLY_INDEPENDENT);
+ }
+
+} //GenericconstraintsPackageImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/impl/TakeRateConstraintImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/impl/TakeRateConstraintImpl.java
new file mode 100644
index 00000000000..76221accc47
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/impl/TakeRateConstraintImpl.java
@@ -0,0 +1,213 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.genericconstraints.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.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.TakeRateConstraint;
+import org.eclipse.uml2.uml.NamedElement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Take Rate Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.genericconstraints.impl.TakeRateConstraintImpl#getSource <em>Source</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.genericconstraints.impl.TakeRateConstraintImpl#getTakeRate <em>Take Rate</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TakeRateConstraintImpl extends GenericConstraintImpl implements TakeRateConstraint {
+ /**
+ * The cached value of the '{@link #getSource() <em>Source</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSource()
+ * @generated
+ * @ordered
+ */
+ protected EList<NamedElement> source;
+
+ /**
+ * The default value of the '{@link #getTakeRate() <em>Take Rate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTakeRate()
+ * @generated
+ * @ordered
+ */
+ protected static final Float TAKE_RATE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTakeRate() <em>Take Rate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTakeRate()
+ * @generated
+ * @ordered
+ */
+ protected Float takeRate = TAKE_RATE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TakeRateConstraintImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GenericconstraintsPackage.TAKE_RATE_CONSTRAINT__SOURCE:
+ return getSource();
+ case GenericconstraintsPackage.TAKE_RATE_CONSTRAINT__TAKE_RATE:
+ return getTakeRate();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GenericconstraintsPackage.TAKE_RATE_CONSTRAINT__SOURCE:
+ return source != null && !source.isEmpty();
+ case GenericconstraintsPackage.TAKE_RATE_CONSTRAINT__TAKE_RATE:
+ return TAKE_RATE_EDEFAULT == null ? takeRate != null : !TAKE_RATE_EDEFAULT.equals(takeRate);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GenericconstraintsPackage.TAKE_RATE_CONSTRAINT__SOURCE:
+ getSource().clear();
+ getSource().addAll((Collection<? extends NamedElement>)newValue);
+ return;
+ case GenericconstraintsPackage.TAKE_RATE_CONSTRAINT__TAKE_RATE:
+ setTakeRate((Float)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return GenericconstraintsPackage.Literals.TAKE_RATE_CONSTRAINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GenericconstraintsPackage.TAKE_RATE_CONSTRAINT__SOURCE:
+ getSource().clear();
+ return;
+ case GenericconstraintsPackage.TAKE_RATE_CONSTRAINT__TAKE_RATE:
+ setTakeRate(TAKE_RATE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<NamedElement> getSource() {
+ if (source == null) {
+ source = new EObjectResolvingEList<NamedElement>(NamedElement.class, this, GenericconstraintsPackage.TAKE_RATE_CONSTRAINT__SOURCE);
+ }
+ return source;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Float getTakeRate() {
+ return takeRate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTakeRate(Float newTakeRate) {
+ Float oldTakeRate = takeRate;
+ takeRate = newTakeRate;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GenericconstraintsPackage.TAKE_RATE_CONSTRAINT__TAKE_RATE, oldTakeRate, takeRate));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (takeRate: ");
+ result.append(takeRate);
+ result.append(')');
+ return result.toString();
+ }
+
+} //TakeRateConstraintImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/util/GenericconstraintsAdapterFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/util/GenericconstraintsAdapterFactory.java
new file mode 100644
index 00000000000..55d185d2ff4
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/util/GenericconstraintsAdapterFactory.java
@@ -0,0 +1,245 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.genericconstraints.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.eastadl.genericconstraints.GenericConstraint;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintSet;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.TakeRateConstraint;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage
+ * @generated
+ */
+public class GenericconstraintsAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static GenericconstraintsPackage modelPackage;
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GenericconstraintsSwitch<Adapter> modelSwitch =
+ new GenericconstraintsSwitch<Adapter>() {
+ @Override
+ public Adapter caseGenericConstraint(GenericConstraint object) {
+ return createGenericConstraintAdapter();
+ }
+ @Override
+ public Adapter caseGenericConstraintSet(GenericConstraintSet object) {
+ return createGenericConstraintSetAdapter();
+ }
+ @Override
+ public Adapter caseTakeRateConstraint(TakeRateConstraint object) {
+ return createTakeRateConstraintAdapter();
+ }
+ @Override
+ public Adapter caseEAElement(EAElement object) {
+ return createEAElementAdapter();
+ }
+ @Override
+ public Adapter caseEAPackageableElement(EAPackageableElement object) {
+ return createEAPackageableElementAdapter();
+ }
+ @Override
+ public Adapter caseTraceableSpecification(TraceableSpecification object) {
+ return createTraceableSpecificationAdapter();
+ }
+ @Override
+ public Adapter caseContext(Context object) {
+ return createContextAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GenericconstraintsAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = GenericconstraintsPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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.eclipse.papyrus.eastadl.infrastructure.elements.Context <em>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.eastadl.infrastructure.elements.Context
+ * @generated
+ */
+ public Adapter createContextAdapter() {
+ 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;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint <em>Generic 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.eastadl.genericconstraints.GenericConstraint
+ * @generated
+ */
+ public Adapter createGenericConstraintAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintSet <em>Generic Constraint Set</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.genericconstraints.GenericConstraintSet
+ * @generated
+ */
+ public Adapter createGenericConstraintSetAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.genericconstraints.TakeRateConstraint <em>Take Rate 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.eastadl.genericconstraints.TakeRateConstraint
+ * @generated
+ */
+ public Adapter createTakeRateConstraintAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement <em>EA Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAElement
+ * @generated
+ */
+ public Adapter createEAElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement <em>EA Packageable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAPackageableElement
+ * @generated
+ */
+ public Adapter createEAPackageableElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification <em>Traceable 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.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification
+ * @generated
+ */
+ public Adapter createTraceableSpecificationAdapter() {
+ return null;
+ }
+
+ /**
+ * 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;
+ }
+
+} //GenericconstraintsAdapterFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/util/GenericconstraintsResourceFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/util/GenericconstraintsResourceFactoryImpl.java
new file mode 100644
index 00000000000..b0ea060bc5c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/util/GenericconstraintsResourceFactoryImpl.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.genericconstraints.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.eclipse.papyrus.eastadl.genericconstraints.util.GenericconstraintsResourceImpl
+ * @generated
+ */
+public class GenericconstraintsResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GenericconstraintsResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new GenericconstraintsResourceImpl(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;
+ }
+
+} //GenericconstraintsResourceFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/util/GenericconstraintsResourceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/util/GenericconstraintsResourceImpl.java
new file mode 100644
index 00000000000..52c666c68f3
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/util/GenericconstraintsResourceImpl.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.genericconstraints.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.eclipse.papyrus.eastadl.genericconstraints.util.GenericconstraintsResourceFactoryImpl
+ * @generated
+ */
+public class GenericconstraintsResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public GenericconstraintsResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //GenericconstraintsResourceImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/util/GenericconstraintsSwitch.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/util/GenericconstraintsSwitch.java
new file mode 100644
index 00000000000..3e9c6e84835
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/util/GenericconstraintsSwitch.java
@@ -0,0 +1,240 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.genericconstraints.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraint;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericConstraintSet;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.TakeRateConstraint;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage
+ * @generated
+ */
+public class GenericconstraintsSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static GenericconstraintsPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GenericconstraintsSwitch() {
+ if (modelPackage == null) {
+ modelPackage = GenericconstraintsPackage.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;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>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>Context</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseContext(Context object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Generic 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>Generic Constraint</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGenericConstraint(GenericConstraint object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Generic Constraint Set</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Generic Constraint Set</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGenericConstraintSet(GenericConstraintSet object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Take Rate 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>Take Rate Constraint</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTakeRateConstraint(TakeRateConstraint object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAElement(EAElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Packageable Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Packageable Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAPackageableElement(EAPackageableElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Traceable 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>Traceable Specification</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTraceableSpecification(TraceableSpecification 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;
+ }
+
+ /**
+ * 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 GenericconstraintsPackage.GENERIC_CONSTRAINT: {
+ GenericConstraint genericConstraint = (GenericConstraint)theEObject;
+ T result = caseGenericConstraint(genericConstraint);
+ if (result == null) result = caseTraceableSpecification(genericConstraint);
+ if (result == null) result = caseEAPackageableElement(genericConstraint);
+ if (result == null) result = caseEAElement(genericConstraint);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case GenericconstraintsPackage.GENERIC_CONSTRAINT_SET: {
+ GenericConstraintSet genericConstraintSet = (GenericConstraintSet)theEObject;
+ T result = caseGenericConstraintSet(genericConstraintSet);
+ if (result == null) result = caseContext(genericConstraintSet);
+ if (result == null) result = caseEAElement(genericConstraintSet);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case GenericconstraintsPackage.TAKE_RATE_CONSTRAINT: {
+ TakeRateConstraint takeRateConstraint = (TakeRateConstraint)theEObject;
+ T result = caseTakeRateConstraint(takeRateConstraint);
+ if (result == null) result = caseGenericConstraint(takeRateConstraint);
+ if (result == null) result = caseTraceableSpecification(takeRateConstraint);
+ if (result == null) result = caseEAPackageableElement(takeRateConstraint);
+ if (result == null) result = caseEAElement(takeRateConstraint);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+} //GenericconstraintsSwitch
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/util/GenericconstraintsXMLProcessor.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/util/GenericconstraintsXMLProcessor.java
new file mode 100644
index 00000000000..5e7caec9d41
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/genericconstraints/util/GenericconstraintsXMLProcessor.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.genericconstraints.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.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class GenericconstraintsXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GenericconstraintsXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ GenericconstraintsPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the GenericconstraintsResourceFactoryImpl 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 GenericconstraintsResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new GenericconstraintsResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //GenericconstraintsXMLProcessor
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/impl/EastadlFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/impl/EastadlFactoryImpl.java
new file mode 100644
index 00000000000..52a90510a9d
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/impl/EastadlFactoryImpl.java
@@ -0,0 +1,140 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.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.eclipse.papyrus.eastadl.EastadlFactory;
+import org.eclipse.papyrus.eastadl.EastadlPackage;
+import org.eclipse.papyrus.eastadl.dummy;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!-- end-user-doc -->
+ * @generated
+ */
+public class EastadlFactoryImpl extends EFactoryImpl implements EastadlFactory {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static EastadlPackage getPackage() {
+ return EastadlPackage.eINSTANCE;
+ }
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public static EastadlFactory init() {
+ try {
+ EastadlFactory theEastadlFactory = (EastadlFactory)EPackage.Registry.INSTANCE.getEFactory(EastadlPackage.eNS_URI);
+ if (theEastadlFactory != null) {
+ return theEastadlFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new EastadlFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EastadlFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case EastadlPackage.DUMMY:
+ return convertdummyToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public dummy createdummyFromString(EDataType eDataType, String initialValue) {
+ dummy result = dummy.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 convertdummyToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- 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 EastadlPackage.DUMMY:
+ return createdummyFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EastadlPackage getEastadlPackage() {
+ return (EastadlPackage)getEPackage();
+ }
+
+} // EastadlFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/impl/EastadlPackageImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/impl/EastadlPackageImpl.java
new file mode 100644
index 00000000000..5924a758578
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/impl/EastadlPackageImpl.java
@@ -0,0 +1,329 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.impl;
+
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.eastadl.EastadlFactory;
+import org.eclipse.papyrus.eastadl.EastadlPackage;
+import org.eclipse.papyrus.eastadl.dummy;
+import org.eclipse.papyrus.eastadl.annex.AnnexPackage;
+import org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.StructurePackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc -->
+ * @generated
+ */
+public class EastadlPackageImpl extends EPackageImpl implements EastadlPackage {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum dummyEEnum = null;
+
+ /**
+ * <!-- 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 EastadlPackage#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 EastadlPackage init() {
+ if (isInited) return (EastadlPackage)EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI);
+
+ // Obtain or create and register package
+ EastadlPackageImpl theEastadlPackage = (EastadlPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EastadlPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new EastadlPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ SysmlPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ VariabilityPackageImpl theVariabilityPackage = (VariabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) instanceof VariabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) : VariabilityPackage.eINSTANCE);
+ InfrastructurePackageImpl theInfrastructurePackage = (InfrastructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) instanceof InfrastructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) : InfrastructurePackage.eINSTANCE);
+ DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) instanceof DatatypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) : DatatypesPackage.eINSTANCE);
+ UserattributesPackageImpl theUserattributesPackage = (UserattributesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) instanceof UserattributesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) : UserattributesPackage.eINSTANCE);
+ ElementsPackageImpl theElementsPackage = (ElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) instanceof ElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) : ElementsPackage.eINSTANCE);
+ StructurePackageImpl theStructurePackage = (StructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) instanceof StructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) : StructurePackage.eINSTANCE);
+ FunctionmodelingPackageImpl theFunctionmodelingPackage = (FunctionmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) instanceof FunctionmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) : FunctionmodelingPackage.eINSTANCE);
+ HardwaremodelingPackageImpl theHardwaremodelingPackage = (HardwaremodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) instanceof HardwaremodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) : HardwaremodelingPackage.eINSTANCE);
+ SystemmodelingPackageImpl theSystemmodelingPackage = (SystemmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) instanceof SystemmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) : SystemmodelingPackage.eINSTANCE);
+ VehiclefeaturemodelingPackageImpl theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) instanceof VehiclefeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) : VehiclefeaturemodelingPackage.eINSTANCE);
+ FeaturemodelingPackageImpl theFeaturemodelingPackage = (FeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) instanceof FeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) : FeaturemodelingPackage.eINSTANCE);
+ BehaviorPackageImpl theBehaviorPackage = (BehaviorPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) instanceof BehaviorPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) : BehaviorPackage.eINSTANCE);
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) : RequirementsPackage.eINSTANCE);
+ VerificationvalidationPackageImpl theVerificationvalidationPackage = (VerificationvalidationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) instanceof VerificationvalidationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) : VerificationvalidationPackage.eINSTANCE);
+ TimingPackageImpl theTimingPackage = (TimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) instanceof TimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) : TimingPackage.eINSTANCE);
+ TimingconstraintsPackageImpl theTimingconstraintsPackage = (TimingconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) instanceof TimingconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) : TimingconstraintsPackage.eINSTANCE);
+ EventsPackageImpl theEventsPackage = (EventsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+ InterchangePackageImpl theInterchangePackage = (InterchangePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) instanceof InterchangePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) : InterchangePackage.eINSTANCE);
+ EnvironmentPackageImpl theEnvironmentPackage = (EnvironmentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) instanceof EnvironmentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) : EnvironmentPackage.eINSTANCE);
+ DependabilityPackageImpl theDependabilityPackage = (DependabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) instanceof DependabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) : DependabilityPackage.eINSTANCE);
+ ErrormodelPackageImpl theErrormodelPackage = (ErrormodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) instanceof ErrormodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) : ErrormodelPackage.eINSTANCE);
+ SafetyrequirementPackageImpl theSafetyrequirementPackage = (SafetyrequirementPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) instanceof SafetyrequirementPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) : SafetyrequirementPackage.eINSTANCE);
+ SafetyconstraintsPackageImpl theSafetyconstraintsPackage = (SafetyconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) instanceof SafetyconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) : SafetyconstraintsPackage.eINSTANCE);
+ SafetycasePackageImpl theSafetycasePackage = (SafetycasePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) instanceof SafetycasePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) : SafetycasePackage.eINSTANCE);
+ AnnexPackageImpl theAnnexPackage = (AnnexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) instanceof AnnexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) : AnnexPackage.eINSTANCE);
+ NeedsPackageImpl theNeedsPackage = (NeedsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) instanceof NeedsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) : NeedsPackage.eINSTANCE);
+ GenericconstraintsPackageImpl theGenericconstraintsPackage = (GenericconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) instanceof GenericconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) : GenericconstraintsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theEastadlPackage.createPackageContents();
+ theVariabilityPackage.createPackageContents();
+ theInfrastructurePackage.createPackageContents();
+ theDatatypesPackage.createPackageContents();
+ theUserattributesPackage.createPackageContents();
+ theElementsPackage.createPackageContents();
+ theStructurePackage.createPackageContents();
+ theFunctionmodelingPackage.createPackageContents();
+ theHardwaremodelingPackage.createPackageContents();
+ theSystemmodelingPackage.createPackageContents();
+ theVehiclefeaturemodelingPackage.createPackageContents();
+ theFeaturemodelingPackage.createPackageContents();
+ theBehaviorPackage.createPackageContents();
+ theRequirementsPackage.createPackageContents();
+ theVerificationvalidationPackage.createPackageContents();
+ theTimingPackage.createPackageContents();
+ theTimingconstraintsPackage.createPackageContents();
+ theEventsPackage.createPackageContents();
+ theInterchangePackage.createPackageContents();
+ theEnvironmentPackage.createPackageContents();
+ theDependabilityPackage.createPackageContents();
+ theErrormodelPackage.createPackageContents();
+ theSafetyrequirementPackage.createPackageContents();
+ theSafetyconstraintsPackage.createPackageContents();
+ theSafetycasePackage.createPackageContents();
+ theAnnexPackage.createPackageContents();
+ theNeedsPackage.createPackageContents();
+ theGenericconstraintsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theEastadlPackage.initializePackageContents();
+ theVariabilityPackage.initializePackageContents();
+ theInfrastructurePackage.initializePackageContents();
+ theDatatypesPackage.initializePackageContents();
+ theUserattributesPackage.initializePackageContents();
+ theElementsPackage.initializePackageContents();
+ theStructurePackage.initializePackageContents();
+ theFunctionmodelingPackage.initializePackageContents();
+ theHardwaremodelingPackage.initializePackageContents();
+ theSystemmodelingPackage.initializePackageContents();
+ theVehiclefeaturemodelingPackage.initializePackageContents();
+ theFeaturemodelingPackage.initializePackageContents();
+ theBehaviorPackage.initializePackageContents();
+ theRequirementsPackage.initializePackageContents();
+ theVerificationvalidationPackage.initializePackageContents();
+ theTimingPackage.initializePackageContents();
+ theTimingconstraintsPackage.initializePackageContents();
+ theEventsPackage.initializePackageContents();
+ theInterchangePackage.initializePackageContents();
+ theEnvironmentPackage.initializePackageContents();
+ theDependabilityPackage.initializePackageContents();
+ theErrormodelPackage.initializePackageContents();
+ theSafetyrequirementPackage.initializePackageContents();
+ theSafetyconstraintsPackage.initializePackageContents();
+ theSafetycasePackage.initializePackageContents();
+ theAnnexPackage.initializePackageContents();
+ theNeedsPackage.initializePackageContents();
+ theGenericconstraintsPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theEastadlPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(EastadlPackage.eNS_URI, theEastadlPackage);
+ return theEastadlPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getdummy() {
+ return dummyEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * 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.eclipse.papyrus.eastadl.EastadlPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private EastadlPackageImpl() {
+ super(eNS_URI, EastadlFactory.eINSTANCE);
+ }
+
+ /**
+ * 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
+ dummyEEnum = createEEnum(DUMMY);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EastadlFactory getEastadlFactory() {
+ return (EastadlFactory)getEFactoryInstance();
+ }
+
+ /**
+ * 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
+ VariabilityPackage theVariabilityPackage = (VariabilityPackage)EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI);
+ InfrastructurePackage theInfrastructurePackage = (InfrastructurePackage)EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI);
+ StructurePackage theStructurePackage = (StructurePackage)EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI);
+ BehaviorPackage theBehaviorPackage = (BehaviorPackage)EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI);
+ RequirementsPackage theRequirementsPackage = (RequirementsPackage)EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI);
+ TimingPackage theTimingPackage = (TimingPackage)EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI);
+ InterchangePackage theInterchangePackage = (InterchangePackage)EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI);
+ EnvironmentPackage theEnvironmentPackage = (EnvironmentPackage)EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI);
+ DependabilityPackage theDependabilityPackage = (DependabilityPackage)EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI);
+ AnnexPackage theAnnexPackage = (AnnexPackage)EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI);
+ GenericconstraintsPackage theGenericconstraintsPackage = (GenericconstraintsPackage)EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI);
+
+ // Add subpackages
+ getESubpackages().add(theVariabilityPackage);
+ getESubpackages().add(theInfrastructurePackage);
+ getESubpackages().add(theStructurePackage);
+ getESubpackages().add(theBehaviorPackage);
+ getESubpackages().add(theRequirementsPackage);
+ getESubpackages().add(theTimingPackage);
+ getESubpackages().add(theInterchangePackage);
+ getESubpackages().add(theEnvironmentPackage);
+ getESubpackages().add(theDependabilityPackage);
+ getESubpackages().add(theAnnexPackage);
+ getESubpackages().add(theGenericconstraintsPackage);
+
+ // Initialize enums and add enum literals
+ initEEnum(dummyEEnum, dummy.class, "dummy");
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} // EastadlPackageImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/InfrastructureFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/InfrastructureFactory.java
new file mode 100644
index 00000000000..f4f8a61da75
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/InfrastructureFactory.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure;
+
+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.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage
+ * @generated
+ */
+public interface InfrastructureFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ InfrastructureFactory eINSTANCE = org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructureFactoryImpl.init();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ InfrastructurePackage getInfrastructurePackage();
+
+} //InfrastructureFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/InfrastructurePackage.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/InfrastructurePackage.java
new file mode 100644
index 00000000000..4d4cbf6cc32
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/InfrastructurePackage.java
@@ -0,0 +1,130 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure;
+
+import org.eclipse.emf.ecore.EDataType;
+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 -->
+ * <!-- begin-model-doc -->
+ * This section contains the UML-profile specification, specifying stereotypes in the UML-profile, defined from the metaclasses in the ADLCoreConstructs package. It includes specification details for each stereotype. If the stereotype has properties, which may be referred to as tag definitions, or if the stereotype has constraints, this section also includes specification details for these properties and constraints.
+ *
+ * Overview:
+ * This subprofile defines a set of abstract stereotypes which provide basic constructs to the other subprofiles. Two subprofiles are also defined, ADLTypes and ADLRelationshipModeling which are described in the following sections.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.InfrastructureFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface InfrastructurePackage extends EPackage {
+ /**
+ * <!-- 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 '<em>Dummy</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.String
+ * @see org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl#getDummy()
+ * @generated
+ */
+ EDataType DUMMY = eINSTANCE.getDummy();
+
+ }
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "infrastructure";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.papyrusuml.org/EAST-ADL2/Infrastructure/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "Infrastructure";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ InfrastructurePackage eINSTANCE = org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl.init();
+
+ /**
+ * The meta object id for the '<em>Dummy</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.String
+ * @see org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl#getDummy()
+ * @generated
+ */
+ int DUMMY = 0;
+
+ /**
+ * Returns the meta object for data type '{@link java.lang.String <em>Dummy</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>Dummy</em>'.
+ * @see java.lang.String
+ * @model instanceClass="java.lang.String"
+ * @generated
+ */
+ EDataType 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
+ */
+ InfrastructureFactory getInfrastructureFactory();
+
+} //InfrastructurePackage
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/CompositeDatatype.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/CompositeDatatype.java
new file mode 100644
index 00000000000..8216aab0fa5
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/CompositeDatatype.java
@@ -0,0 +1,65 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Composite Datatype</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A CompositeDatatype represents a non-scalar datatype. Take as an example a CompositeDatatype "MyCountries" that can refer, e.g., to an Enumeration "CountryEnumeration" {USA, Canada, Japan, EU} via two EADatatypePrototypes (record variables): FirstCountry and SecondCountry. Then an attribute typed by this CompositeDatatype "MyCountries" may have a value like: (EU (identified as FirstCountry), Japan (identified as SecondCountry)).
+ *
+ * Semantics:
+ * A CompositeDatatype represents a non-scalar datatype. The contained datatypePrototypes act as record variables to identify the ordered datatype instances of the tuple (the CompositeDatatype).
+ *
+ * Notation:
+ * The datatype CompositeDatatype is denoted using the rectangle symbol with keyword «Datatype CompositeDatatype».
+ *
+ * Extension: UML Datatype
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.CompositeDatatype#getDatatypePrototype <em>Datatype Prototype</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getCompositeDatatype()
+ * @model
+ * @generated
+ */
+public interface CompositeDatatype extends EADatatype {
+ /**
+ * Returns the value of the '<em><b>Datatype Prototype</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatypePrototype}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Datatype Prototype</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Datatype Prototype</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getCompositeDatatype_DatatypePrototype()
+ * @model required="true"
+ * @generated
+ */
+ EList<EADatatypePrototype> getDatatypePrototype();
+
+} // CompositeDatatype
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/DatatypesFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/DatatypesFactory.java
new file mode 100644
index 00000000000..5c9d6605730
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/DatatypesFactory.java
@@ -0,0 +1,136 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes;
+
+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.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage
+ * @generated
+ */
+public interface DatatypesFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ DatatypesFactory eINSTANCE = org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>EA Datatype Prototype</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>EA Datatype Prototype</em>'.
+ * @generated
+ */
+ EADatatypePrototype createEADatatypePrototype();
+
+ /**
+ * Returns a new object of class '<em>Composite Datatype</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Composite Datatype</em>'.
+ * @generated
+ */
+ CompositeDatatype createCompositeDatatype();
+
+ /**
+ * Returns a new object of class '<em>EA String</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>EA String</em>'.
+ * @generated
+ */
+ EAString createEAString();
+
+ /**
+ * Returns a new object of class '<em>EA Boolean</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>EA Boolean</em>'.
+ * @generated
+ */
+ EABoolean createEABoolean();
+
+ /**
+ * Returns a new object of class '<em>EA Float</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>EA Float</em>'.
+ * @generated
+ */
+ EAFloat createEAFloat();
+
+ /**
+ * Returns a new object of class '<em>EA Integer</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>EA Integer</em>'.
+ * @generated
+ */
+ EAInteger createEAInteger();
+
+ /**
+ * Returns a new object of class '<em>Enumeration Literal</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Enumeration Literal</em>'.
+ * @generated
+ */
+ EnumerationLiteral createEnumerationLiteral();
+
+ /**
+ * Returns a new object of class '<em>Enumeration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Enumeration</em>'.
+ * @generated
+ */
+ Enumeration createEnumeration();
+
+ /**
+ * Returns a new object of class '<em>Enumeration Value Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Enumeration Value Type</em>'.
+ * @generated
+ */
+ EnumerationValueType createEnumerationValueType();
+
+ /**
+ * Returns a new object of class '<em>Rangeable Value Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Rangeable Value Type</em>'.
+ * @generated
+ */
+ RangeableValueType createRangeableValueType();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ DatatypesPackage getDatatypesPackage();
+
+} //DatatypesFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/DatatypesPackage.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/DatatypesPackage.java
new file mode 100644
index 00000000000..b779f1a164c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/DatatypesPackage.java
@@ -0,0 +1,1867 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+
+
+/**
+ * <!-- 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 -->
+ * <!-- begin-model-doc -->
+ * The Datatypes subpackage of EAST-ADL2 defines EAST-ADL2 general-purpose datatypes that may be used to type structural constructs in several different modeling diagrams.
+ *
+ * The purpose of the metaclasses in the Datatypes subpackage is to specify the concepts for the specific domain.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface DatatypesPackage extends EPackage {
+ /**
+ * <!-- 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.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EADatatypeImpl <em>EA Datatype</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EADatatypeImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl#getEADatatype()
+ * @generated
+ */
+ EClass EA_DATATYPE = eINSTANCE.getEADatatype();
+
+ /**
+ * The meta object literal for the '<em><b>Base Data Type</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EA_DATATYPE__BASE_DATA_TYPE = eINSTANCE.getEADatatype_Base_DataType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.RangeableDatatypeImpl <em>Rangeable Datatype</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.RangeableDatatypeImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl#getRangeableDatatype()
+ * @generated
+ */
+ EClass RANGEABLE_DATATYPE = eINSTANCE.getRangeableDatatype();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EADatatypePrototypeImpl <em>EA Datatype Prototype</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EADatatypePrototypeImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl#getEADatatypePrototype()
+ * @generated
+ */
+ EClass EA_DATATYPE_PROTOTYPE = eINSTANCE.getEADatatypePrototype();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EA_DATATYPE_PROTOTYPE__TYPE = eINSTANCE.getEADatatypePrototype_Type();
+
+ /**
+ * The meta object literal for the '<em><b>Base Property</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EA_DATATYPE_PROTOTYPE__BASE_PROPERTY = eINSTANCE.getEADatatypePrototype_Base_Property();
+
+ /**
+ * The meta object literal for the '<em><b>Base Parameter</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EA_DATATYPE_PROTOTYPE__BASE_PARAMETER = eINSTANCE.getEADatatypePrototype_Base_Parameter();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.ValueTypeImpl <em>Value Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.ValueTypeImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl#getValueType()
+ * @generated
+ */
+ EClass VALUE_TYPE = eINSTANCE.getValueType();
+
+ /**
+ * The meta object literal for the '<em><b>Semantics</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VALUE_TYPE__SEMANTICS = eINSTANCE.getValueType_Semantics();
+
+ /**
+ * The meta object literal for the '<em><b>Dimension</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VALUE_TYPE__DIMENSION = eINSTANCE.getValueType_Dimension();
+
+ /**
+ * The meta object literal for the '<em><b>Unit</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VALUE_TYPE__UNIT = eINSTANCE.getValueType_Unit();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.RangeableValueTypeImpl <em>Rangeable Value Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.RangeableValueTypeImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl#getRangeableValueType()
+ * @generated
+ */
+ EClass RANGEABLE_VALUE_TYPE = eINSTANCE.getRangeableValueType();
+
+ /**
+ * The meta object literal for the '<em><b>Accuracy</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RANGEABLE_VALUE_TYPE__ACCURACY = eINSTANCE.getRangeableValueType_Accuracy();
+
+ /**
+ * The meta object literal for the '<em><b>Resolution</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RANGEABLE_VALUE_TYPE__RESOLUTION = eINSTANCE.getRangeableValueType_Resolution();
+
+ /**
+ * The meta object literal for the '<em><b>Significant Digits</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RANGEABLE_VALUE_TYPE__SIGNIFICANT_DIGITS = eINSTANCE.getRangeableValueType_SignificantDigits();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EnumerationValueTypeImpl <em>Enumeration Value Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EnumerationValueTypeImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl#getEnumerationValueType()
+ * @generated
+ */
+ EClass ENUMERATION_VALUE_TYPE = eINSTANCE.getEnumerationValueType();
+
+ /**
+ * The meta object literal for the '<em><b>Is Multi Valued</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ENUMERATION_VALUE_TYPE__IS_MULTI_VALUED = eINSTANCE.getEnumerationValueType_IsMultiValued();
+
+ /**
+ * The meta object literal for the '<em><b>Literal Semantics</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ENUMERATION_VALUE_TYPE__LITERAL_SEMANTICS = eINSTANCE.getEnumerationValueType_LiteralSemantics();
+
+ /**
+ * The meta object literal for the '<em><b>Base Enumeration</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ENUMERATION_VALUE_TYPE__BASE_ENUMERATION = eINSTANCE.getEnumerationValueType_Base_Enumeration();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.CompositeDatatypeImpl <em>Composite Datatype</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.CompositeDatatypeImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl#getCompositeDatatype()
+ * @generated
+ */
+ EClass COMPOSITE_DATATYPE = eINSTANCE.getCompositeDatatype();
+
+ /**
+ * The meta object literal for the '<em><b>Datatype Prototype</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference COMPOSITE_DATATYPE__DATATYPE_PROTOTYPE = eINSTANCE.getCompositeDatatype_DatatypePrototype();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EAStringImpl <em>EA String</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EAStringImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl#getEAString()
+ * @generated
+ */
+ EClass EA_STRING = eINSTANCE.getEAString();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EABooleanImpl <em>EA Boolean</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EABooleanImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl#getEABoolean()
+ * @generated
+ */
+ EClass EA_BOOLEAN = eINSTANCE.getEABoolean();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EAFloatImpl <em>EA Float</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EAFloatImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl#getEAFloat()
+ * @generated
+ */
+ EClass EA_FLOAT = eINSTANCE.getEAFloat();
+
+ /**
+ * The meta object literal for the '<em><b>Min</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EA_FLOAT__MIN = eINSTANCE.getEAFloat_Min();
+
+ /**
+ * The meta object literal for the '<em><b>Max</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EA_FLOAT__MAX = eINSTANCE.getEAFloat_Max();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EAIntegerImpl <em>EA Integer</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EAIntegerImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl#getEAInteger()
+ * @generated
+ */
+ EClass EA_INTEGER = eINSTANCE.getEAInteger();
+
+ /**
+ * The meta object literal for the '<em><b>Min</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EA_INTEGER__MIN = eINSTANCE.getEAInteger_Min();
+
+ /**
+ * The meta object literal for the '<em><b>Max</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EA_INTEGER__MAX = eINSTANCE.getEAInteger_Max();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EnumerationLiteralImpl <em>Enumeration Literal</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EnumerationLiteralImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl#getEnumerationLiteral()
+ * @generated
+ */
+ EClass ENUMERATION_LITERAL = eINSTANCE.getEnumerationLiteral();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EnumerationImpl <em>Enumeration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EnumerationImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl#getEnumeration()
+ * @generated
+ */
+ EClass ENUMERATION = eINSTANCE.getEnumeration();
+
+ /**
+ * The meta object literal for the '<em><b>Literal</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ENUMERATION__LITERAL = eINSTANCE.getEnumeration_Literal();
+
+ /**
+ * The meta object literal for the '<em>javalang Float</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.Float
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl#getjavalangFloat()
+ * @generated
+ */
+ EDataType JAVALANG_FLOAT = eINSTANCE.getjavalangFloat();
+
+ }
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "datatypes";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.papyrusuml.org/EAST-ADL2/Infrastructure/Datatypes/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "Datatypes";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ DatatypesPackage eINSTANCE = org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EADatatypeImpl <em>EA Datatype</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EADatatypeImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl#getEADatatype()
+ * @generated
+ */
+ int EA_DATATYPE = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_DATATYPE__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_DATATYPE__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_DATATYPE__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_DATATYPE__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_DATATYPE__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Data Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_DATATYPE__BASE_DATA_TYPE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>EA Datatype</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_DATATYPE_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.RangeableDatatypeImpl <em>Rangeable Datatype</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.RangeableDatatypeImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl#getRangeableDatatype()
+ * @generated
+ */
+ int RANGEABLE_DATATYPE = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EADatatypePrototypeImpl <em>EA Datatype Prototype</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EADatatypePrototypeImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl#getEADatatypePrototype()
+ * @generated
+ */
+ int EA_DATATYPE_PROTOTYPE = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.ValueTypeImpl <em>Value Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.ValueTypeImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl#getValueType()
+ * @generated
+ */
+ int VALUE_TYPE = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_DATATYPE_PROTOTYPE__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_DATATYPE_PROTOTYPE__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_DATATYPE_PROTOTYPE__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_DATATYPE_PROTOTYPE__TYPE = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_DATATYPE_PROTOTYPE__BASE_PROPERTY = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Parameter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_DATATYPE_PROTOTYPE__BASE_PARAMETER = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>EA Datatype Prototype</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_DATATYPE_PROTOTYPE_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VALUE_TYPE__NAME = EA_DATATYPE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VALUE_TYPE__BASE_NAMED_ELEMENT = EA_DATATYPE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VALUE_TYPE__OWNED_COMMENT = EA_DATATYPE__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VALUE_TYPE__BASE_PACKAGEABLE_ELEMENT = EA_DATATYPE__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VALUE_TYPE__NOTE = EA_DATATYPE__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Data Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VALUE_TYPE__BASE_DATA_TYPE = EA_DATATYPE__BASE_DATA_TYPE;
+
+ /**
+ * The feature id for the '<em><b>Semantics</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VALUE_TYPE__SEMANTICS = EA_DATATYPE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Dimension</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VALUE_TYPE__DIMENSION = EA_DATATYPE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VALUE_TYPE__UNIT = EA_DATATYPE_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Value Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VALUE_TYPE_FEATURE_COUNT = EA_DATATYPE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANGEABLE_DATATYPE__NAME = EA_DATATYPE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANGEABLE_DATATYPE__BASE_NAMED_ELEMENT = EA_DATATYPE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANGEABLE_DATATYPE__OWNED_COMMENT = EA_DATATYPE__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANGEABLE_DATATYPE__BASE_PACKAGEABLE_ELEMENT = EA_DATATYPE__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANGEABLE_DATATYPE__NOTE = EA_DATATYPE__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Data Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANGEABLE_DATATYPE__BASE_DATA_TYPE = EA_DATATYPE__BASE_DATA_TYPE;
+
+ /**
+ * The number of structural features of the '<em>Rangeable Datatype</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANGEABLE_DATATYPE_FEATURE_COUNT = EA_DATATYPE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.RangeableValueTypeImpl <em>Rangeable Value Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.RangeableValueTypeImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl#getRangeableValueType()
+ * @generated
+ */
+ int RANGEABLE_VALUE_TYPE = 4;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANGEABLE_VALUE_TYPE__NAME = VALUE_TYPE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANGEABLE_VALUE_TYPE__BASE_NAMED_ELEMENT = VALUE_TYPE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANGEABLE_VALUE_TYPE__OWNED_COMMENT = VALUE_TYPE__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANGEABLE_VALUE_TYPE__BASE_PACKAGEABLE_ELEMENT = VALUE_TYPE__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANGEABLE_VALUE_TYPE__NOTE = VALUE_TYPE__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Data Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANGEABLE_VALUE_TYPE__BASE_DATA_TYPE = VALUE_TYPE__BASE_DATA_TYPE;
+
+ /**
+ * The feature id for the '<em><b>Semantics</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANGEABLE_VALUE_TYPE__SEMANTICS = VALUE_TYPE__SEMANTICS;
+
+ /**
+ * The feature id for the '<em><b>Dimension</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANGEABLE_VALUE_TYPE__DIMENSION = VALUE_TYPE__DIMENSION;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANGEABLE_VALUE_TYPE__UNIT = VALUE_TYPE__UNIT;
+
+ /**
+ * The feature id for the '<em><b>Accuracy</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANGEABLE_VALUE_TYPE__ACCURACY = VALUE_TYPE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Resolution</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANGEABLE_VALUE_TYPE__RESOLUTION = VALUE_TYPE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Significant Digits</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANGEABLE_VALUE_TYPE__SIGNIFICANT_DIGITS = VALUE_TYPE_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Rangeable Value Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANGEABLE_VALUE_TYPE_FEATURE_COUNT = VALUE_TYPE_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EnumerationValueTypeImpl <em>Enumeration Value Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EnumerationValueTypeImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl#getEnumerationValueType()
+ * @generated
+ */
+ int ENUMERATION_VALUE_TYPE = 5;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_VALUE_TYPE__NAME = VALUE_TYPE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_VALUE_TYPE__BASE_NAMED_ELEMENT = VALUE_TYPE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_VALUE_TYPE__OWNED_COMMENT = VALUE_TYPE__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_VALUE_TYPE__BASE_PACKAGEABLE_ELEMENT = VALUE_TYPE__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_VALUE_TYPE__NOTE = VALUE_TYPE__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Data Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_VALUE_TYPE__BASE_DATA_TYPE = VALUE_TYPE__BASE_DATA_TYPE;
+
+ /**
+ * The feature id for the '<em><b>Semantics</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_VALUE_TYPE__SEMANTICS = VALUE_TYPE__SEMANTICS;
+
+ /**
+ * The feature id for the '<em><b>Dimension</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_VALUE_TYPE__DIMENSION = VALUE_TYPE__DIMENSION;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_VALUE_TYPE__UNIT = VALUE_TYPE__UNIT;
+
+ /**
+ * The feature id for the '<em><b>Is Multi Valued</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_VALUE_TYPE__IS_MULTI_VALUED = VALUE_TYPE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Literal Semantics</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_VALUE_TYPE__LITERAL_SEMANTICS = VALUE_TYPE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Enumeration</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_VALUE_TYPE__BASE_ENUMERATION = VALUE_TYPE_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Enumeration Value Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_VALUE_TYPE_FEATURE_COUNT = VALUE_TYPE_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.CompositeDatatypeImpl <em>Composite Datatype</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.CompositeDatatypeImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl#getCompositeDatatype()
+ * @generated
+ */
+ int COMPOSITE_DATATYPE = 6;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPOSITE_DATATYPE__NAME = EA_DATATYPE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPOSITE_DATATYPE__BASE_NAMED_ELEMENT = EA_DATATYPE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPOSITE_DATATYPE__OWNED_COMMENT = EA_DATATYPE__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPOSITE_DATATYPE__BASE_PACKAGEABLE_ELEMENT = EA_DATATYPE__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPOSITE_DATATYPE__NOTE = EA_DATATYPE__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Data Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPOSITE_DATATYPE__BASE_DATA_TYPE = EA_DATATYPE__BASE_DATA_TYPE;
+
+ /**
+ * The feature id for the '<em><b>Datatype Prototype</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPOSITE_DATATYPE__DATATYPE_PROTOTYPE = EA_DATATYPE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Composite Datatype</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPOSITE_DATATYPE_FEATURE_COUNT = EA_DATATYPE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EAStringImpl <em>EA String</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EAStringImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl#getEAString()
+ * @generated
+ */
+ int EA_STRING = 7;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_STRING__NAME = EA_DATATYPE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_STRING__BASE_NAMED_ELEMENT = EA_DATATYPE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_STRING__OWNED_COMMENT = EA_DATATYPE__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_STRING__BASE_PACKAGEABLE_ELEMENT = EA_DATATYPE__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_STRING__NOTE = EA_DATATYPE__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Data Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_STRING__BASE_DATA_TYPE = EA_DATATYPE__BASE_DATA_TYPE;
+
+ /**
+ * The number of structural features of the '<em>EA String</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_STRING_FEATURE_COUNT = EA_DATATYPE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EABooleanImpl <em>EA Boolean</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EABooleanImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl#getEABoolean()
+ * @generated
+ */
+ int EA_BOOLEAN = 8;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_BOOLEAN__NAME = EA_DATATYPE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_BOOLEAN__BASE_NAMED_ELEMENT = EA_DATATYPE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_BOOLEAN__OWNED_COMMENT = EA_DATATYPE__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_BOOLEAN__BASE_PACKAGEABLE_ELEMENT = EA_DATATYPE__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_BOOLEAN__NOTE = EA_DATATYPE__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Data Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_BOOLEAN__BASE_DATA_TYPE = EA_DATATYPE__BASE_DATA_TYPE;
+
+ /**
+ * The number of structural features of the '<em>EA Boolean</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_BOOLEAN_FEATURE_COUNT = EA_DATATYPE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EAFloatImpl <em>EA Float</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EAFloatImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl#getEAFloat()
+ * @generated
+ */
+ int EA_FLOAT = 9;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_FLOAT__NAME = RANGEABLE_DATATYPE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_FLOAT__BASE_NAMED_ELEMENT = RANGEABLE_DATATYPE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_FLOAT__OWNED_COMMENT = RANGEABLE_DATATYPE__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_FLOAT__BASE_PACKAGEABLE_ELEMENT = RANGEABLE_DATATYPE__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_FLOAT__NOTE = RANGEABLE_DATATYPE__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Data Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_FLOAT__BASE_DATA_TYPE = RANGEABLE_DATATYPE__BASE_DATA_TYPE;
+
+ /**
+ * The feature id for the '<em><b>Min</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_FLOAT__MIN = RANGEABLE_DATATYPE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Max</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_FLOAT__MAX = RANGEABLE_DATATYPE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>EA Float</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_FLOAT_FEATURE_COUNT = RANGEABLE_DATATYPE_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EAIntegerImpl <em>EA Integer</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EAIntegerImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl#getEAInteger()
+ * @generated
+ */
+ int EA_INTEGER = 10;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_INTEGER__NAME = RANGEABLE_DATATYPE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_INTEGER__BASE_NAMED_ELEMENT = RANGEABLE_DATATYPE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_INTEGER__OWNED_COMMENT = RANGEABLE_DATATYPE__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_INTEGER__BASE_PACKAGEABLE_ELEMENT = RANGEABLE_DATATYPE__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_INTEGER__NOTE = RANGEABLE_DATATYPE__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Data Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_INTEGER__BASE_DATA_TYPE = RANGEABLE_DATATYPE__BASE_DATA_TYPE;
+
+ /**
+ * The feature id for the '<em><b>Min</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_INTEGER__MIN = RANGEABLE_DATATYPE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Max</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_INTEGER__MAX = RANGEABLE_DATATYPE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>EA Integer</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_INTEGER_FEATURE_COUNT = RANGEABLE_DATATYPE_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EnumerationLiteralImpl <em>Enumeration Literal</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EnumerationLiteralImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl#getEnumerationLiteral()
+ * @generated
+ */
+ int ENUMERATION_LITERAL = 11;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The number of structural features of the '<em>Enumeration Literal</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_LITERAL_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EnumerationImpl <em>Enumeration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EnumerationImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl#getEnumeration()
+ * @generated
+ */
+ int ENUMERATION = 12;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION__NAME = EA_DATATYPE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION__BASE_NAMED_ELEMENT = EA_DATATYPE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION__OWNED_COMMENT = EA_DATATYPE__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION__BASE_PACKAGEABLE_ELEMENT = EA_DATATYPE__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION__NOTE = EA_DATATYPE__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Data Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION__BASE_DATA_TYPE = EA_DATATYPE__BASE_DATA_TYPE;
+
+ /**
+ * The feature id for the '<em><b>Literal</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION__LITERAL = EA_DATATYPE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Enumeration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENUMERATION_FEATURE_COUNT = EA_DATATYPE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '<em>javalang Float</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.Float
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl#getjavalangFloat()
+ * @generated
+ */
+ int JAVALANG_FLOAT = 13;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatype <em>EA Datatype</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>EA Datatype</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatype
+ * @generated
+ */
+ EClass getEADatatype();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatype#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.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatype#getBase_DataType()
+ * @see #getEADatatype()
+ * @generated
+ */
+ EReference getEADatatype_Base_DataType();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatypePrototype <em>EA Datatype Prototype</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>EA Datatype Prototype</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatypePrototype
+ * @generated
+ */
+ EClass getEADatatypePrototype();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatypePrototype#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatypePrototype#getType()
+ * @see #getEADatatypePrototype()
+ * @generated
+ */
+ EReference getEADatatypePrototype_Type();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatypePrototype#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.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatypePrototype#getBase_Property()
+ * @see #getEADatatypePrototype()
+ * @generated
+ */
+ EReference getEADatatypePrototype_Base_Property();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatypePrototype#getBase_Parameter <em>Base Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Parameter</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatypePrototype#getBase_Parameter()
+ * @see #getEADatatypePrototype()
+ * @generated
+ */
+ EReference getEADatatypePrototype_Base_Parameter();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.CompositeDatatype <em>Composite Datatype</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Composite Datatype</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.CompositeDatatype
+ * @generated
+ */
+ EClass getCompositeDatatype();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.CompositeDatatype#getDatatypePrototype <em>Datatype Prototype</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Datatype Prototype</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.CompositeDatatype#getDatatypePrototype()
+ * @see #getCompositeDatatype()
+ * @generated
+ */
+ EReference getCompositeDatatype_DatatypePrototype();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAString <em>EA String</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>EA String</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAString
+ * @generated
+ */
+ EClass getEAString();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EABoolean <em>EA Boolean</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>EA Boolean</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.EABoolean
+ * @generated
+ */
+ EClass getEABoolean();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAFloat <em>EA Float</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>EA Float</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAFloat
+ * @generated
+ */
+ EClass getEAFloat();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAFloat#getMin <em>Min</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Min</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAFloat#getMin()
+ * @see #getEAFloat()
+ * @generated
+ */
+ EAttribute getEAFloat_Min();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAFloat#getMax <em>Max</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Max</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAFloat#getMax()
+ * @see #getEAFloat()
+ * @generated
+ */
+ EAttribute getEAFloat_Max();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAInteger <em>EA Integer</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>EA Integer</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAInteger
+ * @generated
+ */
+ EClass getEAInteger();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAInteger#getMin <em>Min</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Min</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAInteger#getMin()
+ * @see #getEAInteger()
+ * @generated
+ */
+ EAttribute getEAInteger_Min();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAInteger#getMax <em>Max</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Max</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAInteger#getMax()
+ * @see #getEAInteger()
+ * @generated
+ */
+ EAttribute getEAInteger_Max();
+
+ /**
+ * 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
+ */
+ DatatypesFactory getDatatypesFactory();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationLiteral <em>Enumeration Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Enumeration Literal</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationLiteral
+ * @generated
+ */
+ EClass getEnumerationLiteral();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.Enumeration <em>Enumeration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Enumeration</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.Enumeration
+ * @generated
+ */
+ EClass getEnumeration();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.Enumeration#getLiteral <em>Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Literal</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.Enumeration#getLiteral()
+ * @see #getEnumeration()
+ * @generated
+ */
+ EReference getEnumeration_Literal();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationValueType <em>Enumeration Value Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Enumeration Value Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationValueType
+ * @generated
+ */
+ EClass getEnumerationValueType();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationValueType#isIsMultiValued <em>Is Multi Valued</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Multi Valued</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationValueType#isIsMultiValued()
+ * @see #getEnumerationValueType()
+ * @generated
+ */
+ EAttribute getEnumerationValueType_IsMultiValued();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationValueType#getLiteralSemantics <em>Literal Semantics</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Literal Semantics</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationValueType#getLiteralSemantics()
+ * @see #getEnumerationValueType()
+ * @generated
+ */
+ EAttribute getEnumerationValueType_LiteralSemantics();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationValueType#getBase_Enumeration <em>Base Enumeration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Enumeration</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationValueType#getBase_Enumeration()
+ * @see #getEnumerationValueType()
+ * @generated
+ */
+ EReference getEnumerationValueType_Base_Enumeration();
+
+ /**
+ * Returns the meta object for data type '{@link java.lang.Float <em>javalang Float</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>javalang Float</em>'.
+ * @see java.lang.Float
+ * @model instanceClass="java.lang.Float"
+ * @generated
+ */
+ EDataType getjavalangFloat();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.RangeableDatatype <em>Rangeable Datatype</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Rangeable Datatype</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.RangeableDatatype
+ * @generated
+ */
+ EClass getRangeableDatatype();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.RangeableValueType <em>Rangeable Value Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Rangeable Value Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.RangeableValueType
+ * @generated
+ */
+ EClass getRangeableValueType();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.RangeableValueType#getAccuracy <em>Accuracy</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Accuracy</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.RangeableValueType#getAccuracy()
+ * @see #getRangeableValueType()
+ * @generated
+ */
+ EAttribute getRangeableValueType_Accuracy();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.RangeableValueType#getResolution <em>Resolution</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Resolution</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.RangeableValueType#getResolution()
+ * @see #getRangeableValueType()
+ * @generated
+ */
+ EAttribute getRangeableValueType_Resolution();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.RangeableValueType#getSignificantDigits <em>Significant Digits</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Significant Digits</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.RangeableValueType#getSignificantDigits()
+ * @see #getRangeableValueType()
+ * @generated
+ */
+ EAttribute getRangeableValueType_SignificantDigits();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.ValueType <em>Value Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Value Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.ValueType
+ * @generated
+ */
+ EClass getValueType();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.ValueType#getSemantics <em>Semantics</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Semantics</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.ValueType#getSemantics()
+ * @see #getValueType()
+ * @generated
+ */
+ EAttribute getValueType_Semantics();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.ValueType#getDimension <em>Dimension</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Dimension</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.ValueType#getDimension()
+ * @see #getValueType()
+ * @generated
+ */
+ EAttribute getValueType_Dimension();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.ValueType#getUnit <em>Unit</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Unit</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.ValueType#getUnit()
+ * @see #getValueType()
+ * @generated
+ */
+ EAttribute getValueType_Unit();
+
+} //DatatypesPackage
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EABoolean.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EABoolean.java
new file mode 100644
index 00000000000..c594d123875
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EABoolean.java
@@ -0,0 +1,30 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EA Boolean</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getEABoolean()
+ * @model
+ * @generated
+ */
+public interface EABoolean extends EADatatype {
+} // EABoolean
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EADatatype.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EADatatype.java
new file mode 100644
index 00000000000..6ac9e85606e
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EADatatype.java
@@ -0,0 +1,78 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes;
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+import org.eclipse.uml2.uml.DataType;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EA Datatype</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The EADatatype is a metaclass, which signifies a type whose instances are identified only by their value. The EADatatype metaclass represents the description of the value set for some variable, parameter etc. without a description of how these possible values are represented on implementation level. The implementation representation is defined on implementation level by the AUTOSAR concept PrimitiveTypeWithSemantics, and the implemented datatype shall be associated with a Realization relationship. The realizing datatype must match the EADatatype regarding range, resolution, unit, and dimension.
+ *
+ * Semantics:
+ * EADatatype metaclass is a special kind of classifier, similar to a class. It differs from the class in that instances of a data type are identified only by their value.
+ *
+ * Constraints:
+ * [1] In the case of an AR implementation, an EADatatype is realized generally by PrimitiveTypeWithSemantics, which has to be consistent w.r.t. range, resolution, etc.
+ *
+ * Notation:
+ * The EADatatype is denoted using the rectangle symbol with keyword «Datatype».
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatype#getBase_DataType <em>Base Data Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getEADatatype()
+ * @model abstract="true"
+ * @generated
+ */
+public interface EADatatype extends TraceableSpecification {
+ /**
+ * 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.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getEADatatype_Base_DataType()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ DataType getBase_DataType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatype#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);
+
+} // EADatatype
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EADatatypePrototype.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EADatatypePrototype.java
new file mode 100644
index 00000000000..6dbe85c64eb
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EADatatypePrototype.java
@@ -0,0 +1,129 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes;
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.Property;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EA Datatype Prototype</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The EADatatypePrototype represents a typed variable. An example is a composite datatype ColorValue with parts R, G, and B of type integer. ColorValue would contain three prototypes only to be able to reference the record parts by name. The EADatatypePrototype is also used to represent argument and return values of operations or to represent a parameter.
+ *
+ * Semantics:
+ * The EADatatypePrototype represents a typed variable. It acts as an occurrence of a datatype.
+ *
+ * Extension: Property
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatypePrototype#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatypePrototype#getBase_Property <em>Base Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatypePrototype#getBase_Parameter <em>Base Parameter</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getEADatatypePrototype()
+ * @model
+ * @generated
+ */
+public interface EADatatypePrototype extends EAElement {
+ /**
+ * Returns the value of the '<em><b>Base Parameter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Parameter</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 Parameter</em>' reference.
+ * @see #setBase_Parameter(Parameter)
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getEADatatypePrototype_Base_Parameter()
+ * @model ordered="false"
+ * @generated
+ */
+ Parameter getBase_Parameter();
+
+ /**
+ * 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.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getEADatatypePrototype_Base_Property()
+ * @model ordered="false"
+ * @generated
+ */
+ Property getBase_Property();
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Type</em>' reference.
+ * @see #setType(EADatatype)
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getEADatatypePrototype_Type()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EADatatype getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatypePrototype#getBase_Parameter <em>Base Parameter</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Parameter</em>' reference.
+ * @see #getBase_Parameter()
+ * @generated
+ */
+ void setBase_Parameter(Parameter value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatypePrototype#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);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatypePrototype#getType <em>Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' reference.
+ * @see #getType()
+ * @generated
+ */
+ void setType(EADatatype value);
+
+} // EADatatypePrototype
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EAFloat.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EAFloat.java
new file mode 100644
index 00000000000..01f5d104177
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EAFloat.java
@@ -0,0 +1,89 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EA Float</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAFloat#getMin <em>Min</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAFloat#getMax <em>Max</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getEAFloat()
+ * @model
+ * @generated
+ */
+public interface EAFloat extends RangeableDatatype {
+ /**
+ * Returns the value of the '<em><b>Max</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Max</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Max</em>' attribute.
+ * @see #setMax(Float)
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getEAFloat_Max()
+ * @model unique="false" dataType="org.eclipse.papyrus.eastadl.infrastructure.datatypes.javalangFloat" ordered="false"
+ * @generated
+ */
+ Float getMax();
+
+ /**
+ * Returns the value of the '<em><b>Min</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Min</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Min</em>' attribute.
+ * @see #setMin(Float)
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getEAFloat_Min()
+ * @model unique="false" dataType="org.eclipse.papyrus.eastadl.infrastructure.datatypes.javalangFloat" ordered="false"
+ * @generated
+ */
+ Float getMin();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAFloat#getMax <em>Max</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Max</em>' attribute.
+ * @see #getMax()
+ * @generated
+ */
+ void setMax(Float value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAFloat#getMin <em>Min</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Min</em>' attribute.
+ * @see #getMin()
+ * @generated
+ */
+ void setMin(Float value);
+
+} // EAFloat
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EAInteger.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EAInteger.java
new file mode 100644
index 00000000000..d5c3e6fcb15
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EAInteger.java
@@ -0,0 +1,89 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EA Integer</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAInteger#getMin <em>Min</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAInteger#getMax <em>Max</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getEAInteger()
+ * @model
+ * @generated
+ */
+public interface EAInteger extends RangeableDatatype {
+ /**
+ * Returns the value of the '<em><b>Max</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Max</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Max</em>' attribute.
+ * @see #setMax(int)
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getEAInteger_Max()
+ * @model unique="false" dataType="org.eclipse.uml2.types.Integer" ordered="false"
+ * @generated
+ */
+ int getMax();
+
+ /**
+ * Returns the value of the '<em><b>Min</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Min</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Min</em>' attribute.
+ * @see #setMin(int)
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getEAInteger_Min()
+ * @model unique="false" dataType="org.eclipse.uml2.types.Integer" ordered="false"
+ * @generated
+ */
+ int getMin();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAInteger#getMax <em>Max</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Max</em>' attribute.
+ * @see #getMax()
+ * @generated
+ */
+ void setMax(int value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAInteger#getMin <em>Min</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Min</em>' attribute.
+ * @see #getMin()
+ * @generated
+ */
+ void setMin(int value);
+
+} // EAInteger
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EAString.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EAString.java
new file mode 100644
index 00000000000..26ddd6c3fd8
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EAString.java
@@ -0,0 +1,30 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EA String</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getEAString()
+ * @model
+ * @generated
+ */
+public interface EAString extends EADatatype {
+} // EAString
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/Enumeration.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/Enumeration.java
new file mode 100644
index 00000000000..29b37a33774
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/Enumeration.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Enumeration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.Enumeration#getLiteral <em>Literal</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getEnumeration()
+ * @model
+ * @generated
+ */
+public interface Enumeration extends EADatatype {
+ /**
+ * Returns the value of the '<em><b>Literal</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationLiteral}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Literal</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Literal</em>' containment reference list.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getEnumeration_Literal()
+ * @model containment="true" lower="2" ordered="false"
+ * @generated
+ */
+ EList<EnumerationLiteral> getLiteral();
+
+} // Enumeration
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EnumerationLiteral.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EnumerationLiteral.java
new file mode 100644
index 00000000000..9a14a0d9675
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EnumerationLiteral.java
@@ -0,0 +1,32 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes;
+
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Enumeration Literal</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getEnumerationLiteral()
+ * @model
+ * @generated
+ */
+public interface EnumerationLiteral extends EAElement {
+} // EnumerationLiteral
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EnumerationValueType.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EnumerationValueType.java
new file mode 100644
index 00000000000..1afdc6a699b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/EnumerationValueType.java
@@ -0,0 +1,121 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.uml2.uml.Enumeration;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Enumeration Value Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The EnumerationValueType is a specific ValueType applicable for Enumerations. It provides the possibility to describe semantics of the baseEnumeration's literals and the information, if multiple values of the baseEnumeration may be selected or not.
+ *
+ * Semantics:
+ * The EnumerationValueType adds the ability to describe semantics of the baseEnumeration's literals and if multiple values of the baseEnumeration may be selected or not.
+ *
+ *
+ * Notation:
+ * The datatype EnumerationValueType is denoted using the rectangle symbol with keyword «Datatype EnumerationValueType».
+ *
+ * Extension: UML Enumeration
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationValueType#isIsMultiValued <em>Is Multi Valued</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationValueType#getLiteralSemantics <em>Literal Semantics</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationValueType#getBase_Enumeration <em>Base Enumeration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getEnumerationValueType()
+ * @model
+ * @generated
+ */
+public interface EnumerationValueType extends ValueType {
+ /**
+ * Returns the value of the '<em><b>Literal Semantics</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Literal Semantics</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>Literal Semantics</em>' attribute list.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getEnumerationValueType_LiteralSemantics()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" lower="2"
+ * @generated
+ */
+ EList<String> getLiteralSemantics();
+
+ /**
+ * Returns the value of the '<em><b>Base Enumeration</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Enumeration</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 Enumeration</em>' reference.
+ * @see #setBase_Enumeration(Enumeration)
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getEnumerationValueType_Base_Enumeration()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Enumeration getBase_Enumeration();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationValueType#getBase_Enumeration <em>Base Enumeration</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Enumeration</em>' reference.
+ * @see #getBase_Enumeration()
+ * @generated
+ */
+ void setBase_Enumeration(Enumeration value);
+
+ /**
+ * Returns the value of the '<em><b>Is Multi Valued</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Multi Valued</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Multi Valued</em>' attribute.
+ * @see #setIsMultiValued(boolean)
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getEnumerationValueType_IsMultiValued()
+ * @model unique="false" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isIsMultiValued();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationValueType#isIsMultiValued <em>Is Multi Valued</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Multi Valued</em>' attribute.
+ * @see #isIsMultiValued()
+ * @generated
+ */
+ void setIsMultiValued(boolean value);
+
+} // EnumerationValueType
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/RangeableDatatype.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/RangeableDatatype.java
new file mode 100644
index 00000000000..1cf6b311fe1
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/RangeableDatatype.java
@@ -0,0 +1,42 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes;
+
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Rangeable Datatype</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The stereotype RangeableDatatype reflects numeric datatypes that may have a range (between a minimal and a maximal value). An example for a RangeableDatatype is the Celsius temperature scale with minValue = -273.15.
+ *
+ * Semantics:
+ * The stereotype RangeableDatatype reflects numeric datatypes that may have a range (between a minimal and a maximal value).
+ *
+ *
+ * Extension: UML Datatype
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getRangeableDatatype()
+ * @model abstract="true"
+ * @generated
+ */
+public interface RangeableDatatype extends EADatatype {
+
+} // RangeableDatatype
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/RangeableValueType.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/RangeableValueType.java
new file mode 100644
index 00000000000..34ba0435d32
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/RangeableValueType.java
@@ -0,0 +1,128 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Rangeable Value Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The RangeableValueType is a specific ValueType applicable for RangeableDatatypes. It provides the possibility to describe the accuracy, resolution, and the significant digits of the baseRangeable datatypes.
+ *
+ * Semantics:
+ * The RangeableValueType adds the ability to describe the accuracy, resolution, and the significant digits of the baseRangeable datatype.
+ *
+ * Notation:
+ * The datatype RangeableValueType is denoted using the rectangle symbol with keyword «Datatype RangeableValueType».
+ *
+ * Extension: UML Datatype
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.RangeableValueType#getAccuracy <em>Accuracy</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.RangeableValueType#getResolution <em>Resolution</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.RangeableValueType#getSignificantDigits <em>Significant Digits</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getRangeableValueType()
+ * @model
+ * @generated
+ */
+public interface RangeableValueType extends ValueType {
+ /**
+ * Returns the value of the '<em><b>Accuracy</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Accuracy</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Accuracy</em>' attribute.
+ * @see #setAccuracy(Float)
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getRangeableValueType_Accuracy()
+ * @model unique="false" dataType="org.eclipse.papyrus.eastadl.infrastructure.datatypes.javalangFloat" required="true" ordered="false"
+ * @generated
+ */
+ Float getAccuracy();
+
+ /**
+ * Returns the value of the '<em><b>Resolution</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Resolution</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Resolution</em>' attribute.
+ * @see #setResolution(Float)
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getRangeableValueType_Resolution()
+ * @model unique="false" dataType="org.eclipse.papyrus.eastadl.infrastructure.datatypes.javalangFloat" required="true" ordered="false"
+ * @generated
+ */
+ Float getResolution();
+
+ /**
+ * Returns the value of the '<em><b>Significant Digits</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Significant Digits</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Significant Digits</em>' attribute.
+ * @see #setSignificantDigits(int)
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getRangeableValueType_SignificantDigits()
+ * @model unique="false" dataType="org.eclipse.uml2.types.Integer" ordered="false"
+ * @generated
+ */
+ int getSignificantDigits();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.RangeableValueType#getAccuracy <em>Accuracy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Accuracy</em>' attribute.
+ * @see #getAccuracy()
+ * @generated
+ */
+ void setAccuracy(Float value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.RangeableValueType#getResolution <em>Resolution</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Resolution</em>' attribute.
+ * @see #getResolution()
+ * @generated
+ */
+ void setResolution(Float value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.RangeableValueType#getSignificantDigits <em>Significant Digits</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Significant Digits</em>' attribute.
+ * @see #getSignificantDigits()
+ * @generated
+ */
+ void setSignificantDigits(int value);
+
+} // RangeableValueType
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/ValueType.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/ValueType.java
new file mode 100644
index 00000000000..ecf7afe2a95
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/ValueType.java
@@ -0,0 +1,127 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Value Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * From SysML:
+ * A ValueType defines types of values that may be used to express information about a system, but cannot be identified as the target of any reference. Since a value cannot be identified except by means of the value itself, each such value within a model is independent of any other, unless other forms of constraints are imposed. Value types may be used to type properties, operation parameters, or potentially other elements within SysML. SysML defines ValueType as a stereotype of UML DataType to establish a more neutral term for system values that may never be given a concrete data representation. For example, the SysML "Real" ValueType expresses the mathematical concept of a real number, but does not impose any restrictions on the precision or scale of a fixed or floating-point representation that expresses this concept. More specific value types can define the concrete data representations that a digital computer can process, such as conventional Float, Integer, or String types. SysML ValueType adds an ability to carry a unit of measure or dimension associated with the value. A dimension is a kind of quantity that may be stated in terms of defined units, but does not restrict the selection of a unit to state the value. A unit is a particular value in terms of which a quantity of the same dimension may be expressed. A SysML ValueType may define its own properties and/or operations, just as for a UML DataType.
+ *
+ * Semantics:
+ * The abstract ValueType defines types of values that may be used to express information about a system. The ValueType adds an ability to carry a description, a dimension associated with the value, and a unit of measure. A dimension is a kind of quantity that may be stated in terms of defined units, but does not restrict the selection of a unit to state the value. A unit is a particular value in terms of which a quantity of the same dimension may be expressed.
+ * Logical and physical datatypes cannot be distinguished on the type. The context (e.g., EnvironmentModel or FunctionalAnalysisArchitecture) decides if a speed datatype is physical or logical. On AnalysisLevel or DesignLevel, physical datatypes shall not be interpreted in the implementation sense as this would include int32, coding formula, etc.
+ *
+ * Extension: UML Datatype
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.ValueType#getSemantics <em>Semantics</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.ValueType#getDimension <em>Dimension</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.ValueType#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getValueType()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ValueType extends EADatatype {
+ /**
+ * Returns the value of the '<em><b>Semantics</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Semantics</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Semantics</em>' attribute.
+ * @see #setSemantics(String)
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getValueType_Semantics()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" ordered="false"
+ * @generated
+ */
+ String getSemantics();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.ValueType#getSemantics <em>Semantics</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Semantics</em>' attribute.
+ * @see #getSemantics()
+ * @generated
+ */
+ void setSemantics(String value);
+
+ /**
+ * Returns the value of the '<em><b>Dimension</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Dimension</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Dimension</em>' attribute.
+ * @see #setDimension(String)
+ * @see org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getValueType_Dimension()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" ordered="false"
+ * @generated
+ */
+ String getDimension();
+
+ /**
+ * 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.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#getValueType_Unit()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" ordered="false"
+ * @generated
+ */
+ String getUnit();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.ValueType#getDimension <em>Dimension</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Dimension</em>' attribute.
+ * @see #getDimension()
+ * @generated
+ */
+ void setDimension(String value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.ValueType#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);
+
+} // ValueType
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/CompositeDatatypeImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/CompositeDatatypeImpl.java
new file mode 100644
index 00000000000..be8319c3c15
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/CompositeDatatypeImpl.java
@@ -0,0 +1,143 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes.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.eastadl.infrastructure.datatypes.CompositeDatatype;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatypePrototype;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Composite Datatype</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.CompositeDatatypeImpl#getDatatypePrototype <em>Datatype Prototype</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CompositeDatatypeImpl extends EADatatypeImpl implements CompositeDatatype {
+ /**
+ * The cached value of the '{@link #getDatatypePrototype() <em>Datatype Prototype</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDatatypePrototype()
+ * @generated
+ * @ordered
+ */
+ protected EList<EADatatypePrototype> datatypePrototype;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CompositeDatatypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DatatypesPackage.COMPOSITE_DATATYPE__DATATYPE_PROTOTYPE:
+ return getDatatypePrototype();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DatatypesPackage.COMPOSITE_DATATYPE__DATATYPE_PROTOTYPE:
+ return datatypePrototype != null && !datatypePrototype.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DatatypesPackage.COMPOSITE_DATATYPE__DATATYPE_PROTOTYPE:
+ getDatatypePrototype().clear();
+ getDatatypePrototype().addAll((Collection<? extends EADatatypePrototype>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DatatypesPackage.Literals.COMPOSITE_DATATYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DatatypesPackage.COMPOSITE_DATATYPE__DATATYPE_PROTOTYPE:
+ getDatatypePrototype().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EADatatypePrototype> getDatatypePrototype() {
+ if (datatypePrototype == null) {
+ datatypePrototype = new EObjectResolvingEList<EADatatypePrototype>(EADatatypePrototype.class, this, DatatypesPackage.COMPOSITE_DATATYPE__DATATYPE_PROTOTYPE);
+ }
+ return datatypePrototype;
+ }
+
+} //CompositeDatatypeImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/DatatypesFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/DatatypesFactoryImpl.java
new file mode 100644
index 00000000000..817126201a6
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/DatatypesFactoryImpl.java
@@ -0,0 +1,265 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes.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.eclipse.papyrus.eastadl.infrastructure.datatypes.CompositeDatatype;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesFactory;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EABoolean;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatypePrototype;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAFloat;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAInteger;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAString;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.Enumeration;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationLiteral;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationValueType;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.RangeableValueType;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DatatypesFactoryImpl extends EFactoryImpl implements DatatypesFactory {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static DatatypesPackage getPackage() {
+ return DatatypesPackage.eINSTANCE;
+ }
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static DatatypesFactory init() {
+ try {
+ DatatypesFactory theDatatypesFactory = (DatatypesFactory)EPackage.Registry.INSTANCE.getEFactory(DatatypesPackage.eNS_URI);
+ if (theDatatypesFactory != null) {
+ return theDatatypesFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new DatatypesFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DatatypesFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertjavalangFloatToString(EDataType eDataType, Object instanceValue) {
+ return super.convertToString(eDataType, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case DatatypesPackage.JAVALANG_FLOAT:
+ return convertjavalangFloatToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EADatatypePrototype createEADatatypePrototype() {
+ EADatatypePrototypeImpl eaDatatypePrototype = new EADatatypePrototypeImpl();
+ return eaDatatypePrototype;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case DatatypesPackage.EA_DATATYPE_PROTOTYPE: return createEADatatypePrototype();
+ case DatatypesPackage.RANGEABLE_VALUE_TYPE: return createRangeableValueType();
+ case DatatypesPackage.ENUMERATION_VALUE_TYPE: return createEnumerationValueType();
+ case DatatypesPackage.COMPOSITE_DATATYPE: return createCompositeDatatype();
+ case DatatypesPackage.EA_STRING: return createEAString();
+ case DatatypesPackage.EA_BOOLEAN: return createEABoolean();
+ case DatatypesPackage.EA_FLOAT: return createEAFloat();
+ case DatatypesPackage.EA_INTEGER: return createEAInteger();
+ case DatatypesPackage.ENUMERATION_LITERAL: return createEnumerationLiteral();
+ case DatatypesPackage.ENUMERATION: return createEnumeration();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CompositeDatatype createCompositeDatatype() {
+ CompositeDatatypeImpl compositeDatatype = new CompositeDatatypeImpl();
+ return compositeDatatype;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAString createEAString() {
+ EAStringImpl eaString = new EAStringImpl();
+ return eaString;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EABoolean createEABoolean() {
+ EABooleanImpl eaBoolean = new EABooleanImpl();
+ return eaBoolean;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAFloat createEAFloat() {
+ EAFloatImpl eaFloat = new EAFloatImpl();
+ return eaFloat;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAInteger createEAInteger() {
+ EAIntegerImpl eaInteger = new EAIntegerImpl();
+ return eaInteger;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EnumerationLiteral createEnumerationLiteral() {
+ EnumerationLiteralImpl enumerationLiteral = new EnumerationLiteralImpl();
+ return enumerationLiteral;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Enumeration createEnumeration() {
+ EnumerationImpl enumeration = new EnumerationImpl();
+ return enumeration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EnumerationValueType createEnumerationValueType() {
+ EnumerationValueTypeImpl enumerationValueType = new EnumerationValueTypeImpl();
+ return enumerationValueType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case DatatypesPackage.JAVALANG_FLOAT:
+ return createjavalangFloatFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Float createjavalangFloatFromString(EDataType eDataType, String initialValue) {
+ return (Float)super.createFromString(eDataType, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RangeableValueType createRangeableValueType() {
+ RangeableValueTypeImpl rangeableValueType = new RangeableValueTypeImpl();
+ return rangeableValueType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DatatypesPackage getDatatypesPackage() {
+ return (DatatypesPackage)getEPackage();
+ }
+
+} //DatatypesFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/DatatypesPackageImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/DatatypesPackageImpl.java
new file mode 100644
index 00000000000..f22b57be200
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/DatatypesPackageImpl.java
@@ -0,0 +1,820 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.eastadl.EastadlPackage;
+import org.eclipse.papyrus.eastadl.annex.AnnexPackage;
+import org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.CompositeDatatype;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesFactory;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EABoolean;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatype;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatypePrototype;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAFloat;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAInteger;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAString;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.Enumeration;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationLiteral;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationValueType;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.RangeableDatatype;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.RangeableValueType;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.ValueType;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.StructurePackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DatatypesPackageImpl extends EPackageImpl implements DatatypesPackage {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass eaDatatypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass rangeableDatatypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass eaDatatypePrototypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass valueTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass rangeableValueTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass enumerationValueTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass compositeDatatypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass eaStringEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass eaBooleanEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass eaFloatEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass eaIntegerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass enumerationLiteralEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass enumerationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EDataType javalangFloatEDataType = null;
+
+ /**
+ * <!-- 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 DatatypesPackage#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 DatatypesPackage init() {
+ if (isInited) return (DatatypesPackage)EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI);
+
+ // Obtain or create and register package
+ DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof DatatypesPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new DatatypesPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ SysmlPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EastadlPackageImpl theEastadlPackage = (EastadlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) instanceof EastadlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) : EastadlPackage.eINSTANCE);
+ VariabilityPackageImpl theVariabilityPackage = (VariabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) instanceof VariabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) : VariabilityPackage.eINSTANCE);
+ InfrastructurePackageImpl theInfrastructurePackage = (InfrastructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) instanceof InfrastructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) : InfrastructurePackage.eINSTANCE);
+ UserattributesPackageImpl theUserattributesPackage = (UserattributesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) instanceof UserattributesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) : UserattributesPackage.eINSTANCE);
+ ElementsPackageImpl theElementsPackage = (ElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) instanceof ElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) : ElementsPackage.eINSTANCE);
+ StructurePackageImpl theStructurePackage = (StructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) instanceof StructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) : StructurePackage.eINSTANCE);
+ FunctionmodelingPackageImpl theFunctionmodelingPackage = (FunctionmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) instanceof FunctionmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) : FunctionmodelingPackage.eINSTANCE);
+ HardwaremodelingPackageImpl theHardwaremodelingPackage = (HardwaremodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) instanceof HardwaremodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) : HardwaremodelingPackage.eINSTANCE);
+ SystemmodelingPackageImpl theSystemmodelingPackage = (SystemmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) instanceof SystemmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) : SystemmodelingPackage.eINSTANCE);
+ VehiclefeaturemodelingPackageImpl theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) instanceof VehiclefeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) : VehiclefeaturemodelingPackage.eINSTANCE);
+ FeaturemodelingPackageImpl theFeaturemodelingPackage = (FeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) instanceof FeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) : FeaturemodelingPackage.eINSTANCE);
+ BehaviorPackageImpl theBehaviorPackage = (BehaviorPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) instanceof BehaviorPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) : BehaviorPackage.eINSTANCE);
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) : RequirementsPackage.eINSTANCE);
+ VerificationvalidationPackageImpl theVerificationvalidationPackage = (VerificationvalidationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) instanceof VerificationvalidationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) : VerificationvalidationPackage.eINSTANCE);
+ TimingPackageImpl theTimingPackage = (TimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) instanceof TimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) : TimingPackage.eINSTANCE);
+ TimingconstraintsPackageImpl theTimingconstraintsPackage = (TimingconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) instanceof TimingconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) : TimingconstraintsPackage.eINSTANCE);
+ EventsPackageImpl theEventsPackage = (EventsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+ InterchangePackageImpl theInterchangePackage = (InterchangePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) instanceof InterchangePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) : InterchangePackage.eINSTANCE);
+ EnvironmentPackageImpl theEnvironmentPackage = (EnvironmentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) instanceof EnvironmentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) : EnvironmentPackage.eINSTANCE);
+ DependabilityPackageImpl theDependabilityPackage = (DependabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) instanceof DependabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) : DependabilityPackage.eINSTANCE);
+ ErrormodelPackageImpl theErrormodelPackage = (ErrormodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) instanceof ErrormodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) : ErrormodelPackage.eINSTANCE);
+ SafetyrequirementPackageImpl theSafetyrequirementPackage = (SafetyrequirementPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) instanceof SafetyrequirementPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) : SafetyrequirementPackage.eINSTANCE);
+ SafetyconstraintsPackageImpl theSafetyconstraintsPackage = (SafetyconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) instanceof SafetyconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) : SafetyconstraintsPackage.eINSTANCE);
+ SafetycasePackageImpl theSafetycasePackage = (SafetycasePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) instanceof SafetycasePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) : SafetycasePackage.eINSTANCE);
+ AnnexPackageImpl theAnnexPackage = (AnnexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) instanceof AnnexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) : AnnexPackage.eINSTANCE);
+ NeedsPackageImpl theNeedsPackage = (NeedsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) instanceof NeedsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) : NeedsPackage.eINSTANCE);
+ GenericconstraintsPackageImpl theGenericconstraintsPackage = (GenericconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) instanceof GenericconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) : GenericconstraintsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theDatatypesPackage.createPackageContents();
+ theEastadlPackage.createPackageContents();
+ theVariabilityPackage.createPackageContents();
+ theInfrastructurePackage.createPackageContents();
+ theUserattributesPackage.createPackageContents();
+ theElementsPackage.createPackageContents();
+ theStructurePackage.createPackageContents();
+ theFunctionmodelingPackage.createPackageContents();
+ theHardwaremodelingPackage.createPackageContents();
+ theSystemmodelingPackage.createPackageContents();
+ theVehiclefeaturemodelingPackage.createPackageContents();
+ theFeaturemodelingPackage.createPackageContents();
+ theBehaviorPackage.createPackageContents();
+ theRequirementsPackage.createPackageContents();
+ theVerificationvalidationPackage.createPackageContents();
+ theTimingPackage.createPackageContents();
+ theTimingconstraintsPackage.createPackageContents();
+ theEventsPackage.createPackageContents();
+ theInterchangePackage.createPackageContents();
+ theEnvironmentPackage.createPackageContents();
+ theDependabilityPackage.createPackageContents();
+ theErrormodelPackage.createPackageContents();
+ theSafetyrequirementPackage.createPackageContents();
+ theSafetyconstraintsPackage.createPackageContents();
+ theSafetycasePackage.createPackageContents();
+ theAnnexPackage.createPackageContents();
+ theNeedsPackage.createPackageContents();
+ theGenericconstraintsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theDatatypesPackage.initializePackageContents();
+ theEastadlPackage.initializePackageContents();
+ theVariabilityPackage.initializePackageContents();
+ theInfrastructurePackage.initializePackageContents();
+ theUserattributesPackage.initializePackageContents();
+ theElementsPackage.initializePackageContents();
+ theStructurePackage.initializePackageContents();
+ theFunctionmodelingPackage.initializePackageContents();
+ theHardwaremodelingPackage.initializePackageContents();
+ theSystemmodelingPackage.initializePackageContents();
+ theVehiclefeaturemodelingPackage.initializePackageContents();
+ theFeaturemodelingPackage.initializePackageContents();
+ theBehaviorPackage.initializePackageContents();
+ theRequirementsPackage.initializePackageContents();
+ theVerificationvalidationPackage.initializePackageContents();
+ theTimingPackage.initializePackageContents();
+ theTimingconstraintsPackage.initializePackageContents();
+ theEventsPackage.initializePackageContents();
+ theInterchangePackage.initializePackageContents();
+ theEnvironmentPackage.initializePackageContents();
+ theDependabilityPackage.initializePackageContents();
+ theErrormodelPackage.initializePackageContents();
+ theSafetyrequirementPackage.initializePackageContents();
+ theSafetyconstraintsPackage.initializePackageContents();
+ theSafetycasePackage.initializePackageContents();
+ theAnnexPackage.initializePackageContents();
+ theNeedsPackage.initializePackageContents();
+ theGenericconstraintsPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theDatatypesPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(DatatypesPackage.eNS_URI, theDatatypesPackage);
+ return theDatatypesPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEADatatype() {
+ return eaDatatypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEADatatype_Base_DataType() {
+ return (EReference)eaDatatypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEADatatypePrototype() {
+ return eaDatatypePrototypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEADatatypePrototype_Type() {
+ return (EReference)eaDatatypePrototypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEADatatypePrototype_Base_Property() {
+ return (EReference)eaDatatypePrototypeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEADatatypePrototype_Base_Parameter() {
+ return (EReference)eaDatatypePrototypeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * 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.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private DatatypesPackageImpl() {
+ super(eNS_URI, DatatypesFactory.eINSTANCE);
+ }
+
+ /**
+ * 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
+ eaDatatypeEClass = createEClass(EA_DATATYPE);
+ createEReference(eaDatatypeEClass, EA_DATATYPE__BASE_DATA_TYPE);
+
+ eaDatatypePrototypeEClass = createEClass(EA_DATATYPE_PROTOTYPE);
+ createEReference(eaDatatypePrototypeEClass, EA_DATATYPE_PROTOTYPE__TYPE);
+ createEReference(eaDatatypePrototypeEClass, EA_DATATYPE_PROTOTYPE__BASE_PROPERTY);
+ createEReference(eaDatatypePrototypeEClass, EA_DATATYPE_PROTOTYPE__BASE_PARAMETER);
+
+ valueTypeEClass = createEClass(VALUE_TYPE);
+ createEAttribute(valueTypeEClass, VALUE_TYPE__SEMANTICS);
+ createEAttribute(valueTypeEClass, VALUE_TYPE__DIMENSION);
+ createEAttribute(valueTypeEClass, VALUE_TYPE__UNIT);
+
+ rangeableDatatypeEClass = createEClass(RANGEABLE_DATATYPE);
+
+ rangeableValueTypeEClass = createEClass(RANGEABLE_VALUE_TYPE);
+ createEAttribute(rangeableValueTypeEClass, RANGEABLE_VALUE_TYPE__ACCURACY);
+ createEAttribute(rangeableValueTypeEClass, RANGEABLE_VALUE_TYPE__RESOLUTION);
+ createEAttribute(rangeableValueTypeEClass, RANGEABLE_VALUE_TYPE__SIGNIFICANT_DIGITS);
+
+ enumerationValueTypeEClass = createEClass(ENUMERATION_VALUE_TYPE);
+ createEAttribute(enumerationValueTypeEClass, ENUMERATION_VALUE_TYPE__IS_MULTI_VALUED);
+ createEAttribute(enumerationValueTypeEClass, ENUMERATION_VALUE_TYPE__LITERAL_SEMANTICS);
+ createEReference(enumerationValueTypeEClass, ENUMERATION_VALUE_TYPE__BASE_ENUMERATION);
+
+ compositeDatatypeEClass = createEClass(COMPOSITE_DATATYPE);
+ createEReference(compositeDatatypeEClass, COMPOSITE_DATATYPE__DATATYPE_PROTOTYPE);
+
+ eaStringEClass = createEClass(EA_STRING);
+
+ eaBooleanEClass = createEClass(EA_BOOLEAN);
+
+ eaFloatEClass = createEClass(EA_FLOAT);
+ createEAttribute(eaFloatEClass, EA_FLOAT__MIN);
+ createEAttribute(eaFloatEClass, EA_FLOAT__MAX);
+
+ eaIntegerEClass = createEClass(EA_INTEGER);
+ createEAttribute(eaIntegerEClass, EA_INTEGER__MIN);
+ createEAttribute(eaIntegerEClass, EA_INTEGER__MAX);
+
+ enumerationLiteralEClass = createEClass(ENUMERATION_LITERAL);
+
+ enumerationEClass = createEClass(ENUMERATION);
+ createEReference(enumerationEClass, ENUMERATION__LITERAL);
+
+ // Create data types
+ javalangFloatEDataType = createEDataType(JAVALANG_FLOAT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCompositeDatatype() {
+ return compositeDatatypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCompositeDatatype_DatatypePrototype() {
+ return (EReference)compositeDatatypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEAString() {
+ return eaStringEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEABoolean() {
+ return eaBooleanEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEAFloat() {
+ return eaFloatEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getEAFloat_Min() {
+ return (EAttribute)eaFloatEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getEAFloat_Max() {
+ return (EAttribute)eaFloatEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEAInteger() {
+ return eaIntegerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getEAInteger_Min() {
+ return (EAttribute)eaIntegerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getEAInteger_Max() {
+ return (EAttribute)eaIntegerEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DatatypesFactory getDatatypesFactory() {
+ return (DatatypesFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEnumerationLiteral() {
+ return enumerationLiteralEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEnumeration() {
+ return enumerationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEnumeration_Literal() {
+ return (EReference)enumerationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEnumerationValueType() {
+ return enumerationValueTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getEnumerationValueType_IsMultiValued() {
+ return (EAttribute)enumerationValueTypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getEnumerationValueType_LiteralSemantics() {
+ return (EAttribute)enumerationValueTypeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEnumerationValueType_Base_Enumeration() {
+ return (EReference)enumerationValueTypeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EDataType getjavalangFloat() {
+ return javalangFloatEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRangeableDatatype() {
+ return rangeableDatatypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRangeableValueType() {
+ return rangeableValueTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRangeableValueType_Accuracy() {
+ return (EAttribute)rangeableValueTypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRangeableValueType_Resolution() {
+ return (EAttribute)rangeableValueTypeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRangeableValueType_SignificantDigits() {
+ return (EAttribute)rangeableValueTypeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getValueType() {
+ return valueTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getValueType_Semantics() {
+ return (EAttribute)valueTypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getValueType_Dimension() {
+ return (EAttribute)valueTypeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getValueType_Unit() {
+ return (EAttribute)valueTypeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * 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
+ ElementsPackage theElementsPackage = (ElementsPackage)EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI);
+ 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
+ eaDatatypeEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+ eaDatatypePrototypeEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ valueTypeEClass.getESuperTypes().add(this.getEADatatype());
+ rangeableDatatypeEClass.getESuperTypes().add(this.getEADatatype());
+ rangeableValueTypeEClass.getESuperTypes().add(this.getValueType());
+ enumerationValueTypeEClass.getESuperTypes().add(this.getValueType());
+ compositeDatatypeEClass.getESuperTypes().add(this.getEADatatype());
+ eaStringEClass.getESuperTypes().add(this.getEADatatype());
+ eaBooleanEClass.getESuperTypes().add(this.getEADatatype());
+ eaFloatEClass.getESuperTypes().add(this.getRangeableDatatype());
+ eaIntegerEClass.getESuperTypes().add(this.getRangeableDatatype());
+ enumerationLiteralEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ enumerationEClass.getESuperTypes().add(this.getEADatatype());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(eaDatatypeEClass, EADatatype.class, "EADatatype", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getEADatatype_Base_DataType(), theUMLPackage.getDataType(), null, "base_DataType", null, 1, 1, EADatatype.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(eaDatatypePrototypeEClass, EADatatypePrototype.class, "EADatatypePrototype", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getEADatatypePrototype_Type(), this.getEADatatype(), null, "type", null, 1, 1, EADatatypePrototype.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getEADatatypePrototype_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 0, 1, EADatatypePrototype.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getEADatatypePrototype_Base_Parameter(), theUMLPackage.getParameter(), null, "base_Parameter", null, 0, 1, EADatatypePrototype.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(valueTypeEClass, ValueType.class, "ValueType", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getValueType_Semantics(), theTypesPackage.getString(), "semantics", null, 0, 1, ValueType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getValueType_Dimension(), theTypesPackage.getString(), "dimension", null, 0, 1, ValueType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getValueType_Unit(), theTypesPackage.getString(), "unit", null, 0, 1, ValueType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(rangeableDatatypeEClass, RangeableDatatype.class, "RangeableDatatype", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(rangeableValueTypeEClass, RangeableValueType.class, "RangeableValueType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getRangeableValueType_Accuracy(), this.getjavalangFloat(), "accuracy", null, 1, 1, RangeableValueType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getRangeableValueType_Resolution(), this.getjavalangFloat(), "resolution", null, 1, 1, RangeableValueType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getRangeableValueType_SignificantDigits(), theTypesPackage.getInteger(), "significantDigits", null, 0, 1, RangeableValueType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(enumerationValueTypeEClass, EnumerationValueType.class, "EnumerationValueType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getEnumerationValueType_IsMultiValued(), theTypesPackage.getBoolean(), "isMultiValued", null, 1, 1, EnumerationValueType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getEnumerationValueType_LiteralSemantics(), theTypesPackage.getString(), "literalSemantics", null, 2, -1, EnumerationValueType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getEnumerationValueType_Base_Enumeration(), theUMLPackage.getEnumeration(), null, "base_Enumeration", null, 1, 1, EnumerationValueType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(compositeDatatypeEClass, CompositeDatatype.class, "CompositeDatatype", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getCompositeDatatype_DatatypePrototype(), this.getEADatatypePrototype(), null, "datatypePrototype", null, 1, -1, CompositeDatatype.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(eaStringEClass, EAString.class, "EAString", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(eaBooleanEClass, EABoolean.class, "EABoolean", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(eaFloatEClass, EAFloat.class, "EAFloat", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getEAFloat_Min(), this.getjavalangFloat(), "min", null, 0, 1, EAFloat.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getEAFloat_Max(), this.getjavalangFloat(), "max", null, 0, 1, EAFloat.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(eaIntegerEClass, EAInteger.class, "EAInteger", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getEAInteger_Min(), theTypesPackage.getInteger(), "min", null, 0, 1, EAInteger.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getEAInteger_Max(), theTypesPackage.getInteger(), "max", null, 0, 1, EAInteger.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(enumerationLiteralEClass, EnumerationLiteral.class, "EnumerationLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(enumerationEClass, Enumeration.class, "Enumeration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getEnumeration_Literal(), this.getEnumerationLiteral(), null, "literal", null, 2, -1, Enumeration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ // Initialize data types
+ initEDataType(javalangFloatEDataType, Float.class, "javalangFloat", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+ }
+
+} //DatatypesPackageImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EABooleanImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EABooleanImpl.java
new file mode 100644
index 00000000000..7fb417b6771
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EABooleanImpl.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EABoolean;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>EA Boolean</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class EABooleanImpl extends EADatatypeImpl implements EABoolean {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EABooleanImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DatatypesPackage.Literals.EA_BOOLEAN;
+ }
+
+} //EABooleanImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EADatatypeImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EADatatypeImpl.java
new file mode 100644
index 00000000000..2a23b6d12ec
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EADatatypeImpl.java
@@ -0,0 +1,168 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes.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.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatype;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+import org.eclipse.uml2.uml.DataType;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>EA Datatype</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EADatatypeImpl#getBase_DataType <em>Base Data Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class EADatatypeImpl extends TraceableSpecificationImpl implements EADatatype {
+ /**
+ * 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;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EADatatypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataType basicGetBase_DataType() {
+ return base_DataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DatatypesPackage.EA_DATATYPE__BASE_DATA_TYPE:
+ if (resolve) return getBase_DataType();
+ return basicGetBase_DataType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DatatypesPackage.EA_DATATYPE__BASE_DATA_TYPE:
+ return base_DataType != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DatatypesPackage.EA_DATATYPE__BASE_DATA_TYPE:
+ setBase_DataType((DataType)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DatatypesPackage.Literals.EA_DATATYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DatatypesPackage.EA_DATATYPE__BASE_DATA_TYPE:
+ setBase_DataType((DataType)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- 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, DatatypesPackage.EA_DATATYPE__BASE_DATA_TYPE, oldBase_DataType, base_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, DatatypesPackage.EA_DATATYPE__BASE_DATA_TYPE, oldBase_DataType, base_DataType));
+ }
+
+} //EADatatypeImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EADatatypePrototypeImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EADatatypePrototypeImpl.java
new file mode 100644
index 00000000000..e4f99247705
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EADatatypePrototypeImpl.java
@@ -0,0 +1,290 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes.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.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatype;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatypePrototype;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.Property;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>EA Datatype Prototype</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EADatatypePrototypeImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EADatatypePrototypeImpl#getBase_Property <em>Base Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EADatatypePrototypeImpl#getBase_Parameter <em>Base Parameter</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EADatatypePrototypeImpl extends EAElementImpl implements EADatatypePrototype {
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected EADatatype type;
+
+ /**
+ * 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;
+
+ /**
+ * The cached value of the '{@link #getBase_Parameter() <em>Base Parameter</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Parameter()
+ * @generated
+ * @ordered
+ */
+ protected Parameter base_Parameter;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EADatatypePrototypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Parameter basicGetBase_Parameter() {
+ return base_Parameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetBase_Property() {
+ return base_Property;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EADatatype basicGetType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DatatypesPackage.EA_DATATYPE_PROTOTYPE__TYPE:
+ if (resolve) return getType();
+ return basicGetType();
+ case DatatypesPackage.EA_DATATYPE_PROTOTYPE__BASE_PROPERTY:
+ if (resolve) return getBase_Property();
+ return basicGetBase_Property();
+ case DatatypesPackage.EA_DATATYPE_PROTOTYPE__BASE_PARAMETER:
+ if (resolve) return getBase_Parameter();
+ return basicGetBase_Parameter();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DatatypesPackage.EA_DATATYPE_PROTOTYPE__TYPE:
+ return type != null;
+ case DatatypesPackage.EA_DATATYPE_PROTOTYPE__BASE_PROPERTY:
+ return base_Property != null;
+ case DatatypesPackage.EA_DATATYPE_PROTOTYPE__BASE_PARAMETER:
+ return base_Parameter != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DatatypesPackage.EA_DATATYPE_PROTOTYPE__TYPE:
+ setType((EADatatype)newValue);
+ return;
+ case DatatypesPackage.EA_DATATYPE_PROTOTYPE__BASE_PROPERTY:
+ setBase_Property((Property)newValue);
+ return;
+ case DatatypesPackage.EA_DATATYPE_PROTOTYPE__BASE_PARAMETER:
+ setBase_Parameter((Parameter)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DatatypesPackage.Literals.EA_DATATYPE_PROTOTYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DatatypesPackage.EA_DATATYPE_PROTOTYPE__TYPE:
+ setType((EADatatype)null);
+ return;
+ case DatatypesPackage.EA_DATATYPE_PROTOTYPE__BASE_PROPERTY:
+ setBase_Property((Property)null);
+ return;
+ case DatatypesPackage.EA_DATATYPE_PROTOTYPE__BASE_PARAMETER:
+ setBase_Parameter((Parameter)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Parameter getBase_Parameter() {
+ if (base_Parameter != null && base_Parameter.eIsProxy()) {
+ InternalEObject oldBase_Parameter = (InternalEObject)base_Parameter;
+ base_Parameter = (Parameter)eResolveProxy(oldBase_Parameter);
+ if (base_Parameter != oldBase_Parameter) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DatatypesPackage.EA_DATATYPE_PROTOTYPE__BASE_PARAMETER, oldBase_Parameter, base_Parameter));
+ }
+ }
+ return base_Parameter;
+ }
+
+ /**
+ * <!-- 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, DatatypesPackage.EA_DATATYPE_PROTOTYPE__BASE_PROPERTY, oldBase_Property, base_Property));
+ }
+ }
+ return base_Property;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EADatatype getType() {
+ if (type != null && type.eIsProxy()) {
+ InternalEObject oldType = (InternalEObject)type;
+ type = (EADatatype)eResolveProxy(oldType);
+ if (type != oldType) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DatatypesPackage.EA_DATATYPE_PROTOTYPE__TYPE, oldType, type));
+ }
+ }
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Parameter(Parameter newBase_Parameter) {
+ Parameter oldBase_Parameter = base_Parameter;
+ base_Parameter = newBase_Parameter;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DatatypesPackage.EA_DATATYPE_PROTOTYPE__BASE_PARAMETER, oldBase_Parameter, base_Parameter));
+ }
+
+ /**
+ * <!-- 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, DatatypesPackage.EA_DATATYPE_PROTOTYPE__BASE_PROPERTY, oldBase_Property, base_Property));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(EADatatype newType) {
+ EADatatype oldType = type;
+ type = newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DatatypesPackage.EA_DATATYPE_PROTOTYPE__TYPE, oldType, type));
+ }
+
+} //EADatatypePrototypeImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EAFloatImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EAFloatImpl.java
new file mode 100644
index 00000000000..65b5c7a1adb
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EAFloatImpl.java
@@ -0,0 +1,227 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes.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.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAFloat;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>EA Float</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EAFloatImpl#getMin <em>Min</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EAFloatImpl#getMax <em>Max</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EAFloatImpl extends RangeableDatatypeImpl implements EAFloat {
+ /**
+ * The default value of the '{@link #getMin() <em>Min</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMin()
+ * @generated
+ * @ordered
+ */
+ protected static final Float MIN_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMin() <em>Min</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMin()
+ * @generated
+ * @ordered
+ */
+ protected Float min = MIN_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getMax() <em>Max</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMax()
+ * @generated
+ * @ordered
+ */
+ protected static final Float MAX_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMax() <em>Max</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMax()
+ * @generated
+ * @ordered
+ */
+ protected Float max = MAX_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EAFloatImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DatatypesPackage.EA_FLOAT__MIN:
+ return getMin();
+ case DatatypesPackage.EA_FLOAT__MAX:
+ return getMax();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DatatypesPackage.EA_FLOAT__MIN:
+ return MIN_EDEFAULT == null ? min != null : !MIN_EDEFAULT.equals(min);
+ case DatatypesPackage.EA_FLOAT__MAX:
+ return MAX_EDEFAULT == null ? max != null : !MAX_EDEFAULT.equals(max);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DatatypesPackage.EA_FLOAT__MIN:
+ setMin((Float)newValue);
+ return;
+ case DatatypesPackage.EA_FLOAT__MAX:
+ setMax((Float)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DatatypesPackage.Literals.EA_FLOAT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DatatypesPackage.EA_FLOAT__MIN:
+ setMin(MIN_EDEFAULT);
+ return;
+ case DatatypesPackage.EA_FLOAT__MAX:
+ setMax(MAX_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Float getMax() {
+ return max;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Float getMin() {
+ return min;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMax(Float newMax) {
+ Float oldMax = max;
+ max = newMax;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DatatypesPackage.EA_FLOAT__MAX, oldMax, max));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMin(Float newMin) {
+ Float oldMin = min;
+ min = newMin;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DatatypesPackage.EA_FLOAT__MIN, oldMin, min));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (min: ");
+ result.append(min);
+ result.append(", max: ");
+ result.append(max);
+ result.append(')');
+ return result.toString();
+ }
+
+} //EAFloatImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EAIntegerImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EAIntegerImpl.java
new file mode 100644
index 00000000000..466e0646748
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EAIntegerImpl.java
@@ -0,0 +1,227 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes.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.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAInteger;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>EA Integer</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EAIntegerImpl#getMin <em>Min</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EAIntegerImpl#getMax <em>Max</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EAIntegerImpl extends RangeableDatatypeImpl implements EAInteger {
+ /**
+ * The default value of the '{@link #getMin() <em>Min</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMin()
+ * @generated
+ * @ordered
+ */
+ protected static final int MIN_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getMin() <em>Min</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMin()
+ * @generated
+ * @ordered
+ */
+ protected int min = MIN_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getMax() <em>Max</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMax()
+ * @generated
+ * @ordered
+ */
+ protected static final int MAX_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getMax() <em>Max</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMax()
+ * @generated
+ * @ordered
+ */
+ protected int max = MAX_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EAIntegerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DatatypesPackage.EA_INTEGER__MIN:
+ return getMin();
+ case DatatypesPackage.EA_INTEGER__MAX:
+ return getMax();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DatatypesPackage.EA_INTEGER__MIN:
+ return min != MIN_EDEFAULT;
+ case DatatypesPackage.EA_INTEGER__MAX:
+ return max != MAX_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DatatypesPackage.EA_INTEGER__MIN:
+ setMin((Integer)newValue);
+ return;
+ case DatatypesPackage.EA_INTEGER__MAX:
+ setMax((Integer)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DatatypesPackage.Literals.EA_INTEGER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DatatypesPackage.EA_INTEGER__MIN:
+ setMin(MIN_EDEFAULT);
+ return;
+ case DatatypesPackage.EA_INTEGER__MAX:
+ setMax(MAX_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getMax() {
+ return max;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getMin() {
+ return min;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMax(int newMax) {
+ int oldMax = max;
+ max = newMax;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DatatypesPackage.EA_INTEGER__MAX, oldMax, max));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMin(int newMin) {
+ int oldMin = min;
+ min = newMin;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DatatypesPackage.EA_INTEGER__MIN, oldMin, min));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (min: ");
+ result.append(min);
+ result.append(", max: ");
+ result.append(max);
+ result.append(')');
+ return result.toString();
+ }
+
+} //EAIntegerImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EAStringImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EAStringImpl.java
new file mode 100644
index 00000000000..72375d77803
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EAStringImpl.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAString;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>EA String</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class EAStringImpl extends EADatatypeImpl implements EAString {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EAStringImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DatatypesPackage.Literals.EA_STRING;
+ }
+
+} //EAStringImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EnumerationImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EnumerationImpl.java
new file mode 100644
index 00000000000..d6e3b275524
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EnumerationImpl.java
@@ -0,0 +1,159 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl;
+
+import java.util.Collection;
+
+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.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.Enumeration;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationLiteral;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Enumeration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EnumerationImpl#getLiteral <em>Literal</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EnumerationImpl extends EADatatypeImpl implements Enumeration {
+ /**
+ * The cached value of the '{@link #getLiteral() <em>Literal</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLiteral()
+ * @generated
+ * @ordered
+ */
+ protected EList<EnumerationLiteral> literal;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EnumerationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DatatypesPackage.Literals.ENUMERATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EnumerationLiteral> getLiteral() {
+ if (literal == null) {
+ literal = new EObjectContainmentEList<EnumerationLiteral>(EnumerationLiteral.class, this, DatatypesPackage.ENUMERATION__LITERAL);
+ }
+ return literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DatatypesPackage.ENUMERATION__LITERAL:
+ return ((InternalEList<?>)getLiteral()).basicRemove(otherEnd, 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 DatatypesPackage.ENUMERATION__LITERAL:
+ return getLiteral();
+ }
+ 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 DatatypesPackage.ENUMERATION__LITERAL:
+ getLiteral().clear();
+ getLiteral().addAll((Collection<? extends EnumerationLiteral>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DatatypesPackage.ENUMERATION__LITERAL:
+ getLiteral().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DatatypesPackage.ENUMERATION__LITERAL:
+ return literal != null && !literal.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //EnumerationImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EnumerationLiteralImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EnumerationLiteralImpl.java
new file mode 100644
index 00000000000..af987c531f4
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EnumerationLiteralImpl.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationLiteral;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Enumeration Literal</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class EnumerationLiteralImpl extends EAElementImpl implements EnumerationLiteral {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EnumerationLiteralImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DatatypesPackage.Literals.ENUMERATION_LITERAL;
+ }
+
+} //EnumerationLiteralImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EnumerationValueTypeImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EnumerationValueTypeImpl.java
new file mode 100644
index 00000000000..9e873951193
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/EnumerationValueTypeImpl.java
@@ -0,0 +1,276 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes.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.EDataTypeEList;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationValueType;
+import org.eclipse.uml2.uml.Enumeration;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Enumeration Value Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EnumerationValueTypeImpl#isIsMultiValued <em>Is Multi Valued</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EnumerationValueTypeImpl#getLiteralSemantics <em>Literal Semantics</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.EnumerationValueTypeImpl#getBase_Enumeration <em>Base Enumeration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EnumerationValueTypeImpl extends ValueTypeImpl implements EnumerationValueType {
+ /**
+ * The default value of the '{@link #isIsMultiValued() <em>Is Multi Valued</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsMultiValued()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_MULTI_VALUED_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsMultiValued() <em>Is Multi Valued</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsMultiValued()
+ * @generated
+ * @ordered
+ */
+ protected boolean isMultiValued = IS_MULTI_VALUED_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getLiteralSemantics() <em>Literal Semantics</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLiteralSemantics()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> literalSemantics;
+
+ /**
+ * The cached value of the '{@link #getBase_Enumeration() <em>Base Enumeration</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Enumeration()
+ * @generated
+ * @ordered
+ */
+ protected Enumeration base_Enumeration;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EnumerationValueTypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DatatypesPackage.ENUMERATION_VALUE_TYPE__IS_MULTI_VALUED:
+ return isIsMultiValued();
+ case DatatypesPackage.ENUMERATION_VALUE_TYPE__LITERAL_SEMANTICS:
+ return getLiteralSemantics();
+ case DatatypesPackage.ENUMERATION_VALUE_TYPE__BASE_ENUMERATION:
+ if (resolve) return getBase_Enumeration();
+ return basicGetBase_Enumeration();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DatatypesPackage.ENUMERATION_VALUE_TYPE__IS_MULTI_VALUED:
+ return isMultiValued != IS_MULTI_VALUED_EDEFAULT;
+ case DatatypesPackage.ENUMERATION_VALUE_TYPE__LITERAL_SEMANTICS:
+ return literalSemantics != null && !literalSemantics.isEmpty();
+ case DatatypesPackage.ENUMERATION_VALUE_TYPE__BASE_ENUMERATION:
+ return base_Enumeration != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DatatypesPackage.ENUMERATION_VALUE_TYPE__IS_MULTI_VALUED:
+ setIsMultiValued((Boolean)newValue);
+ return;
+ case DatatypesPackage.ENUMERATION_VALUE_TYPE__LITERAL_SEMANTICS:
+ getLiteralSemantics().clear();
+ getLiteralSemantics().addAll((Collection<? extends String>)newValue);
+ return;
+ case DatatypesPackage.ENUMERATION_VALUE_TYPE__BASE_ENUMERATION:
+ setBase_Enumeration((Enumeration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DatatypesPackage.Literals.ENUMERATION_VALUE_TYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DatatypesPackage.ENUMERATION_VALUE_TYPE__IS_MULTI_VALUED:
+ setIsMultiValued(IS_MULTI_VALUED_EDEFAULT);
+ return;
+ case DatatypesPackage.ENUMERATION_VALUE_TYPE__LITERAL_SEMANTICS:
+ getLiteralSemantics().clear();
+ return;
+ case DatatypesPackage.ENUMERATION_VALUE_TYPE__BASE_ENUMERATION:
+ setBase_Enumeration((Enumeration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getLiteralSemantics() {
+ if (literalSemantics == null) {
+ literalSemantics = new EDataTypeEList<String>(String.class, this, DatatypesPackage.ENUMERATION_VALUE_TYPE__LITERAL_SEMANTICS);
+ }
+ return literalSemantics;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Enumeration getBase_Enumeration() {
+ if (base_Enumeration != null && base_Enumeration.eIsProxy()) {
+ InternalEObject oldBase_Enumeration = (InternalEObject)base_Enumeration;
+ base_Enumeration = (Enumeration)eResolveProxy(oldBase_Enumeration);
+ if (base_Enumeration != oldBase_Enumeration) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DatatypesPackage.ENUMERATION_VALUE_TYPE__BASE_ENUMERATION, oldBase_Enumeration, base_Enumeration));
+ }
+ }
+ return base_Enumeration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Enumeration basicGetBase_Enumeration() {
+ return base_Enumeration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Enumeration(Enumeration newBase_Enumeration) {
+ Enumeration oldBase_Enumeration = base_Enumeration;
+ base_Enumeration = newBase_Enumeration;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DatatypesPackage.ENUMERATION_VALUE_TYPE__BASE_ENUMERATION, oldBase_Enumeration, base_Enumeration));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsMultiValued() {
+ return isMultiValued;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsMultiValued(boolean newIsMultiValued) {
+ boolean oldIsMultiValued = isMultiValued;
+ isMultiValued = newIsMultiValued;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DatatypesPackage.ENUMERATION_VALUE_TYPE__IS_MULTI_VALUED, oldIsMultiValued, isMultiValued));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (isMultiValued: ");
+ result.append(isMultiValued);
+ result.append(", literalSemantics: ");
+ result.append(literalSemantics);
+ result.append(')');
+ return result.toString();
+ }
+
+} //EnumerationValueTypeImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/RangeableDatatypeImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/RangeableDatatypeImpl.java
new file mode 100644
index 00000000000..31b90ba94fd
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/RangeableDatatypeImpl.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.RangeableDatatype;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Rangeable Datatype</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class RangeableDatatypeImpl extends EADatatypeImpl implements RangeableDatatype {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RangeableDatatypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DatatypesPackage.Literals.RANGEABLE_DATATYPE;
+ }
+
+} //RangeableDatatypeImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/RangeableValueTypeImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/RangeableValueTypeImpl.java
new file mode 100644
index 00000000000..a1754d4f64e
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/RangeableValueTypeImpl.java
@@ -0,0 +1,281 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes.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.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.RangeableValueType;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Rangeable Value Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.RangeableValueTypeImpl#getAccuracy <em>Accuracy</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.RangeableValueTypeImpl#getResolution <em>Resolution</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.RangeableValueTypeImpl#getSignificantDigits <em>Significant Digits</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RangeableValueTypeImpl extends ValueTypeImpl implements RangeableValueType {
+ /**
+ * The default value of the '{@link #getAccuracy() <em>Accuracy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccuracy()
+ * @generated
+ * @ordered
+ */
+ protected static final Float ACCURACY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAccuracy() <em>Accuracy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccuracy()
+ * @generated
+ * @ordered
+ */
+ protected Float accuracy = ACCURACY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getResolution() <em>Resolution</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getResolution()
+ * @generated
+ * @ordered
+ */
+ protected static final Float RESOLUTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getResolution() <em>Resolution</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getResolution()
+ * @generated
+ * @ordered
+ */
+ protected Float resolution = RESOLUTION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSignificantDigits() <em>Significant Digits</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSignificantDigits()
+ * @generated
+ * @ordered
+ */
+ protected static final int SIGNIFICANT_DIGITS_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getSignificantDigits() <em>Significant Digits</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSignificantDigits()
+ * @generated
+ * @ordered
+ */
+ protected int significantDigits = SIGNIFICANT_DIGITS_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RangeableValueTypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DatatypesPackage.RANGEABLE_VALUE_TYPE__ACCURACY:
+ return getAccuracy();
+ case DatatypesPackage.RANGEABLE_VALUE_TYPE__RESOLUTION:
+ return getResolution();
+ case DatatypesPackage.RANGEABLE_VALUE_TYPE__SIGNIFICANT_DIGITS:
+ return getSignificantDigits();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DatatypesPackage.RANGEABLE_VALUE_TYPE__ACCURACY:
+ return ACCURACY_EDEFAULT == null ? accuracy != null : !ACCURACY_EDEFAULT.equals(accuracy);
+ case DatatypesPackage.RANGEABLE_VALUE_TYPE__RESOLUTION:
+ return RESOLUTION_EDEFAULT == null ? resolution != null : !RESOLUTION_EDEFAULT.equals(resolution);
+ case DatatypesPackage.RANGEABLE_VALUE_TYPE__SIGNIFICANT_DIGITS:
+ return significantDigits != SIGNIFICANT_DIGITS_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DatatypesPackage.RANGEABLE_VALUE_TYPE__ACCURACY:
+ setAccuracy((Float)newValue);
+ return;
+ case DatatypesPackage.RANGEABLE_VALUE_TYPE__RESOLUTION:
+ setResolution((Float)newValue);
+ return;
+ case DatatypesPackage.RANGEABLE_VALUE_TYPE__SIGNIFICANT_DIGITS:
+ setSignificantDigits((Integer)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DatatypesPackage.Literals.RANGEABLE_VALUE_TYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DatatypesPackage.RANGEABLE_VALUE_TYPE__ACCURACY:
+ setAccuracy(ACCURACY_EDEFAULT);
+ return;
+ case DatatypesPackage.RANGEABLE_VALUE_TYPE__RESOLUTION:
+ setResolution(RESOLUTION_EDEFAULT);
+ return;
+ case DatatypesPackage.RANGEABLE_VALUE_TYPE__SIGNIFICANT_DIGITS:
+ setSignificantDigits(SIGNIFICANT_DIGITS_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Float getAccuracy() {
+ return accuracy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Float getResolution() {
+ return resolution;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getSignificantDigits() {
+ return significantDigits;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAccuracy(Float newAccuracy) {
+ Float oldAccuracy = accuracy;
+ accuracy = newAccuracy;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DatatypesPackage.RANGEABLE_VALUE_TYPE__ACCURACY, oldAccuracy, accuracy));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setResolution(Float newResolution) {
+ Float oldResolution = resolution;
+ resolution = newResolution;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DatatypesPackage.RANGEABLE_VALUE_TYPE__RESOLUTION, oldResolution, resolution));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSignificantDigits(int newSignificantDigits) {
+ int oldSignificantDigits = significantDigits;
+ significantDigits = newSignificantDigits;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DatatypesPackage.RANGEABLE_VALUE_TYPE__SIGNIFICANT_DIGITS, oldSignificantDigits, significantDigits));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (accuracy: ");
+ result.append(accuracy);
+ result.append(", resolution: ");
+ result.append(resolution);
+ result.append(", significantDigits: ");
+ result.append(significantDigits);
+ result.append(')');
+ return result.toString();
+ }
+
+} //RangeableValueTypeImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/ValueTypeImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/ValueTypeImpl.java
new file mode 100644
index 00000000000..b5e297d01d0
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/impl/ValueTypeImpl.java
@@ -0,0 +1,281 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes.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.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.ValueType;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Value Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.ValueTypeImpl#getSemantics <em>Semantics</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.ValueTypeImpl#getDimension <em>Dimension</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.ValueTypeImpl#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class ValueTypeImpl extends EADatatypeImpl implements ValueType {
+ /**
+ * The default value of the '{@link #getSemantics() <em>Semantics</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSemantics()
+ * @generated
+ * @ordered
+ */
+ protected static final String SEMANTICS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSemantics() <em>Semantics</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSemantics()
+ * @generated
+ * @ordered
+ */
+ protected String semantics = SEMANTICS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDimension() <em>Dimension</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDimension()
+ * @generated
+ * @ordered
+ */
+ protected static final String DIMENSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDimension() <em>Dimension</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDimension()
+ * @generated
+ * @ordered
+ */
+ protected String dimension = DIMENSION_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 ValueTypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DatatypesPackage.VALUE_TYPE__SEMANTICS:
+ return getSemantics();
+ case DatatypesPackage.VALUE_TYPE__DIMENSION:
+ return getDimension();
+ case DatatypesPackage.VALUE_TYPE__UNIT:
+ return getUnit();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DatatypesPackage.VALUE_TYPE__SEMANTICS:
+ return SEMANTICS_EDEFAULT == null ? semantics != null : !SEMANTICS_EDEFAULT.equals(semantics);
+ case DatatypesPackage.VALUE_TYPE__DIMENSION:
+ return DIMENSION_EDEFAULT == null ? dimension != null : !DIMENSION_EDEFAULT.equals(dimension);
+ case DatatypesPackage.VALUE_TYPE__UNIT:
+ return UNIT_EDEFAULT == null ? unit != null : !UNIT_EDEFAULT.equals(unit);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DatatypesPackage.VALUE_TYPE__SEMANTICS:
+ setSemantics((String)newValue);
+ return;
+ case DatatypesPackage.VALUE_TYPE__DIMENSION:
+ setDimension((String)newValue);
+ return;
+ case DatatypesPackage.VALUE_TYPE__UNIT:
+ setUnit((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DatatypesPackage.Literals.VALUE_TYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getSemantics() {
+ return semantics;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSemantics(String newSemantics) {
+ String oldSemantics = semantics;
+ semantics = newSemantics;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DatatypesPackage.VALUE_TYPE__SEMANTICS, oldSemantics, semantics));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DatatypesPackage.VALUE_TYPE__SEMANTICS:
+ setSemantics(SEMANTICS_EDEFAULT);
+ return;
+ case DatatypesPackage.VALUE_TYPE__DIMENSION:
+ setDimension(DIMENSION_EDEFAULT);
+ return;
+ case DatatypesPackage.VALUE_TYPE__UNIT:
+ setUnit(UNIT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDimension() {
+ return dimension;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getUnit() {
+ return unit;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDimension(String newDimension) {
+ String oldDimension = dimension;
+ dimension = newDimension;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DatatypesPackage.VALUE_TYPE__DIMENSION, oldDimension, dimension));
+ }
+
+ /**
+ * <!-- 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, DatatypesPackage.VALUE_TYPE__UNIT, oldUnit, unit));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (semantics: ");
+ result.append(semantics);
+ result.append(", dimension: ");
+ result.append(dimension);
+ result.append(", unit: ");
+ result.append(unit);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ValueTypeImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/util/DatatypesAdapterFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/util/DatatypesAdapterFactory.java
new file mode 100644
index 00000000000..55db4badcab
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/util/DatatypesAdapterFactory.java
@@ -0,0 +1,406 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes.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.eastadl.infrastructure.datatypes.CompositeDatatype;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EABoolean;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatype;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatypePrototype;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAFloat;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAInteger;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAString;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.Enumeration;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationLiteral;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationValueType;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.RangeableDatatype;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.RangeableValueType;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.ValueType;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage
+ * @generated
+ */
+public class DatatypesAdapterFactory extends AdapterFactoryImpl {
+
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected static DatatypesPackage modelPackage;
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ protected DatatypesSwitch<Adapter> modelSwitch = new DatatypesSwitch<Adapter>() {
+ @Override
+ public Adapter caseEADatatype(EADatatype object) {
+ return createEADatatypeAdapter();
+ }
+ @Override
+ public Adapter caseEADatatypePrototype(EADatatypePrototype object) {
+ return createEADatatypePrototypeAdapter();
+ }
+ @Override
+ public Adapter caseValueType(ValueType object) {
+ return createValueTypeAdapter();
+ }
+ @Override
+ public Adapter caseRangeableDatatype(RangeableDatatype object) {
+ return createRangeableDatatypeAdapter();
+ }
+ @Override
+ public Adapter caseRangeableValueType(RangeableValueType object) {
+ return createRangeableValueTypeAdapter();
+ }
+ @Override
+ public Adapter caseEnumerationValueType(EnumerationValueType object) {
+ return createEnumerationValueTypeAdapter();
+ }
+ @Override
+ public Adapter caseCompositeDatatype(CompositeDatatype object) {
+ return createCompositeDatatypeAdapter();
+ }
+ @Override
+ public Adapter caseEAString(EAString object) {
+ return createEAStringAdapter();
+ }
+ @Override
+ public Adapter caseEABoolean(EABoolean object) {
+ return createEABooleanAdapter();
+ }
+ @Override
+ public Adapter caseEAFloat(EAFloat object) {
+ return createEAFloatAdapter();
+ }
+ @Override
+ public Adapter caseEAInteger(EAInteger object) {
+ return createEAIntegerAdapter();
+ }
+ @Override
+ public Adapter caseEnumerationLiteral(EnumerationLiteral object) {
+ return createEnumerationLiteralAdapter();
+ }
+ @Override
+ public Adapter caseEnumeration(Enumeration object) {
+ return createEnumerationAdapter();
+ }
+ @Override
+ public Adapter caseEAElement(EAElement object) {
+ return createEAElementAdapter();
+ }
+ @Override
+ public Adapter caseEAPackageableElement(EAPackageableElement object) {
+ return createEAPackageableElementAdapter();
+ }
+ @Override
+ public Adapter caseTraceableSpecification(TraceableSpecification object) {
+ return createTraceableSpecificationAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public DatatypesAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = DatatypesPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatype <em>EA Datatype</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.datatypes.EADatatype
+ * @generated
+ */
+ public Adapter createEADatatypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatypePrototype <em>EA Datatype Prototype</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.datatypes.EADatatypePrototype
+ * @generated
+ */
+ public Adapter createEADatatypePrototypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.CompositeDatatype <em>Composite Datatype</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.datatypes.CompositeDatatype
+ * @generated
+ */
+ public Adapter createCompositeDatatypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAString <em>EA String</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.datatypes.EAString
+ * @generated
+ */
+ public Adapter createEAStringAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EABoolean <em>EA Boolean</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.datatypes.EABoolean
+ * @generated
+ */
+ public Adapter createEABooleanAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAFloat <em>EA Float</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.datatypes.EAFloat
+ * @generated
+ */
+ public Adapter createEAFloatAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAInteger <em>EA Integer</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.datatypes.EAInteger
+ * @generated
+ */
+ public Adapter createEAIntegerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationLiteral <em>Enumeration Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.datatypes.EnumerationLiteral
+ * @generated
+ */
+ public Adapter createEnumerationLiteralAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.Enumeration <em>Enumeration</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.datatypes.Enumeration
+ * @generated
+ */
+ public Adapter createEnumerationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement <em>EA Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAElement
+ * @generated
+ */
+ public Adapter createEAElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement <em>EA Packageable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAPackageableElement
+ * @generated
+ */
+ public Adapter createEAPackageableElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationValueType <em>Enumeration Value 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.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationValueType
+ * @generated
+ */
+ public Adapter createEnumerationValueTypeAdapter() {
+ 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;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.RangeableDatatype <em>Rangeable Datatype</em>}'.
+ * <!-- begin-user-doc --> This default implementation returns
+ * null so that we can easily ignore cases; 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.eastadl.infrastructure.datatypes.RangeableDatatype
+ * @generated
+ */
+ public Adapter createRangeableDatatypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.RangeableValueType <em>Rangeable Value 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.eclipse.papyrus.eastadl.infrastructure.datatypes.RangeableValueType
+ * @generated
+ */
+ public Adapter createRangeableValueTypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification <em>Traceable 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.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification
+ * @generated
+ */
+ public Adapter createTraceableSpecificationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.ValueType <em>Value 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.eclipse.papyrus.eastadl.infrastructure.datatypes.ValueType
+ * @generated
+ */
+ public Adapter createValueTypeAdapter() {
+ return null;
+ }
+
+ /**
+ * 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;
+ }
+
+} // DatatypesAdapterFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/util/DatatypesResourceFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/util/DatatypesResourceFactoryImpl.java
new file mode 100644
index 00000000000..249a732c258
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/util/DatatypesResourceFactoryImpl.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes.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.eclipse.papyrus.eastadl.infrastructure.datatypes.util.DatatypesResourceImpl
+ * @generated
+ */
+public class DatatypesResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DatatypesResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new DatatypesResourceImpl(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;
+ }
+
+} //DatatypesResourceFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/util/DatatypesResourceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/util/DatatypesResourceImpl.java
new file mode 100644
index 00000000000..da124d395cf
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/util/DatatypesResourceImpl.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes.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.eclipse.papyrus.eastadl.infrastructure.datatypes.util.DatatypesResourceFactoryImpl
+ * @generated
+ */
+public class DatatypesResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public DatatypesResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //DatatypesResourceImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/util/DatatypesSwitch.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/util/DatatypesSwitch.java
new file mode 100644
index 00000000000..ad410db31e5
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/util/DatatypesSwitch.java
@@ -0,0 +1,472 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.CompositeDatatype;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EABoolean;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatype;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatypePrototype;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAFloat;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAInteger;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EAString;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.Enumeration;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationLiteral;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EnumerationValueType;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.RangeableDatatype;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.RangeableValueType;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.ValueType;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage
+ * @generated
+ */
+public class DatatypesSwitch<T> extends Switch<T> {
+
+ /**
+ * The cached model package
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected static DatatypesPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public DatatypesSwitch() {
+ if (modelPackage == null) {
+ modelPackage = DatatypesPackage.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;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Composite Datatype</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Composite Datatype</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCompositeDatatype(CompositeDatatype object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA String</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA String</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAString(EAString object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Boolean</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Boolean</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEABoolean(EABoolean object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Float</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Float</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAFloat(EAFloat object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Integer</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Integer</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAInteger(EAInteger object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Enumeration Literal</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Enumeration Literal</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEnumerationLiteral(EnumerationLiteral object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Enumeration</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Enumeration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEnumeration(Enumeration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAElement(EAElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Packageable Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Packageable Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAPackageableElement(EAPackageableElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Enumeration Value 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>Enumeration Value Type</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEnumerationValueType(EnumerationValueType object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Rangeable Datatype</em>'.
+ * <!-- begin-user-doc --> This implementation returns null; returning a non-null result will
+ * terminate the switch. <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Rangeable Datatype</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRangeableDatatype(RangeableDatatype object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Rangeable Value 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>Rangeable Value Type</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRangeableValueType(RangeableValueType object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Traceable 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>Traceable Specification</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTraceableSpecification(TraceableSpecification object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Value 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>Value Type</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseValueType(ValueType 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;
+ }
+
+ /**
+ * 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 DatatypesPackage.EA_DATATYPE: {
+ EADatatype eaDatatype = (EADatatype)theEObject;
+ T result = caseEADatatype(eaDatatype);
+ if (result == null) result = caseTraceableSpecification(eaDatatype);
+ if (result == null) result = caseEAPackageableElement(eaDatatype);
+ if (result == null) result = caseEAElement(eaDatatype);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case DatatypesPackage.EA_DATATYPE_PROTOTYPE: {
+ EADatatypePrototype eaDatatypePrototype = (EADatatypePrototype)theEObject;
+ T result = caseEADatatypePrototype(eaDatatypePrototype);
+ if (result == null) result = caseEAElement(eaDatatypePrototype);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case DatatypesPackage.VALUE_TYPE: {
+ ValueType valueType = (ValueType)theEObject;
+ T result = caseValueType(valueType);
+ if (result == null) result = caseEADatatype(valueType);
+ if (result == null) result = caseTraceableSpecification(valueType);
+ if (result == null) result = caseEAPackageableElement(valueType);
+ if (result == null) result = caseEAElement(valueType);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case DatatypesPackage.RANGEABLE_DATATYPE: {
+ RangeableDatatype rangeableDatatype = (RangeableDatatype)theEObject;
+ T result = caseRangeableDatatype(rangeableDatatype);
+ if (result == null) result = caseEADatatype(rangeableDatatype);
+ if (result == null) result = caseTraceableSpecification(rangeableDatatype);
+ if (result == null) result = caseEAPackageableElement(rangeableDatatype);
+ if (result == null) result = caseEAElement(rangeableDatatype);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case DatatypesPackage.RANGEABLE_VALUE_TYPE: {
+ RangeableValueType rangeableValueType = (RangeableValueType)theEObject;
+ T result = caseRangeableValueType(rangeableValueType);
+ if (result == null) result = caseValueType(rangeableValueType);
+ if (result == null) result = caseEADatatype(rangeableValueType);
+ if (result == null) result = caseTraceableSpecification(rangeableValueType);
+ if (result == null) result = caseEAPackageableElement(rangeableValueType);
+ if (result == null) result = caseEAElement(rangeableValueType);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case DatatypesPackage.ENUMERATION_VALUE_TYPE: {
+ EnumerationValueType enumerationValueType = (EnumerationValueType)theEObject;
+ T result = caseEnumerationValueType(enumerationValueType);
+ if (result == null) result = caseValueType(enumerationValueType);
+ if (result == null) result = caseEADatatype(enumerationValueType);
+ if (result == null) result = caseTraceableSpecification(enumerationValueType);
+ if (result == null) result = caseEAPackageableElement(enumerationValueType);
+ if (result == null) result = caseEAElement(enumerationValueType);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case DatatypesPackage.COMPOSITE_DATATYPE: {
+ CompositeDatatype compositeDatatype = (CompositeDatatype)theEObject;
+ T result = caseCompositeDatatype(compositeDatatype);
+ if (result == null) result = caseEADatatype(compositeDatatype);
+ if (result == null) result = caseTraceableSpecification(compositeDatatype);
+ if (result == null) result = caseEAPackageableElement(compositeDatatype);
+ if (result == null) result = caseEAElement(compositeDatatype);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case DatatypesPackage.EA_STRING: {
+ EAString eaString = (EAString)theEObject;
+ T result = caseEAString(eaString);
+ if (result == null) result = caseEADatatype(eaString);
+ if (result == null) result = caseTraceableSpecification(eaString);
+ if (result == null) result = caseEAPackageableElement(eaString);
+ if (result == null) result = caseEAElement(eaString);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case DatatypesPackage.EA_BOOLEAN: {
+ EABoolean eaBoolean = (EABoolean)theEObject;
+ T result = caseEABoolean(eaBoolean);
+ if (result == null) result = caseEADatatype(eaBoolean);
+ if (result == null) result = caseTraceableSpecification(eaBoolean);
+ if (result == null) result = caseEAPackageableElement(eaBoolean);
+ if (result == null) result = caseEAElement(eaBoolean);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case DatatypesPackage.EA_FLOAT: {
+ EAFloat eaFloat = (EAFloat)theEObject;
+ T result = caseEAFloat(eaFloat);
+ if (result == null) result = caseRangeableDatatype(eaFloat);
+ if (result == null) result = caseEADatatype(eaFloat);
+ if (result == null) result = caseTraceableSpecification(eaFloat);
+ if (result == null) result = caseEAPackageableElement(eaFloat);
+ if (result == null) result = caseEAElement(eaFloat);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case DatatypesPackage.EA_INTEGER: {
+ EAInteger eaInteger = (EAInteger)theEObject;
+ T result = caseEAInteger(eaInteger);
+ if (result == null) result = caseRangeableDatatype(eaInteger);
+ if (result == null) result = caseEADatatype(eaInteger);
+ if (result == null) result = caseTraceableSpecification(eaInteger);
+ if (result == null) result = caseEAPackageableElement(eaInteger);
+ if (result == null) result = caseEAElement(eaInteger);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case DatatypesPackage.ENUMERATION_LITERAL: {
+ EnumerationLiteral enumerationLiteral = (EnumerationLiteral)theEObject;
+ T result = caseEnumerationLiteral(enumerationLiteral);
+ if (result == null) result = caseEAElement(enumerationLiteral);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case DatatypesPackage.ENUMERATION: {
+ Enumeration enumeration = (Enumeration)theEObject;
+ T result = caseEnumeration(enumeration);
+ if (result == null) result = caseEADatatype(enumeration);
+ if (result == null) result = caseTraceableSpecification(enumeration);
+ if (result == null) result = caseEAPackageableElement(enumeration);
+ if (result == null) result = caseEAElement(enumeration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Datatype</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Datatype</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEADatatype(EADatatype object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Datatype Prototype</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Datatype Prototype</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEADatatypePrototype(EADatatypePrototype object) {
+ return null;
+ }
+
+} // DatatypesSwitch
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/util/DatatypesXMLProcessor.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/util/DatatypesXMLProcessor.java
new file mode 100644
index 00000000000..077c7586bcc
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/datatypes/util/DatatypesXMLProcessor.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.datatypes.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.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DatatypesXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DatatypesXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ DatatypesPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the DatatypesResourceFactoryImpl 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 DatatypesResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new DatatypesResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //DatatypesXMLProcessor
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/Comment.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/Comment.java
new file mode 100644
index 00000000000..82b12a2ccdc
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/Comment.java
@@ -0,0 +1,90 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.elements;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Comment</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Comment#getBody <em>Body</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Comment#getBase_Comment <em>Base Comment</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getComment()
+ * @model
+ * @generated
+ */
+public interface Comment extends EObject {
+ /**
+ * Returns the value of the '<em><b>Body</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Body</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Body</em>' attribute.
+ * @see #setBody(String)
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getComment_Body()
+ * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getBody();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Comment#getBody <em>Body</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Body</em>' attribute.
+ * @see #getBody()
+ * @generated
+ */
+ void setBody(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(org.eclipse.uml2.uml.Comment)
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getComment_Base_Comment()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Comment getBase_Comment();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Comment#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(org.eclipse.uml2.uml.Comment value);
+
+} // Comment
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/Context.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/Context.java
new file mode 100644
index 00000000000..5504f6db9df
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/Context.java
@@ -0,0 +1,82 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.elements;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Context</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Context represents a simple and practical way to allocate TraceableSpecifications to a specific EAST-ADL2 model context, and to let this specific model context own Relationships.
+ *
+ * Semantics:
+ * See Relationship and TraceableSpecification.
+ *
+ *
+ * Changes:
+ * New class in EAST-ADL2
+ *
+ * Extension:
+ * The Context stereotype is an abstract stereotype which extends UML2 PackageableElement
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Context#getTraceableSpecification <em>Traceable Specification</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Context#getOwnedRelationship <em>Owned Relationship</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getContext()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Context extends EAElement {
+ /**
+ * Returns the value of the '<em><b>Owned Relationship</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.infrastructure.elements.Relationship}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Relationship(s) associated to this context.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Owned Relationship</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getContext_OwnedRelationship()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Relationship> getOwnedRelationship();
+
+ /**
+ * Returns the value of the '<em><b>Traceable Specification</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Traceable specification(s) allocated to this context.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Traceable Specification</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getContext_TraceableSpecification()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TraceableSpecification> getTraceableSpecification();
+
+} // Context
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/EAElement.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/EAElement.java
new file mode 100644
index 00000000000..2f3a56fe4f1
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/EAElement.java
@@ -0,0 +1,124 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.elements;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.NamedElement;
+
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EA Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The EAElement is an abstract metaclass that represents an arbitrary named entity in the domain model. It specializes AUTOSAR Identifiable which has the shortName attribute used for identification of the element within the namespace in which it is defined.
+ *
+ * The abbreviation EA in the name of this metaclass is short for EAST-ADL.
+ *
+ *
+ * Semantics:
+ * Also the EAElement can be used to extend the EAST-ADL2 approach to other languages and standards by adding a generalize relation from the respective (non EAST-ADL2) element to the EAElement.
+ *
+ *
+ * Changes:
+ * New class in EAST-ADL2
+ *
+ * Extension:
+ * The EAElement stereotype is an abstract stereotype
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement#getOwnedComment <em>Owned Comment</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getEAElement()
+ * @model abstract="true"
+ * @generated
+ */
+public interface EAElement extends EObject {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getEAElement_Name()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" transient="true" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Returns the value of the '<em><b>Owned Comment</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.infrastructure.elements.Comment}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Owned Comment</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getEAElement_OwnedComment()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Comment> getOwnedComment();
+
+ /**
+ * Returns the value of the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Named Element</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 Named Element</em>' reference.
+ * @see #setBase_NamedElement(NamedElement)
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getEAElement_Base_NamedElement()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ NamedElement getBase_NamedElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement#getBase_NamedElement <em>Base Named Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Named Element</em>' reference.
+ * @see #getBase_NamedElement()
+ * @generated
+ */
+ void setBase_NamedElement(NamedElement value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+} // EAElement
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/EAPackage.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/EAPackage.java
new file mode 100644
index 00000000000..8b42bb41453
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/EAPackage.java
@@ -0,0 +1,97 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.elements;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EA Package</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackage#getSubPackages <em>Sub Packages</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackage#getElement <em>Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackage#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getEAPackage()
+ * @model
+ * @generated
+ */
+public interface EAPackage extends EAElement {
+ /**
+ * Returns the value of the '<em><b>Sub Packages</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackage}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Sub Packages</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>Sub Packages</em>' containment reference list.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getEAPackage_SubPackages()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<EAPackage> getSubPackages();
+
+ /**
+ * Returns the value of the '<em><b>Element</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Element</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>Element</em>' containment reference list.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getEAPackage_Element()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<EAPackageableElement> getElement();
+
+ /**
+ * 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.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getEAPackage_Base_Package()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackage#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);
+
+} // EAPackage
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/EAPackageableElement.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/EAPackageableElement.java
new file mode 100644
index 00000000000..19c0aecd8ee
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/EAPackageableElement.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.elements;
+
+import org.eclipse.uml2.uml.PackageableElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EA Packageable Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement#getBase_PackageableElement <em>Base Packageable Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getEAPackageableElement()
+ * @model abstract="true"
+ * @generated
+ */
+public interface EAPackageableElement extends EAElement {
+ /**
+ * Returns the value of the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Packageable Element</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 Packageable Element</em>' reference.
+ * @see #setBase_PackageableElement(PackageableElement)
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getEAPackageableElement_Base_PackageableElement()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ PackageableElement getBase_PackageableElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement#getBase_PackageableElement <em>Base Packageable Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Packageable Element</em>' reference.
+ * @see #getBase_PackageableElement()
+ * @generated
+ */
+ void setBase_PackageableElement(PackageableElement value);
+
+} // EAPackageableElement
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/ElementsFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/ElementsFactory.java
new file mode 100644
index 00000000000..ec3240ede47
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/ElementsFactory.java
@@ -0,0 +1,91 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.elements;
+
+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.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage
+ * @generated
+ */
+public interface ElementsFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ElementsFactory eINSTANCE = org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Multi Level Reference</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Multi Level Reference</em>'.
+ * @generated
+ */
+ MultiLevelReference createMultiLevelReference();
+
+ /**
+ * Returns a new object of class '<em>Rationale</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Rationale</em>'.
+ * @generated
+ */
+ Rationale createRationale();
+
+ /**
+ * Returns a new object of class '<em>EA Package</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>EA Package</em>'.
+ * @generated
+ */
+ EAPackage createEAPackage();
+
+ /**
+ * Returns a new object of class '<em>Comment</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Comment</em>'.
+ * @generated
+ */
+ Comment createComment();
+
+ /**
+ * Returns a new object of class '<em>Realization</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Realization</em>'.
+ * @generated
+ */
+ Realization createRealization();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ ElementsPackage getElementsPackage();
+
+} //ElementsFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/ElementsPackage.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/ElementsPackage.java
new file mode 100644
index 00000000000..fc1193515b2
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/ElementsPackage.java
@@ -0,0 +1,1261 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.elements;
+
+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.sysml.modelelements.ModelelementsPackage;
+
+
+/**
+ * <!-- 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 -->
+ * <!-- begin-model-doc -->
+ * This section contains the UML-profile specification, specifying stereotypes in the UML-profile, defined from the metaclasses in the Infrastructure::Elements subprofile. It includes specification details for each stereotype. If the stereotype has properties, which may be referred to as tag definitions, or if the stereotype has constraints, this section also includes specification details for these properties and constraints.
+ *
+ * Overview:
+ * The Infrastructure::Elements subprofile of EAST-ADL2 defines general-purpose relationship constructs that may be used to model dependencies between structural constructs.
+ * The purpose of the stereotypes in this subprofile is to specify rigorously ("formally") the various relationships that may exist between basic constructs.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface ElementsPackage extends EPackage {
+ /**
+ * <!-- 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.eclipse.papyrus.eastadl.infrastructure.elements.impl.RelationshipImpl <em>Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.RelationshipImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl#getRelationship()
+ * @generated
+ */
+ EClass RELATIONSHIP = eINSTANCE.getRelationship();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl <em>Traceable Specification</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl#getTraceableSpecification()
+ * @generated
+ */
+ EClass TRACEABLE_SPECIFICATION = eINSTANCE.getTraceableSpecification();
+
+ /**
+ * The meta object literal for the '<em><b>Note</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TRACEABLE_SPECIFICATION__NOTE = eINSTANCE.getTraceableSpecification_Note();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAPackageableElementImpl <em>EA Packageable Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAPackageableElementImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl#getEAPackageableElement()
+ * @generated
+ */
+ EClass EA_PACKAGEABLE_ELEMENT = eINSTANCE.getEAPackageableElement();
+
+ /**
+ * The meta object literal for the '<em><b>Base Packageable Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EA_PACKAGEABLE_ELEMENT__BASE_PACKAGEABLE_ELEMENT = eINSTANCE.getEAPackageableElement_Base_PackageableElement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ContextImpl <em>Context</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ContextImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl#getContext()
+ * @generated
+ */
+ EClass CONTEXT = eINSTANCE.getContext();
+
+ /**
+ * The meta object literal for the '<em><b>Traceable Specification</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONTEXT__TRACEABLE_SPECIFICATION = eINSTANCE.getContext_TraceableSpecification();
+
+ /**
+ * The meta object literal for the '<em><b>Owned Relationship</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONTEXT__OWNED_RELATIONSHIP = eINSTANCE.getContext_OwnedRelationship();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.RealizationImpl <em>Realization</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.RealizationImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl#getRealization()
+ * @generated
+ */
+ EClass REALIZATION = eINSTANCE.getRealization();
+
+ /**
+ * The meta object literal for the '<em><b>Realized</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REALIZATION__REALIZED = eINSTANCE.getRealization_Realized();
+
+ /**
+ * The meta object literal for the '<em><b>Realized By</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REALIZATION__REALIZED_BY = eINSTANCE.getRealization_RealizedBy();
+
+ /**
+ * The meta object literal for the '<em><b>Base Realization</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REALIZATION__BASE_REALIZATION = eINSTANCE.getRealization_Base_Realization();
+
+ /**
+ * The meta object literal for the '<em><b>Realized By path</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REALIZATION__REALIZED_BY_PATH = eINSTANCE.getRealization_RealizedBy_path();
+
+ /**
+ * The meta object literal for the '<em><b>Realized path</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REALIZATION__REALIZED_PATH = eINSTANCE.getRealization_Realized_path();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.MultiLevelReferenceImpl <em>Multi Level Reference</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.MultiLevelReferenceImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl#getMultiLevelReference()
+ * @generated
+ */
+ EClass MULTI_LEVEL_REFERENCE = eINSTANCE.getMultiLevelReference();
+
+ /**
+ * The meta object literal for the '<em><b>Base Dependency</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MULTI_LEVEL_REFERENCE__BASE_DEPENDENCY = eINSTANCE.getMultiLevelReference_Base_Dependency();
+
+ /**
+ * The meta object literal for the '<em><b>Referring</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MULTI_LEVEL_REFERENCE__REFERRING = eINSTANCE.getMultiLevelReference_Referring();
+
+ /**
+ * The meta object literal for the '<em><b>Reference</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MULTI_LEVEL_REFERENCE__REFERENCE = eINSTANCE.getMultiLevelReference_Reference();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.RationaleImpl <em>Rationale</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.RationaleImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl#getRationale()
+ * @generated
+ */
+ EClass RATIONALE = eINSTANCE.getRationale();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAPackageImpl <em>EA Package</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAPackageImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl#getEAPackage()
+ * @generated
+ */
+ EClass EA_PACKAGE = eINSTANCE.getEAPackage();
+
+ /**
+ * The meta object literal for the '<em><b>Sub Packages</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EA_PACKAGE__SUB_PACKAGES = eINSTANCE.getEAPackage_SubPackages();
+
+ /**
+ * The meta object literal for the '<em><b>Element</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EA_PACKAGE__ELEMENT = eINSTANCE.getEAPackage_Element();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EA_PACKAGE__BASE_PACKAGE = eINSTANCE.getEAPackage_Base_Package();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.CommentImpl <em>Comment</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.CommentImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl#getComment()
+ * @generated
+ */
+ EClass COMMENT = eINSTANCE.getComment();
+
+ /**
+ * The meta object literal for the '<em><b>Body</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute COMMENT__BODY = eINSTANCE.getComment_Body();
+
+ /**
+ * The meta object literal for the '<em><b>Base Comment</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference COMMENT__BASE_COMMENT = eINSTANCE.getComment_Base_Comment();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl <em>EA Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl#getEAElement()
+ * @generated
+ */
+ EClass EA_ELEMENT = eINSTANCE.getEAElement();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EA_ELEMENT__NAME = eINSTANCE.getEAElement_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Owned Comment</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EA_ELEMENT__OWNED_COMMENT = eINSTANCE.getEAElement_OwnedComment();
+
+ /**
+ * The meta object literal for the '<em><b>Base Named Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EA_ELEMENT__BASE_NAMED_ELEMENT = eINSTANCE.getEAElement_Base_NamedElement();
+
+ }
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "elements";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.papyrusuml.org/EAST-ADL2/Infrastructure/Elements/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "Elements";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ElementsPackage eINSTANCE = org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl <em>EA Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl#getEAElement()
+ * @generated
+ */
+ int EA_ELEMENT = 9;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_ELEMENT__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_ELEMENT__BASE_NAMED_ELEMENT = 1;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_ELEMENT__OWNED_COMMENT = 2;
+
+ /**
+ * The number of structural features of the '<em>EA Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_ELEMENT_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAPackageableElementImpl <em>EA Packageable Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAPackageableElementImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl#getEAPackageableElement()
+ * @generated
+ */
+ int EA_PACKAGEABLE_ELEMENT = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_PACKAGEABLE_ELEMENT__NAME = EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_PACKAGEABLE_ELEMENT__BASE_NAMED_ELEMENT = EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_PACKAGEABLE_ELEMENT__OWNED_COMMENT = EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_PACKAGEABLE_ELEMENT__BASE_PACKAGEABLE_ELEMENT = EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>EA Packageable Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_PACKAGEABLE_ELEMENT_FEATURE_COUNT = EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.RelationshipImpl <em>Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.RelationshipImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl#getRelationship()
+ * @generated
+ */
+ int RELATIONSHIP = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl <em>Traceable Specification</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl#getTraceableSpecification()
+ * @generated
+ */
+ int TRACEABLE_SPECIFICATION = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRACEABLE_SPECIFICATION__NAME = EA_PACKAGEABLE_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT = EA_PACKAGEABLE_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRACEABLE_SPECIFICATION__OWNED_COMMENT = EA_PACKAGEABLE_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT = EA_PACKAGEABLE_ELEMENT__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRACEABLE_SPECIFICATION__NOTE = EA_PACKAGEABLE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Traceable Specification</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRACEABLE_SPECIFICATION_FEATURE_COUNT = EA_PACKAGEABLE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATIONSHIP__NAME = EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATIONSHIP__BASE_NAMED_ELEMENT = EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATIONSHIP__OWNED_COMMENT = EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The number of structural features of the '<em>Relationship</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELATIONSHIP_FEATURE_COUNT = EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ContextImpl <em>Context</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ContextImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl#getContext()
+ * @generated
+ */
+ int CONTEXT = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.RealizationImpl <em>Realization</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.RealizationImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl#getRealization()
+ * @generated
+ */
+ int REALIZATION = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REALIZATION__NAME = RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REALIZATION__BASE_NAMED_ELEMENT = RELATIONSHIP__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REALIZATION__OWNED_COMMENT = RELATIONSHIP__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Realized</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REALIZATION__REALIZED = RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Realized By</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REALIZATION__REALIZED_BY = RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Realization</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REALIZATION__BASE_REALIZATION = RELATIONSHIP_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Realized By path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REALIZATION__REALIZED_BY_PATH = RELATIONSHIP_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Realized path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REALIZATION__REALIZED_PATH = RELATIONSHIP_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Realization</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REALIZATION_FEATURE_COUNT = RELATIONSHIP_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTEXT__NAME = EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTEXT__BASE_NAMED_ELEMENT = EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTEXT__OWNED_COMMENT = EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTEXT__TRACEABLE_SPECIFICATION = EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTEXT__OWNED_RELATIONSHIP = EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Context</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTEXT_FEATURE_COUNT = EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.MultiLevelReferenceImpl <em>Multi Level Reference</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.MultiLevelReferenceImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl#getMultiLevelReference()
+ * @generated
+ */
+ int MULTI_LEVEL_REFERENCE = 5;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_LEVEL_REFERENCE__NAME = RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_LEVEL_REFERENCE__BASE_NAMED_ELEMENT = RELATIONSHIP__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_LEVEL_REFERENCE__OWNED_COMMENT = RELATIONSHIP__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Dependency</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_LEVEL_REFERENCE__BASE_DEPENDENCY = RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Referring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_LEVEL_REFERENCE__REFERRING = RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Reference</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_LEVEL_REFERENCE__REFERENCE = RELATIONSHIP_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Multi Level Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_LEVEL_REFERENCE_FEATURE_COUNT = RELATIONSHIP_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.RationaleImpl <em>Rationale</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.RationaleImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl#getRationale()
+ * @generated
+ */
+ int RATIONALE = 6;
+
+ /**
+ * The feature id for the '<em><b>Base Comment</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIONALE__BASE_COMMENT = ModelelementsPackage.RATIONALE__BASE_COMMENT;
+
+ /**
+ * The number of structural features of the '<em>Rationale</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIONALE_FEATURE_COUNT = ModelelementsPackage.RATIONALE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAPackageImpl <em>EA Package</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAPackageImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl#getEAPackage()
+ * @generated
+ */
+ int EA_PACKAGE = 7;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_PACKAGE__NAME = EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_PACKAGE__BASE_NAMED_ELEMENT = EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_PACKAGE__OWNED_COMMENT = EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Sub Packages</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_PACKAGE__SUB_PACKAGES = EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_PACKAGE__ELEMENT = EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_PACKAGE__BASE_PACKAGE = EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>EA Package</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EA_PACKAGE_FEATURE_COUNT = EA_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.CommentImpl <em>Comment</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.CommentImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl#getComment()
+ * @generated
+ */
+ int COMMENT = 8;
+
+ /**
+ * The feature id for the '<em><b>Body</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMMENT__BODY = 0;
+
+ /**
+ * The feature id for the '<em><b>Base Comment</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMMENT__BASE_COMMENT = 1;
+
+ /**
+ * The number of structural features of the '<em>Comment</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMMENT_FEATURE_COUNT = 2;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Context <em>Context</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Context</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.Context
+ * @generated
+ */
+ EClass getContext();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Context#getOwnedRelationship <em>Owned Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Owned Relationship</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.Context#getOwnedRelationship()
+ * @see #getContext()
+ * @generated
+ */
+ EReference getContext_OwnedRelationship();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Context#getTraceableSpecification <em>Traceable Specification</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Traceable Specification</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.Context#getTraceableSpecification()
+ * @see #getContext()
+ * @generated
+ */
+ EReference getContext_TraceableSpecification();
+
+ /**
+ * 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
+ */
+ ElementsFactory getElementsFactory();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.MultiLevelReference <em>Multi Level Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Multi Level Reference</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.MultiLevelReference
+ * @generated
+ */
+ EClass getMultiLevelReference();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.MultiLevelReference#getBase_Dependency <em>Base Dependency</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Dependency</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.MultiLevelReference#getBase_Dependency()
+ * @see #getMultiLevelReference()
+ * @generated
+ */
+ EReference getMultiLevelReference_Base_Dependency();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.MultiLevelReference#getReference <em>Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Reference</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.MultiLevelReference#getReference()
+ * @see #getMultiLevelReference()
+ * @generated
+ */
+ EReference getMultiLevelReference_Reference();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Rationale <em>Rationale</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Rationale</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.Rationale
+ * @generated
+ */
+ EClass getRationale();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackage <em>EA Package</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>EA Package</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackage
+ * @generated
+ */
+ EClass getEAPackage();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackage#getSubPackages <em>Sub Packages</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Sub Packages</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackage#getSubPackages()
+ * @see #getEAPackage()
+ * @generated
+ */
+ EReference getEAPackage_SubPackages();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackage#getElement <em>Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Element</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackage#getElement()
+ * @see #getEAPackage()
+ * @generated
+ */
+ EReference getEAPackage_Element();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackage#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.eclipse.papyrus.eastadl.infrastructure.elements.EAPackage#getBase_Package()
+ * @see #getEAPackage()
+ * @generated
+ */
+ EReference getEAPackage_Base_Package();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Comment <em>Comment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Comment</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.Comment
+ * @generated
+ */
+ EClass getComment();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Comment#getBody <em>Body</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Body</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.Comment#getBody()
+ * @see #getComment()
+ * @generated
+ */
+ EAttribute getComment_Body();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Comment#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.eclipse.papyrus.eastadl.infrastructure.elements.Comment#getBase_Comment()
+ * @see #getComment()
+ * @generated
+ */
+ EReference getComment_Base_Comment();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement <em>EA Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>EA Element</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement
+ * @generated
+ */
+ EClass getEAElement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement#getName()
+ * @see #getEAElement()
+ * @generated
+ */
+ EAttribute getEAElement_Name();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement#getBase_NamedElement <em>Base Named Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Named Element</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement#getBase_NamedElement()
+ * @see #getEAElement()
+ * @generated
+ */
+ EReference getEAElement_Base_NamedElement();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement#getOwnedComment <em>Owned Comment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Owned Comment</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement#getOwnedComment()
+ * @see #getEAElement()
+ * @generated
+ */
+ EReference getEAElement_OwnedComment();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.MultiLevelReference#getReferring <em>Referring</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Referring</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.MultiLevelReference#getReferring()
+ * @see #getMultiLevelReference()
+ * @generated
+ */
+ EReference getMultiLevelReference_Referring();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Realization <em>Realization</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Realization</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.Realization
+ * @generated
+ */
+ EClass getRealization();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Realization#getRealized <em>Realized</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Realized</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.Realization#getRealized()
+ * @see #getRealization()
+ * @generated
+ */
+ EReference getRealization_Realized();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Realization#getRealizedBy <em>Realized By</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Realized By</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.Realization#getRealizedBy()
+ * @see #getRealization()
+ * @generated
+ */
+ EReference getRealization_RealizedBy();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Realization#getBase_Realization <em>Base Realization</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Realization</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.Realization#getBase_Realization()
+ * @see #getRealization()
+ * @generated
+ */
+ EReference getRealization_Base_Realization();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Realization#getRealizedBy_path <em>Realized By path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Realized By path</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.Realization#getRealizedBy_path()
+ * @see #getRealization()
+ * @generated
+ */
+ EReference getRealization_RealizedBy_path();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Realization#getRealized_path <em>Realized path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Realized path</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.Realization#getRealized_path()
+ * @see #getRealization()
+ * @generated
+ */
+ EReference getRealization_Realized_path();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Relationship <em>Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Relationship</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.Relationship
+ * @generated
+ */
+ EClass getRelationship();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification <em>Traceable Specification</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Traceable Specification</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification
+ * @generated
+ */
+ EClass getTraceableSpecification();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification#getNote <em>Note</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Note</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification#getNote()
+ * @see #getTraceableSpecification()
+ * @generated
+ */
+ EAttribute getTraceableSpecification_Note();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement <em>EA Packageable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>EA Packageable Element</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement
+ * @generated
+ */
+ EClass getEAPackageableElement();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement#getBase_PackageableElement <em>Base Packageable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Packageable Element</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement#getBase_PackageableElement()
+ * @see #getEAPackageableElement()
+ * @generated
+ */
+ EReference getEAPackageableElement_Base_PackageableElement();
+
+} //ElementsPackage
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/MultiLevelReference.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/MultiLevelReference.java
new file mode 100644
index 00000000000..7336bb717e1
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/MultiLevelReference.java
@@ -0,0 +1,97 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.elements;
+
+import org.eclipse.uml2.uml.Dependency;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Multi Level Reference</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * MultiLevelReference gives the possibility to establish reference links (Multi-Level Concept) between model elements.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.MultiLevelReference#getBase_Dependency <em>Base Dependency</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.MultiLevelReference#getReferring <em>Referring</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.MultiLevelReference#getReference <em>Reference</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getMultiLevelReference()
+ * @model
+ * @generated
+ */
+public interface MultiLevelReference extends Relationship {
+ /**
+ * Returns the value of the '<em><b>Base Dependency</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Dependency</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 Dependency</em>' reference.
+ * @see #setBase_Dependency(Dependency)
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getMultiLevelReference_Base_Dependency()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Dependency getBase_Dependency();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.MultiLevelReference#getBase_Dependency <em>Base Dependency</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Dependency</em>' reference.
+ * @see #getBase_Dependency()
+ * @generated
+ */
+ void setBase_Dependency(Dependency value);
+
+ /**
+ * Returns the value of the '<em><b>Reference</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Referencing the source element of a Multi-Level reference link.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Reference</em>' reference.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getMultiLevelReference_Reference()
+ * @model required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EAElement getReference();
+
+ /**
+ * Returns the value of the '<em><b>Referring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Referencing the target element of a Multi-Level reference link.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Referring</em>' reference.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getMultiLevelReference_Referring()
+ * @model required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EAElement getReferring();
+
+} // MultiLevelReference
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/Rationale.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/Rationale.java
new file mode 100644
index 00000000000..907c3ee980f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/Rationale.java
@@ -0,0 +1,30 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.elements;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Rationale</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getRationale()
+ * @model
+ * @generated
+ */
+public interface Rationale extends org.eclipse.papyrus.sysml.modelelements.Rationale {
+} // Rationale
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/Realization.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/Realization.java
new file mode 100644
index 00000000000..9cf9fe06764
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/Realization.java
@@ -0,0 +1,150 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.elements;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Realization</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The Realization is a relationship which relates two or more elements across boundaries of the EAST-ADL2 abstraction levels.
+ *
+ * It identifies an element that serves as a specification within this realization relationship and on the other side it identifies an element that is supposed to realize this specification on a lower abstraction level or an implementation.
+ *
+ *
+ * Semantics:
+ * The modification of the supplier realized element impact the realizing client entity. The Realization metaclass implies the semantics that the realizing client is not complete, without the supplier.
+ *
+ * Notation:
+ * A Realization relationship is shown as a dashed line with a triangular arrowhead at the end that corresponds to the realized entity. The entity at the tail of the arrow (the realizing EAElement or the realizing ARElement) depends on the entity at the arrowhead (the realized EAElement).
+ *
+ * Changes:
+ * Renamed from Realization.
+ *
+ * Extension: Realization
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Realization#getRealized <em>Realized</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Realization#getRealizedBy <em>Realized By</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Realization#getBase_Realization <em>Base Realization</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Realization#getRealizedBy_path <em>Realized By path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Realization#getRealized_path <em>Realized path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getRealization()
+ * @model
+ * @generated
+ */
+public interface Realization extends Relationship {
+ /**
+ * Returns the value of the '<em><b>Realized</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The set of ADL entities, which are realized by the set of client ADL entities or realized by the set of client AUTOSAR elements.
+ * {derived from UML::DirectedRelationship::target}
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Realized</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getRealization_Realized()
+ * @model required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<EAElement> getRealized();
+
+ /**
+ * Returns the value of the '<em><b>Realized By</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.NamedElement}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The set of client ADL entities, realizing the set of supplier ADL entities.
+ * {derived from UML::Dependency::client}
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Realized By</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getRealization_RealizedBy()
+ * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<NamedElement> getRealizedBy();
+
+ /**
+ * Returns the value of the '<em><b>Base Realization</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Realization</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 Realization</em>' reference.
+ * @see #setBase_Realization(org.eclipse.uml2.uml.Realization)
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getRealization_Base_Realization()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Realization getBase_Realization();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Realization#getBase_Realization <em>Base Realization</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Realization</em>' reference.
+ * @see #getBase_Realization()
+ * @generated
+ */
+ void setBase_Realization(org.eclipse.uml2.uml.Realization value);
+
+ /**
+ * Returns the value of the '<em><b>Realized By path</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.NamedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Realized By path</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>Realized By path</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getRealization_RealizedBy_path()
+ * @model
+ * @generated
+ */
+ EList<NamedElement> getRealizedBy_path();
+
+ /**
+ * Returns the value of the '<em><b>Realized path</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.NamedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Realized path</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>Realized path</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getRealization_Realized_path()
+ * @model
+ * @generated
+ */
+ EList<NamedElement> getRealized_path();
+
+} // Realization
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/Relationship.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/Relationship.java
new file mode 100644
index 00000000000..dbb7618c09f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/Relationship.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.elements;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The Relationship is an abstract metaclass which represents a relationship between arbitrary elements.
+ *
+ * Semantics:
+ * In many cases, Contexts such as functions and sensors need to have requirements and other specification elements allocated them. In other cases, the relation between an element and the related specification element is specific for a certain Context: for example a Requirement on a sensor is only applicable in certain hardware architecture. These relationships are modeled by concrete specializations of Relationship.
+ *
+ * See Context and TraceableSpecification.
+ *
+ *
+ * Changes:
+ * New class in EAST-ADL2
+ *
+ * Extension:
+ * The Relationship stereotype is abstract
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getRelationship()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Relationship extends EAElement {
+} // Relationship
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/TraceableSpecification.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/TraceableSpecification.java
new file mode 100644
index 00000000000..6393c9e7cfa
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/TraceableSpecification.java
@@ -0,0 +1,78 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.elements;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Traceable Specification</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The TraceableSpecification is an abstract metaclass which is used to allow its specializations to be allocated to a Context.
+ *
+ * Semantics:
+ * TraceableSpecification is specialized by requirements, test cases and other specifications, that there by can be allocated to a Context, for example to a sensor or to an entire HW architecture.
+ *
+ * See Context and Relationship.
+ *
+ *
+ * Changes:
+ * New class in EAST-ADL2
+ *
+ * Extension:
+ * TraceableSpecification is a specification stereotype which extends UML2 PackageableElement
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification#getNote <em>Note</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getTraceableSpecification()
+ * @model abstract="true"
+ * @generated
+ */
+public interface TraceableSpecification extends EAPackageableElement {
+ /**
+ * Returns the value of the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Note</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Note</em>' attribute.
+ * @see #setNote(String)
+ * @see org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#getTraceableSpecification_Note()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" ordered="false"
+ * @generated
+ */
+ String getNote();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification#getNote <em>Note</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Note</em>' attribute.
+ * @see #getNote()
+ * @generated
+ */
+ void setNote(String value);
+
+} // TraceableSpecification
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/CommentImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/CommentImpl.java
new file mode 100644
index 00000000000..42d7d6715d8
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/CommentImpl.java
@@ -0,0 +1,234 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.elements.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.papyrus.eastadl.infrastructure.elements.Comment;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Comment</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.CommentImpl#getBody <em>Body</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.CommentImpl#getBase_Comment <em>Base Comment</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CommentImpl extends EObjectImpl implements Comment {
+ /**
+ * The default value of the '{@link #getBody() <em>Body</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBody()
+ * @generated
+ * @ordered
+ */
+ protected static final String BODY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getBody() <em>Body</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBody()
+ * @generated
+ * @ordered
+ */
+ protected String body = BODY_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 org.eclipse.uml2.uml.Comment base_Comment;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CommentImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ElementsPackage.Literals.COMMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getBody() {
+ return body;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBody(String newBody) {
+ String oldBody = body;
+ body = newBody;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ElementsPackage.COMMENT__BODY, oldBody, body));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Comment getBase_Comment() {
+ if (base_Comment != null && base_Comment.eIsProxy()) {
+ InternalEObject oldBase_Comment = (InternalEObject)base_Comment;
+ base_Comment = (org.eclipse.uml2.uml.Comment)eResolveProxy(oldBase_Comment);
+ if (base_Comment != oldBase_Comment) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ElementsPackage.COMMENT__BASE_COMMENT, oldBase_Comment, base_Comment));
+ }
+ }
+ return base_Comment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Comment basicGetBase_Comment() {
+ return base_Comment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Comment(org.eclipse.uml2.uml.Comment newBase_Comment) {
+ org.eclipse.uml2.uml.Comment oldBase_Comment = base_Comment;
+ base_Comment = newBase_Comment;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ElementsPackage.COMMENT__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 ElementsPackage.COMMENT__BODY:
+ return getBody();
+ case ElementsPackage.COMMENT__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 ElementsPackage.COMMENT__BODY:
+ setBody((String)newValue);
+ return;
+ case ElementsPackage.COMMENT__BASE_COMMENT:
+ setBase_Comment((org.eclipse.uml2.uml.Comment)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ElementsPackage.COMMENT__BODY:
+ setBody(BODY_EDEFAULT);
+ return;
+ case ElementsPackage.COMMENT__BASE_COMMENT:
+ setBase_Comment((org.eclipse.uml2.uml.Comment)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ElementsPackage.COMMENT__BODY:
+ return BODY_EDEFAULT == null ? body != null : !BODY_EDEFAULT.equals(body);
+ case ElementsPackage.COMMENT__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(" (body: ");
+ result.append(body);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CommentImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/ContextImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/ContextImpl.java
new file mode 100644
index 00000000000..bf2aefac6b8
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/ContextImpl.java
@@ -0,0 +1,178 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.elements.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.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Relationship;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Context</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ContextImpl#getTraceableSpecification <em>Traceable Specification</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ContextImpl#getOwnedRelationship <em>Owned Relationship</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class ContextImpl extends EAElementImpl implements Context {
+ /**
+ * The cached value of the '{@link #getTraceableSpecification() <em>Traceable Specification</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTraceableSpecification()
+ * @generated
+ * @ordered
+ */
+ protected EList<TraceableSpecification> traceableSpecification;
+
+ /**
+ * The cached value of the '{@link #getOwnedRelationship() <em>Owned Relationship</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedRelationship()
+ * @generated
+ * @ordered
+ */
+ protected EList<Relationship> ownedRelationship;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ContextImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ElementsPackage.CONTEXT__TRACEABLE_SPECIFICATION:
+ return getTraceableSpecification();
+ case ElementsPackage.CONTEXT__OWNED_RELATIONSHIP:
+ return getOwnedRelationship();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ElementsPackage.CONTEXT__TRACEABLE_SPECIFICATION:
+ return traceableSpecification != null && !traceableSpecification.isEmpty();
+ case ElementsPackage.CONTEXT__OWNED_RELATIONSHIP:
+ return ownedRelationship != null && !ownedRelationship.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ElementsPackage.CONTEXT__TRACEABLE_SPECIFICATION:
+ getTraceableSpecification().clear();
+ getTraceableSpecification().addAll((Collection<? extends TraceableSpecification>)newValue);
+ return;
+ case ElementsPackage.CONTEXT__OWNED_RELATIONSHIP:
+ getOwnedRelationship().clear();
+ getOwnedRelationship().addAll((Collection<? extends Relationship>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ElementsPackage.Literals.CONTEXT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ElementsPackage.CONTEXT__TRACEABLE_SPECIFICATION:
+ getTraceableSpecification().clear();
+ return;
+ case ElementsPackage.CONTEXT__OWNED_RELATIONSHIP:
+ getOwnedRelationship().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Relationship> getOwnedRelationship() {
+ if (ownedRelationship == null) {
+ ownedRelationship = new EObjectResolvingEList<Relationship>(Relationship.class, this, ElementsPackage.CONTEXT__OWNED_RELATIONSHIP);
+ }
+ return ownedRelationship;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TraceableSpecification> getTraceableSpecification() {
+ if (traceableSpecification == null) {
+ traceableSpecification = new EObjectResolvingEList<TraceableSpecification>(TraceableSpecification.class, this, ElementsPackage.CONTEXT__TRACEABLE_SPECIFICATION);
+ }
+ return traceableSpecification;
+ }
+
+} //ContextImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/EAElementImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/EAElementImpl.java
new file mode 100644
index 00000000000..0a32ca8783e
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/EAElementImpl.java
@@ -0,0 +1,252 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.elements.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.papyrus.eastadl.infrastructure.elements.Comment;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.uml2.uml.NamedElement;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>EA Element</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl#getOwnedComment <em>Owned Comment</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class EAElementImpl extends EObjectImpl implements EAElement {
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getBase_NamedElement() <em>Base Named Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_NamedElement()
+ * @generated
+ * @ordered
+ */
+ protected NamedElement base_NamedElement;
+
+ /**
+ * The cached value of the '{@link #getOwnedComment() <em>Owned Comment</em>}' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getOwnedComment()
+ * @generated
+ * @ordered
+ */
+ protected EList<Comment> ownedComment;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected EAElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ElementsPackage.EA_ELEMENT__NAME:
+ return getName();
+ case ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT:
+ if (resolve) return getBase_NamedElement();
+ return basicGetBase_NamedElement();
+ case ElementsPackage.EA_ELEMENT__OWNED_COMMENT:
+ return getOwnedComment();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ElementsPackage.EA_ELEMENT__NAME:
+ return NAME_EDEFAULT == null ? getName() != null : !NAME_EDEFAULT.equals(getName());
+ case ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT:
+ return base_NamedElement != null;
+ case ElementsPackage.EA_ELEMENT__OWNED_COMMENT:
+ return ownedComment != null && !ownedComment.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ElementsPackage.EA_ELEMENT__NAME:
+ setName((String)newValue);
+ return;
+ case ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT:
+ setBase_NamedElement((NamedElement)newValue);
+ return;
+ case ElementsPackage.EA_ELEMENT__OWNED_COMMENT:
+ getOwnedComment().clear();
+ getOwnedComment().addAll((Collection<? extends Comment>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ElementsPackage.Literals.EA_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ElementsPackage.EA_ELEMENT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT:
+ setBase_NamedElement((NamedElement)null);
+ return;
+ case ElementsPackage.EA_ELEMENT__OWNED_COMMENT:
+ getOwnedComment().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public String getName() {
+ // TODO: Hack to avoid problems with incompatible EAST-ADL versions that do eventually not set the namedElement attribute
+ // TODO: replace 10 by proper max value (not clear how to do this)
+ for(int i = 0; i < 10; i++) {
+ if(i != ElementsPackage.EA_ELEMENT__NAME) { // avoid recursion
+ Object baseElementCandidate = eGet(i, false, false);
+ if(baseElementCandidate instanceof NamedElement) {
+ return ((NamedElement)baseElementCandidate).getName();
+ }
+ }
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Comment> getOwnedComment() {
+ if (ownedComment == null) {
+ ownedComment = new EObjectResolvingEList<Comment>(Comment.class, this, ElementsPackage.EA_ELEMENT__OWNED_COMMENT);
+ }
+ return ownedComment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getBase_NamedElement() {
+ if (base_NamedElement != null && base_NamedElement.eIsProxy()) {
+ InternalEObject oldBase_NamedElement = (InternalEObject)base_NamedElement;
+ base_NamedElement = (NamedElement)eResolveProxy(oldBase_NamedElement);
+ if (base_NamedElement != oldBase_NamedElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+ }
+ }
+ return base_NamedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement basicGetBase_NamedElement() {
+ return base_NamedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_NamedElement(NamedElement newBase_NamedElement) {
+ NamedElement oldBase_NamedElement = base_NamedElement;
+ base_NamedElement = newBase_NamedElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public void setName(String newName) {
+ // TODO: implement this method to set the 'Name' attribute
+ // Ensure that you remove @generated or mark it @generated NOT
+ // throw new UnsupportedOperationException();
+ }
+
+} // EAElementImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/EAPackageImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/EAPackageImpl.java
new file mode 100644
index 00000000000..c2ba2cb6a74
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/EAPackageImpl.java
@@ -0,0 +1,258 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.elements.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.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>EA Package</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAPackageImpl#getSubPackages <em>Sub Packages</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAPackageImpl#getElement <em>Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAPackageImpl#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EAPackageImpl extends EAElementImpl implements EAPackage {
+
+ /**
+ * The cached value of the '{@link #getSubPackages() <em>Sub Packages</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSubPackages()
+ * @generated
+ * @ordered
+ */
+ protected EList<EAPackage> subPackages;
+
+ /**
+ * The cached value of the '{@link #getElement() <em>Element</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElement()
+ * @generated
+ * @ordered
+ */
+ protected EList<EAPackageableElement> element;
+
+ /**
+ * 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 EAPackageImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ElementsPackage.Literals.EA_PACKAGE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EAPackage> getSubPackages() {
+ if (subPackages == null) {
+ subPackages = new EObjectContainmentEList<EAPackage>(EAPackage.class, this, ElementsPackage.EA_PACKAGE__SUB_PACKAGES);
+ }
+ return subPackages;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EAPackageableElement> getElement() {
+ if (element == null) {
+ element = new EObjectContainmentEList<EAPackageableElement>(EAPackageableElement.class, this, ElementsPackage.EA_PACKAGE__ELEMENT);
+ }
+ return element;
+ }
+
+ /**
+ * <!-- 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, ElementsPackage.EA_PACKAGE__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, ElementsPackage.EA_PACKAGE__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ElementsPackage.EA_PACKAGE__SUB_PACKAGES:
+ return ((InternalEList<?>)getSubPackages()).basicRemove(otherEnd, msgs);
+ case ElementsPackage.EA_PACKAGE__ELEMENT:
+ return ((InternalEList<?>)getElement()).basicRemove(otherEnd, 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 ElementsPackage.EA_PACKAGE__SUB_PACKAGES:
+ return getSubPackages();
+ case ElementsPackage.EA_PACKAGE__ELEMENT:
+ return getElement();
+ case ElementsPackage.EA_PACKAGE__BASE_PACKAGE:
+ if (resolve) return getBase_Package();
+ return basicGetBase_Package();
+ }
+ 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 ElementsPackage.EA_PACKAGE__SUB_PACKAGES:
+ getSubPackages().clear();
+ getSubPackages().addAll((Collection<? extends EAPackage>)newValue);
+ return;
+ case ElementsPackage.EA_PACKAGE__ELEMENT:
+ getElement().clear();
+ getElement().addAll((Collection<? extends EAPackageableElement>)newValue);
+ return;
+ case ElementsPackage.EA_PACKAGE__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 ElementsPackage.EA_PACKAGE__SUB_PACKAGES:
+ getSubPackages().clear();
+ return;
+ case ElementsPackage.EA_PACKAGE__ELEMENT:
+ getElement().clear();
+ return;
+ case ElementsPackage.EA_PACKAGE__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 ElementsPackage.EA_PACKAGE__SUB_PACKAGES:
+ return subPackages != null && !subPackages.isEmpty();
+ case ElementsPackage.EA_PACKAGE__ELEMENT:
+ return element != null && !element.isEmpty();
+ case ElementsPackage.EA_PACKAGE__BASE_PACKAGE:
+ return base_Package != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //EAPackageImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/EAPackageableElementImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/EAPackageableElementImpl.java
new file mode 100644
index 00000000000..4ffc586ec03
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/EAPackageableElementImpl.java
@@ -0,0 +1,166 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.elements.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.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.uml2.uml.PackageableElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>EA Packageable Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAPackageableElementImpl#getBase_PackageableElement <em>Base Packageable Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class EAPackageableElementImpl extends EAElementImpl implements EAPackageableElement {
+ /**
+ * The cached value of the '{@link #getBase_PackageableElement() <em>Base Packageable Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_PackageableElement()
+ * @generated
+ * @ordered
+ */
+ protected PackageableElement base_PackageableElement;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EAPackageableElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ElementsPackage.Literals.EA_PACKAGEABLE_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageableElement getBase_PackageableElement() {
+ if (base_PackageableElement != null && base_PackageableElement.eIsProxy()) {
+ InternalEObject oldBase_PackageableElement = (InternalEObject)base_PackageableElement;
+ base_PackageableElement = (PackageableElement)eResolveProxy(oldBase_PackageableElement);
+ if (base_PackageableElement != oldBase_PackageableElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ElementsPackage.EA_PACKAGEABLE_ELEMENT__BASE_PACKAGEABLE_ELEMENT, oldBase_PackageableElement, base_PackageableElement));
+ }
+ }
+ return base_PackageableElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageableElement basicGetBase_PackageableElement() {
+ return base_PackageableElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_PackageableElement(PackageableElement newBase_PackageableElement) {
+ PackageableElement oldBase_PackageableElement = base_PackageableElement;
+ base_PackageableElement = newBase_PackageableElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ElementsPackage.EA_PACKAGEABLE_ELEMENT__BASE_PACKAGEABLE_ELEMENT, oldBase_PackageableElement, base_PackageableElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ElementsPackage.EA_PACKAGEABLE_ELEMENT__BASE_PACKAGEABLE_ELEMENT:
+ if (resolve) return getBase_PackageableElement();
+ return basicGetBase_PackageableElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ElementsPackage.EA_PACKAGEABLE_ELEMENT__BASE_PACKAGEABLE_ELEMENT:
+ setBase_PackageableElement((PackageableElement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ElementsPackage.EA_PACKAGEABLE_ELEMENT__BASE_PACKAGEABLE_ELEMENT:
+ setBase_PackageableElement((PackageableElement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ElementsPackage.EA_PACKAGEABLE_ELEMENT__BASE_PACKAGEABLE_ELEMENT:
+ return base_PackageableElement != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //EAPackageableElementImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/ElementsFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/ElementsFactoryImpl.java
new file mode 100644
index 00000000000..c8907ba2bd4
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/ElementsFactoryImpl.java
@@ -0,0 +1,156 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.elements.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.eclipse.papyrus.eastadl.infrastructure.elements.Comment;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsFactory;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.MultiLevelReference;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Rationale;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Realization;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ElementsFactoryImpl extends EFactoryImpl implements ElementsFactory {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static ElementsPackage getPackage() {
+ return ElementsPackage.eINSTANCE;
+ }
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ElementsFactory init() {
+ try {
+ ElementsFactory theElementsFactory = (ElementsFactory)EPackage.Registry.INSTANCE.getEFactory(ElementsPackage.eNS_URI);
+ if (theElementsFactory != null) {
+ return theElementsFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new ElementsFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ElementsFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case ElementsPackage.REALIZATION: return createRealization();
+ case ElementsPackage.MULTI_LEVEL_REFERENCE: return createMultiLevelReference();
+ case ElementsPackage.RATIONALE: return createRationale();
+ case ElementsPackage.EA_PACKAGE: return createEAPackage();
+ case ElementsPackage.COMMENT: return createComment();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MultiLevelReference createMultiLevelReference() {
+ MultiLevelReferenceImpl multiLevelReference = new MultiLevelReferenceImpl();
+ return multiLevelReference;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Rationale createRationale() {
+ RationaleImpl rationale = new RationaleImpl();
+ return rationale;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAPackage createEAPackage() {
+ EAPackageImpl eaPackage = new EAPackageImpl();
+ return eaPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Comment createComment() {
+ CommentImpl comment = new CommentImpl();
+ return comment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Realization createRealization() {
+ RealizationImpl realization = new RealizationImpl();
+ return realization;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ElementsPackage getElementsPackage() {
+ return (ElementsPackage)getEPackage();
+ }
+
+} //ElementsFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/ElementsPackageImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/ElementsPackageImpl.java
new file mode 100644
index 00000000000..c2160e02145
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/ElementsPackageImpl.java
@@ -0,0 +1,741 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.elements.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.eastadl.EastadlPackage;
+import org.eclipse.papyrus.eastadl.annex.AnnexPackage;
+import org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Comment;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsFactory;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.MultiLevelReference;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Rationale;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Realization;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Relationship;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+import org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.StructurePackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ElementsPackageImpl extends EPackageImpl implements ElementsPackage {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass relationshipEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass traceableSpecificationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass eaPackageableElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass contextEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass realizationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass multiLevelReferenceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass rationaleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass eaPackageEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass commentEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass eaElementEClass = null;
+
+ /**
+ * <!-- 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 ElementsPackage#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 ElementsPackage init() {
+ if (isInited) return (ElementsPackage)EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI);
+
+ // Obtain or create and register package
+ ElementsPackageImpl theElementsPackage = (ElementsPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ElementsPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ElementsPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ SysmlPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EastadlPackageImpl theEastadlPackage = (EastadlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) instanceof EastadlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) : EastadlPackage.eINSTANCE);
+ VariabilityPackageImpl theVariabilityPackage = (VariabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) instanceof VariabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) : VariabilityPackage.eINSTANCE);
+ InfrastructurePackageImpl theInfrastructurePackage = (InfrastructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) instanceof InfrastructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) : InfrastructurePackage.eINSTANCE);
+ DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) instanceof DatatypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) : DatatypesPackage.eINSTANCE);
+ UserattributesPackageImpl theUserattributesPackage = (UserattributesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) instanceof UserattributesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) : UserattributesPackage.eINSTANCE);
+ StructurePackageImpl theStructurePackage = (StructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) instanceof StructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) : StructurePackage.eINSTANCE);
+ FunctionmodelingPackageImpl theFunctionmodelingPackage = (FunctionmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) instanceof FunctionmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) : FunctionmodelingPackage.eINSTANCE);
+ HardwaremodelingPackageImpl theHardwaremodelingPackage = (HardwaremodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) instanceof HardwaremodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) : HardwaremodelingPackage.eINSTANCE);
+ SystemmodelingPackageImpl theSystemmodelingPackage = (SystemmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) instanceof SystemmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) : SystemmodelingPackage.eINSTANCE);
+ VehiclefeaturemodelingPackageImpl theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) instanceof VehiclefeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) : VehiclefeaturemodelingPackage.eINSTANCE);
+ FeaturemodelingPackageImpl theFeaturemodelingPackage = (FeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) instanceof FeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) : FeaturemodelingPackage.eINSTANCE);
+ BehaviorPackageImpl theBehaviorPackage = (BehaviorPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) instanceof BehaviorPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) : BehaviorPackage.eINSTANCE);
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) : RequirementsPackage.eINSTANCE);
+ VerificationvalidationPackageImpl theVerificationvalidationPackage = (VerificationvalidationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) instanceof VerificationvalidationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) : VerificationvalidationPackage.eINSTANCE);
+ TimingPackageImpl theTimingPackage = (TimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) instanceof TimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) : TimingPackage.eINSTANCE);
+ TimingconstraintsPackageImpl theTimingconstraintsPackage = (TimingconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) instanceof TimingconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) : TimingconstraintsPackage.eINSTANCE);
+ EventsPackageImpl theEventsPackage = (EventsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+ InterchangePackageImpl theInterchangePackage = (InterchangePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) instanceof InterchangePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) : InterchangePackage.eINSTANCE);
+ EnvironmentPackageImpl theEnvironmentPackage = (EnvironmentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) instanceof EnvironmentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) : EnvironmentPackage.eINSTANCE);
+ DependabilityPackageImpl theDependabilityPackage = (DependabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) instanceof DependabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) : DependabilityPackage.eINSTANCE);
+ ErrormodelPackageImpl theErrormodelPackage = (ErrormodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) instanceof ErrormodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) : ErrormodelPackage.eINSTANCE);
+ SafetyrequirementPackageImpl theSafetyrequirementPackage = (SafetyrequirementPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) instanceof SafetyrequirementPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) : SafetyrequirementPackage.eINSTANCE);
+ SafetyconstraintsPackageImpl theSafetyconstraintsPackage = (SafetyconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) instanceof SafetyconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) : SafetyconstraintsPackage.eINSTANCE);
+ SafetycasePackageImpl theSafetycasePackage = (SafetycasePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) instanceof SafetycasePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) : SafetycasePackage.eINSTANCE);
+ AnnexPackageImpl theAnnexPackage = (AnnexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) instanceof AnnexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) : AnnexPackage.eINSTANCE);
+ NeedsPackageImpl theNeedsPackage = (NeedsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) instanceof NeedsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) : NeedsPackage.eINSTANCE);
+ GenericconstraintsPackageImpl theGenericconstraintsPackage = (GenericconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) instanceof GenericconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) : GenericconstraintsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theElementsPackage.createPackageContents();
+ theEastadlPackage.createPackageContents();
+ theVariabilityPackage.createPackageContents();
+ theInfrastructurePackage.createPackageContents();
+ theDatatypesPackage.createPackageContents();
+ theUserattributesPackage.createPackageContents();
+ theStructurePackage.createPackageContents();
+ theFunctionmodelingPackage.createPackageContents();
+ theHardwaremodelingPackage.createPackageContents();
+ theSystemmodelingPackage.createPackageContents();
+ theVehiclefeaturemodelingPackage.createPackageContents();
+ theFeaturemodelingPackage.createPackageContents();
+ theBehaviorPackage.createPackageContents();
+ theRequirementsPackage.createPackageContents();
+ theVerificationvalidationPackage.createPackageContents();
+ theTimingPackage.createPackageContents();
+ theTimingconstraintsPackage.createPackageContents();
+ theEventsPackage.createPackageContents();
+ theInterchangePackage.createPackageContents();
+ theEnvironmentPackage.createPackageContents();
+ theDependabilityPackage.createPackageContents();
+ theErrormodelPackage.createPackageContents();
+ theSafetyrequirementPackage.createPackageContents();
+ theSafetyconstraintsPackage.createPackageContents();
+ theSafetycasePackage.createPackageContents();
+ theAnnexPackage.createPackageContents();
+ theNeedsPackage.createPackageContents();
+ theGenericconstraintsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theElementsPackage.initializePackageContents();
+ theEastadlPackage.initializePackageContents();
+ theVariabilityPackage.initializePackageContents();
+ theInfrastructurePackage.initializePackageContents();
+ theDatatypesPackage.initializePackageContents();
+ theUserattributesPackage.initializePackageContents();
+ theStructurePackage.initializePackageContents();
+ theFunctionmodelingPackage.initializePackageContents();
+ theHardwaremodelingPackage.initializePackageContents();
+ theSystemmodelingPackage.initializePackageContents();
+ theVehiclefeaturemodelingPackage.initializePackageContents();
+ theFeaturemodelingPackage.initializePackageContents();
+ theBehaviorPackage.initializePackageContents();
+ theRequirementsPackage.initializePackageContents();
+ theVerificationvalidationPackage.initializePackageContents();
+ theTimingPackage.initializePackageContents();
+ theTimingconstraintsPackage.initializePackageContents();
+ theEventsPackage.initializePackageContents();
+ theInterchangePackage.initializePackageContents();
+ theEnvironmentPackage.initializePackageContents();
+ theDependabilityPackage.initializePackageContents();
+ theErrormodelPackage.initializePackageContents();
+ theSafetyrequirementPackage.initializePackageContents();
+ theSafetyconstraintsPackage.initializePackageContents();
+ theSafetycasePackage.initializePackageContents();
+ theAnnexPackage.initializePackageContents();
+ theNeedsPackage.initializePackageContents();
+ theGenericconstraintsPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theElementsPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(ElementsPackage.eNS_URI, theElementsPackage);
+ return theElementsPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * 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.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private ElementsPackageImpl() {
+ super(eNS_URI, ElementsFactory.eINSTANCE);
+ }
+
+ /**
+ * 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
+ traceableSpecificationEClass = createEClass(TRACEABLE_SPECIFICATION);
+ createEAttribute(traceableSpecificationEClass, TRACEABLE_SPECIFICATION__NOTE);
+
+ eaPackageableElementEClass = createEClass(EA_PACKAGEABLE_ELEMENT);
+ createEReference(eaPackageableElementEClass, EA_PACKAGEABLE_ELEMENT__BASE_PACKAGEABLE_ELEMENT);
+
+ realizationEClass = createEClass(REALIZATION);
+ createEReference(realizationEClass, REALIZATION__REALIZED);
+ createEReference(realizationEClass, REALIZATION__REALIZED_BY);
+ createEReference(realizationEClass, REALIZATION__BASE_REALIZATION);
+ createEReference(realizationEClass, REALIZATION__REALIZED_BY_PATH);
+ createEReference(realizationEClass, REALIZATION__REALIZED_PATH);
+
+ relationshipEClass = createEClass(RELATIONSHIP);
+
+ contextEClass = createEClass(CONTEXT);
+ createEReference(contextEClass, CONTEXT__TRACEABLE_SPECIFICATION);
+ createEReference(contextEClass, CONTEXT__OWNED_RELATIONSHIP);
+
+ multiLevelReferenceEClass = createEClass(MULTI_LEVEL_REFERENCE);
+ createEReference(multiLevelReferenceEClass, MULTI_LEVEL_REFERENCE__BASE_DEPENDENCY);
+ createEReference(multiLevelReferenceEClass, MULTI_LEVEL_REFERENCE__REFERRING);
+ createEReference(multiLevelReferenceEClass, MULTI_LEVEL_REFERENCE__REFERENCE);
+
+ rationaleEClass = createEClass(RATIONALE);
+
+ eaPackageEClass = createEClass(EA_PACKAGE);
+ createEReference(eaPackageEClass, EA_PACKAGE__SUB_PACKAGES);
+ createEReference(eaPackageEClass, EA_PACKAGE__ELEMENT);
+ createEReference(eaPackageEClass, EA_PACKAGE__BASE_PACKAGE);
+
+ commentEClass = createEClass(COMMENT);
+ createEAttribute(commentEClass, COMMENT__BODY);
+ createEReference(commentEClass, COMMENT__BASE_COMMENT);
+
+ eaElementEClass = createEClass(EA_ELEMENT);
+ createEAttribute(eaElementEClass, EA_ELEMENT__NAME);
+ createEReference(eaElementEClass, EA_ELEMENT__BASE_NAMED_ELEMENT);
+ createEReference(eaElementEClass, EA_ELEMENT__OWNED_COMMENT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getContext() {
+ return contextEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getContext_OwnedRelationship() {
+ return (EReference)contextEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getContext_TraceableSpecification() {
+ return (EReference)contextEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ElementsFactory getElementsFactory() {
+ return (ElementsFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMultiLevelReference() {
+ return multiLevelReferenceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMultiLevelReference_Base_Dependency() {
+ return (EReference)multiLevelReferenceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMultiLevelReference_Reference() {
+ return (EReference)multiLevelReferenceEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRationale() {
+ return rationaleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEAPackage() {
+ return eaPackageEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEAPackage_SubPackages() {
+ return (EReference)eaPackageEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEAPackage_Element() {
+ return (EReference)eaPackageEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEAPackage_Base_Package() {
+ return (EReference)eaPackageEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getComment() {
+ return commentEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getComment_Body() {
+ return (EAttribute)commentEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getComment_Base_Comment() {
+ return (EReference)commentEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEAElement() {
+ return eaElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getEAElement_Name() {
+ return (EAttribute)eaElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEAElement_Base_NamedElement() {
+ return (EReference)eaElementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEAElement_OwnedComment() {
+ return (EReference)eaElementEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMultiLevelReference_Referring() {
+ return (EReference)multiLevelReferenceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRealization() {
+ return realizationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRealization_Realized() {
+ return (EReference)realizationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRealization_RealizedBy() {
+ return (EReference)realizationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRealization_Base_Realization() {
+ return (EReference)realizationEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRealization_RealizedBy_path() {
+ return (EReference)realizationEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRealization_Realized_path() {
+ return (EReference)realizationEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRelationship() {
+ return relationshipEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTraceableSpecification() {
+ return traceableSpecificationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTraceableSpecification_Note() {
+ return (EAttribute)traceableSpecificationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEAPackageableElement() {
+ return eaPackageableElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEAPackageableElement_Base_PackageableElement() {
+ return (EReference)eaPackageableElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * 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
+ TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+ ModelelementsPackage theModelelementsPackage = (ModelelementsPackage)EPackage.Registry.INSTANCE.getEPackage(ModelelementsPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ traceableSpecificationEClass.getESuperTypes().add(this.getEAPackageableElement());
+ eaPackageableElementEClass.getESuperTypes().add(this.getEAElement());
+ realizationEClass.getESuperTypes().add(this.getRelationship());
+ relationshipEClass.getESuperTypes().add(this.getEAElement());
+ contextEClass.getESuperTypes().add(this.getEAElement());
+ multiLevelReferenceEClass.getESuperTypes().add(this.getRelationship());
+ rationaleEClass.getESuperTypes().add(theModelelementsPackage.getRationale());
+ eaPackageEClass.getESuperTypes().add(this.getEAElement());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(traceableSpecificationEClass, TraceableSpecification.class, "TraceableSpecification", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getTraceableSpecification_Note(), theTypesPackage.getString(), "note", null, 0, 1, TraceableSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(eaPackageableElementEClass, EAPackageableElement.class, "EAPackageableElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getEAPackageableElement_Base_PackageableElement(), theUMLPackage.getPackageableElement(), null, "base_PackageableElement", null, 1, 1, EAPackageableElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(realizationEClass, Realization.class, "Realization", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRealization_Realized(), this.getEAElement(), null, "realized", null, 1, -1, Realization.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getRealization_RealizedBy(), theUMLPackage.getNamedElement(), null, "realizedBy", null, 0, -1, Realization.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getRealization_Base_Realization(), theUMLPackage.getRealization(), null, "base_Realization", null, 1, 1, Realization.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getRealization_RealizedBy_path(), theUMLPackage.getNamedElement(), null, "realizedBy_path", null, 0, -1, Realization.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRealization_Realized_path(), theUMLPackage.getNamedElement(), null, "realized_path", null, 0, -1, Realization.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(relationshipEClass, Relationship.class, "Relationship", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(contextEClass, Context.class, "Context", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getContext_TraceableSpecification(), this.getTraceableSpecification(), null, "traceableSpecification", null, 0, -1, Context.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getContext_OwnedRelationship(), this.getRelationship(), null, "ownedRelationship", null, 0, -1, Context.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(multiLevelReferenceEClass, MultiLevelReference.class, "MultiLevelReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getMultiLevelReference_Base_Dependency(), theUMLPackage.getDependency(), null, "base_Dependency", null, 1, 1, MultiLevelReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getMultiLevelReference_Referring(), this.getEAElement(), null, "referring", null, 1, 1, MultiLevelReference.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getMultiLevelReference_Reference(), this.getEAElement(), null, "reference", null, 1, 1, MultiLevelReference.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+
+ initEClass(rationaleEClass, Rationale.class, "Rationale", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(eaPackageEClass, EAPackage.class, "EAPackage", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getEAPackage_SubPackages(), this.getEAPackage(), null, "subPackages", null, 0, -1, EAPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getEAPackage_Element(), this.getEAPackageableElement(), null, "element", null, 0, -1, EAPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getEAPackage_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 1, 1, EAPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(commentEClass, Comment.class, "Comment", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getComment_Body(), theTypesPackage.getString(), "body", null, 1, 1, Comment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getComment_Base_Comment(), theUMLPackage.getComment(), null, "base_Comment", null, 1, 1, Comment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(eaElementEClass, EAElement.class, "EAElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getEAElement_Name(), theTypesPackage.getString(), "name", null, 0, 1, EAElement.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getEAElement_Base_NamedElement(), theUMLPackage.getNamedElement(), null, "base_NamedElement", null, 1, 1, EAElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getEAElement_OwnedComment(), this.getComment(), null, "ownedComment", null, 0, -1, EAElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ }
+
+} //ElementsPackageImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/MultiLevelReferenceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/MultiLevelReferenceImpl.java
new file mode 100644
index 00000000000..54041eff63c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/MultiLevelReferenceImpl.java
@@ -0,0 +1,226 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.elements.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.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.MultiLevelReference;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Multi Level Reference</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.MultiLevelReferenceImpl#getBase_Dependency <em>Base Dependency</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.MultiLevelReferenceImpl#getReferring <em>Referring</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.MultiLevelReferenceImpl#getReference <em>Reference</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MultiLevelReferenceImpl extends RelationshipImpl implements MultiLevelReference {
+
+ /**
+ * The cached value of the '{@link #getBase_Dependency() <em>Base Dependency</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Dependency()
+ * @generated
+ * @ordered
+ */
+ protected Dependency base_Dependency;
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected MultiLevelReferenceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EAElement basicGetReference() {
+ EAElement result = null;
+
+ if(getBase_Dependency() != null) {
+ Element elt = getBase_Dependency().getSources().get(0);
+
+ if(elt != null)
+ result = (EAElement)UMLUtil.getStereotypeApplication(elt, EAElement.class);
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EAElement basicGetReferring() {
+ EAElement result = null;
+
+ if(getBase_Dependency() != null) {
+ Element elt = getBase_Dependency().getTargets().get(0);
+
+ if(elt != null)
+ result = (EAElement)UMLUtil.getStereotypeApplication(elt, EAElement.class);
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ElementsPackage.MULTI_LEVEL_REFERENCE__BASE_DEPENDENCY:
+ if (resolve) return getBase_Dependency();
+ return basicGetBase_Dependency();
+ case ElementsPackage.MULTI_LEVEL_REFERENCE__REFERRING:
+ if (resolve) return getReferring();
+ return basicGetReferring();
+ case ElementsPackage.MULTI_LEVEL_REFERENCE__REFERENCE:
+ if (resolve) return getReference();
+ return basicGetReference();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ElementsPackage.MULTI_LEVEL_REFERENCE__BASE_DEPENDENCY:
+ return base_Dependency != null;
+ case ElementsPackage.MULTI_LEVEL_REFERENCE__REFERRING:
+ return basicGetReferring() != null;
+ case ElementsPackage.MULTI_LEVEL_REFERENCE__REFERENCE:
+ return basicGetReference() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ElementsPackage.MULTI_LEVEL_REFERENCE__BASE_DEPENDENCY:
+ setBase_Dependency((Dependency)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ElementsPackage.Literals.MULTI_LEVEL_REFERENCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency getBase_Dependency() {
+ if (base_Dependency != null && base_Dependency.eIsProxy()) {
+ InternalEObject oldBase_Dependency = (InternalEObject)base_Dependency;
+ base_Dependency = (Dependency)eResolveProxy(oldBase_Dependency);
+ if (base_Dependency != oldBase_Dependency) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ElementsPackage.MULTI_LEVEL_REFERENCE__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+ }
+ }
+ return base_Dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency basicGetBase_Dependency() {
+ return base_Dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Dependency(Dependency newBase_Dependency) {
+ Dependency oldBase_Dependency = base_Dependency;
+ base_Dependency = newBase_Dependency;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ElementsPackage.MULTI_LEVEL_REFERENCE__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ElementsPackage.MULTI_LEVEL_REFERENCE__BASE_DEPENDENCY:
+ setBase_Dependency((Dependency)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAElement getReference() {
+ EAElement reference = basicGetReference();
+ return reference != null && reference.eIsProxy() ? (EAElement)eResolveProxy((InternalEObject)reference) : reference;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAElement getReferring() {
+ EAElement referring = basicGetReferring();
+ return referring != null && referring.eIsProxy() ? (EAElement)eResolveProxy((InternalEObject)referring) : referring;
+ }
+
+} // MultiLevelReferenceImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/RationaleImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/RationaleImpl.java
new file mode 100644
index 00000000000..5100f1274bb
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/RationaleImpl.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.elements.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Rationale;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Rationale</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class RationaleImpl extends org.eclipse.papyrus.sysml.modelelements.internal.impl.RationaleImpl implements Rationale {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RationaleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ElementsPackage.Literals.RATIONALE;
+ }
+
+} //RationaleImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/RealizationImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/RealizationImpl.java
new file mode 100644
index 00000000000..324d04c62cb
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/RealizationImpl.java
@@ -0,0 +1,299 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.elements.impl;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+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.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.BasicInternalEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Realization;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Realization</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.RealizationImpl#getRealized <em>Realized</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.RealizationImpl#getRealizedBy <em>Realized By</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.RealizationImpl#getBase_Realization <em>Base Realization</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.RealizationImpl#getRealizedBy_path <em>Realized By path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.RealizationImpl#getRealized_path <em>Realized path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RealizationImpl extends RelationshipImpl implements Realization {
+
+ /**
+ * The cached value of the '{@link #getBase_Realization() <em>Base Realization</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Realization()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.uml2.uml.Realization base_Realization;
+
+ /**
+ * The cached value of the '{@link #getRealizedBy_path() <em>Realized By path</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRealizedBy_path()
+ * @generated
+ * @ordered
+ */
+ protected EList<NamedElement> realizedBy_path;
+
+ /**
+ * The cached value of the '{@link #getRealized_path() <em>Realized path</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRealized_path()
+ * @generated
+ * @ordered
+ */
+ protected EList<NamedElement> realized_path;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected RealizationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ElementsPackage.REALIZATION__REALIZED:
+ return getRealized();
+ case ElementsPackage.REALIZATION__REALIZED_BY:
+ return getRealizedBy();
+ case ElementsPackage.REALIZATION__BASE_REALIZATION:
+ if (resolve) return getBase_Realization();
+ return basicGetBase_Realization();
+ case ElementsPackage.REALIZATION__REALIZED_BY_PATH:
+ return getRealizedBy_path();
+ case ElementsPackage.REALIZATION__REALIZED_PATH:
+ return getRealized_path();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ElementsPackage.REALIZATION__REALIZED:
+ return !getRealized().isEmpty();
+ case ElementsPackage.REALIZATION__REALIZED_BY:
+ return !getRealizedBy().isEmpty();
+ case ElementsPackage.REALIZATION__BASE_REALIZATION:
+ return base_Realization != null;
+ case ElementsPackage.REALIZATION__REALIZED_BY_PATH:
+ return realizedBy_path != null && !realizedBy_path.isEmpty();
+ case ElementsPackage.REALIZATION__REALIZED_PATH:
+ return realized_path != null && !realized_path.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ElementsPackage.REALIZATION__BASE_REALIZATION:
+ setBase_Realization((org.eclipse.uml2.uml.Realization)newValue);
+ return;
+ case ElementsPackage.REALIZATION__REALIZED_BY_PATH:
+ getRealizedBy_path().clear();
+ getRealizedBy_path().addAll((Collection<? extends NamedElement>)newValue);
+ return;
+ case ElementsPackage.REALIZATION__REALIZED_PATH:
+ getRealized_path().clear();
+ getRealized_path().addAll((Collection<? extends NamedElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ElementsPackage.Literals.REALIZATION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ElementsPackage.REALIZATION__BASE_REALIZATION:
+ setBase_Realization((org.eclipse.uml2.uml.Realization)null);
+ return;
+ case ElementsPackage.REALIZATION__REALIZED_BY_PATH:
+ getRealizedBy_path().clear();
+ return;
+ case ElementsPackage.REALIZATION__REALIZED_PATH:
+ getRealized_path().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<EAElement> getRealized() {
+ EList<EAElement> results = new BasicEList<EAElement>();
+ EAElement entity;
+
+ if(getBase_Realization() != null) {
+ // Parse owned Properties
+ Iterator<Element> it = getBase_Realization().getTargets().iterator();
+ while(it.hasNext()) {
+ Element current = it.next();
+
+ // Test if current is stereotyped eaelement
+ entity = (EAElement)UMLUtil.getStereotypeApplication(current, EAElement.class);
+
+ if(entity != null) {
+ results.add(entity);
+ }
+ }
+ }
+
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<EAElement>(EAElement.class, results.size(), results.toArray());
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<NamedElement> getRealizedBy() {
+ EList<NamedElement> results = new BasicEList<NamedElement>();
+
+ if(getBase_Realization() != null) {
+ // Parse owned Properties
+ Iterator<NamedElement> it = getBase_Realization().getClients().iterator();
+ while(it.hasNext()) {
+ NamedElement current = it.next();
+ results.add(current);
+ }
+ }
+
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<NamedElement>(NamedElement.class, results.size(), results.toArray());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Realization getBase_Realization() {
+ if (base_Realization != null && base_Realization.eIsProxy()) {
+ InternalEObject oldBase_Realization = (InternalEObject)base_Realization;
+ base_Realization = (org.eclipse.uml2.uml.Realization)eResolveProxy(oldBase_Realization);
+ if (base_Realization != oldBase_Realization) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ElementsPackage.REALIZATION__BASE_REALIZATION, oldBase_Realization, base_Realization));
+ }
+ }
+ return base_Realization;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Realization basicGetBase_Realization() {
+ return base_Realization;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Realization(org.eclipse.uml2.uml.Realization newBase_Realization) {
+ org.eclipse.uml2.uml.Realization oldBase_Realization = base_Realization;
+ base_Realization = newBase_Realization;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ElementsPackage.REALIZATION__BASE_REALIZATION, oldBase_Realization, base_Realization));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<NamedElement> getRealizedBy_path() {
+ if (realizedBy_path == null) {
+ realizedBy_path = new EObjectResolvingEList<NamedElement>(NamedElement.class, this, ElementsPackage.REALIZATION__REALIZED_BY_PATH);
+ }
+ return realizedBy_path;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<NamedElement> getRealized_path() {
+ if (realized_path == null) {
+ realized_path = new EObjectResolvingEList<NamedElement>(NamedElement.class, this, ElementsPackage.REALIZATION__REALIZED_PATH);
+ }
+ return realized_path;
+ }
+
+} // RealizationImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/RelationshipImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/RelationshipImpl.java
new file mode 100644
index 00000000000..ef1523d793e
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/RelationshipImpl.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.elements.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Relationship;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class RelationshipImpl extends EAElementImpl implements Relationship {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RelationshipImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ElementsPackage.Literals.RELATIONSHIP;
+ }
+
+} //RelationshipImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/TraceableSpecificationImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/TraceableSpecificationImpl.java
new file mode 100644
index 00000000000..b6968595035
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/impl/TraceableSpecificationImpl.java
@@ -0,0 +1,173 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.elements.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.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Traceable Specification</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl#getNote <em>Note</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class TraceableSpecificationImpl extends EAPackageableElementImpl implements TraceableSpecification {
+ /**
+ * The default value of the '{@link #getNote() <em>Note</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNote()
+ * @generated
+ * @ordered
+ */
+ protected static final String NOTE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getNote() <em>Note</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNote()
+ * @generated
+ * @ordered
+ */
+ protected String note = NOTE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TraceableSpecificationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ElementsPackage.TRACEABLE_SPECIFICATION__NOTE:
+ return getNote();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ElementsPackage.TRACEABLE_SPECIFICATION__NOTE:
+ return NOTE_EDEFAULT == null ? note != null : !NOTE_EDEFAULT.equals(note);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ElementsPackage.TRACEABLE_SPECIFICATION__NOTE:
+ setNote((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ElementsPackage.Literals.TRACEABLE_SPECIFICATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ElementsPackage.TRACEABLE_SPECIFICATION__NOTE:
+ setNote(NOTE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getNote() {
+ return note;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNote(String newNote) {
+ String oldNote = note;
+ note = newNote;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ElementsPackage.TRACEABLE_SPECIFICATION__NOTE, oldNote, note));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (note: ");
+ result.append(note);
+ result.append(')');
+ return result.toString();
+ }
+
+} //TraceableSpecificationImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/util/ElementsAdapterFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/util/ElementsAdapterFactory.java
new file mode 100644
index 00000000000..ba90242410e
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/util/ElementsAdapterFactory.java
@@ -0,0 +1,321 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.elements.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.eastadl.infrastructure.elements.Comment;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.MultiLevelReference;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Rationale;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Realization;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Relationship;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage
+ * @generated
+ */
+public class ElementsAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ElementsPackage modelPackage;
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ElementsSwitch<Adapter> modelSwitch =
+ new ElementsSwitch<Adapter>() {
+ @Override
+ public Adapter caseTraceableSpecification(TraceableSpecification object) {
+ return createTraceableSpecificationAdapter();
+ }
+ @Override
+ public Adapter caseEAPackageableElement(EAPackageableElement object) {
+ return createEAPackageableElementAdapter();
+ }
+ @Override
+ public Adapter caseRealization(Realization object) {
+ return createRealizationAdapter();
+ }
+ @Override
+ public Adapter caseRelationship(Relationship object) {
+ return createRelationshipAdapter();
+ }
+ @Override
+ public Adapter caseContext(Context object) {
+ return createContextAdapter();
+ }
+ @Override
+ public Adapter caseMultiLevelReference(MultiLevelReference object) {
+ return createMultiLevelReferenceAdapter();
+ }
+ @Override
+ public Adapter caseRationale(Rationale object) {
+ return createRationaleAdapter();
+ }
+ @Override
+ public Adapter caseEAPackage(EAPackage object) {
+ return createEAPackageAdapter();
+ }
+ @Override
+ public Adapter caseComment(Comment object) {
+ return createCommentAdapter();
+ }
+ @Override
+ public Adapter caseEAElement(EAElement object) {
+ return createEAElementAdapter();
+ }
+ @Override
+ public Adapter caseModelelements_Rationale(org.eclipse.papyrus.sysml.modelelements.Rationale object) {
+ return createModelelements_RationaleAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ElementsAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = ElementsPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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.eclipse.papyrus.eastadl.infrastructure.elements.Context <em>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.eastadl.infrastructure.elements.Context
+ * @generated
+ */
+ public Adapter createContextAdapter() {
+ 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;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.MultiLevelReference <em>Multi Level Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.MultiLevelReference
+ * @generated
+ */
+ public Adapter createMultiLevelReferenceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Rationale <em>Rationale</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.Rationale
+ * @generated
+ */
+ public Adapter createRationaleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackage <em>EA Package</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAPackage
+ * @generated
+ */
+ public Adapter createEAPackageAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Comment <em>Comment</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.Comment
+ * @generated
+ */
+ public Adapter createCommentAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement <em>EA Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAElement
+ * @generated
+ */
+ public Adapter createEAElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Realization <em>Realization</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.Realization
+ * @generated
+ */
+ public Adapter createRealizationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Relationship <em>Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.Relationship
+ * @generated
+ */
+ public Adapter createRelationshipAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification <em>Traceable 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.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification
+ * @generated
+ */
+ public Adapter createTraceableSpecificationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement <em>EA Packageable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAPackageableElement
+ * @generated
+ */
+ public Adapter createEAPackageableElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.modelelements.Rationale <em>Rationale</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.sysml.modelelements.Rationale
+ * @generated
+ */
+ public Adapter createModelelements_RationaleAdapter() {
+ return null;
+ }
+
+ /**
+ * 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;
+ }
+
+} //ElementsAdapterFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/util/ElementsResourceFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/util/ElementsResourceFactoryImpl.java
new file mode 100644
index 00000000000..754643b1aa0
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/util/ElementsResourceFactoryImpl.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.elements.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.eclipse.papyrus.eastadl.infrastructure.elements.util.ElementsResourceImpl
+ * @generated
+ */
+public class ElementsResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ElementsResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new ElementsResourceImpl(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;
+ }
+
+} //ElementsResourceFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/util/ElementsResourceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/util/ElementsResourceImpl.java
new file mode 100644
index 00000000000..b96b8a9f20c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/util/ElementsResourceImpl.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.elements.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.eclipse.papyrus.eastadl.infrastructure.elements.util.ElementsResourceFactoryImpl
+ * @generated
+ */
+public class ElementsResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public ElementsResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //ElementsResourceImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/util/ElementsSwitch.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/util/ElementsSwitch.java
new file mode 100644
index 00000000000..5caf7f31fca
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/util/ElementsSwitch.java
@@ -0,0 +1,347 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.elements.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Comment;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.MultiLevelReference;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Rationale;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Realization;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Relationship;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage
+ * @generated
+ */
+public class ElementsSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ElementsPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ElementsSwitch() {
+ if (modelPackage == null) {
+ modelPackage = ElementsPackage.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;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>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>Context</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseContext(Context object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Multi Level Reference</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate 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 Level Reference</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMultiLevelReference(MultiLevelReference object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Rationale</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Rationale</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRationale(Rationale object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Package</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Package</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAPackage(EAPackage object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Comment</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Comment</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseComment(Comment object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAElement(EAElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Realization</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Realization</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRealization(Realization object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Relationship</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Relationship</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRelationship(Relationship object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Traceable 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>Traceable Specification</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTraceableSpecification(TraceableSpecification object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Packageable Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Packageable Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAPackageableElement(EAPackageableElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Rationale</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Rationale</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseModelelements_Rationale(org.eclipse.papyrus.sysml.modelelements.Rationale 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;
+ }
+
+ /**
+ * 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 ElementsPackage.TRACEABLE_SPECIFICATION: {
+ TraceableSpecification traceableSpecification = (TraceableSpecification)theEObject;
+ T result = caseTraceableSpecification(traceableSpecification);
+ if (result == null) result = caseEAPackageableElement(traceableSpecification);
+ if (result == null) result = caseEAElement(traceableSpecification);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ElementsPackage.EA_PACKAGEABLE_ELEMENT: {
+ EAPackageableElement eaPackageableElement = (EAPackageableElement)theEObject;
+ T result = caseEAPackageableElement(eaPackageableElement);
+ if (result == null) result = caseEAElement(eaPackageableElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ElementsPackage.REALIZATION: {
+ Realization realization = (Realization)theEObject;
+ T result = caseRealization(realization);
+ if (result == null) result = caseRelationship(realization);
+ if (result == null) result = caseEAElement(realization);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ElementsPackage.RELATIONSHIP: {
+ Relationship relationship = (Relationship)theEObject;
+ T result = caseRelationship(relationship);
+ if (result == null) result = caseEAElement(relationship);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ElementsPackage.CONTEXT: {
+ Context context = (Context)theEObject;
+ T result = caseContext(context);
+ if (result == null) result = caseEAElement(context);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ElementsPackage.MULTI_LEVEL_REFERENCE: {
+ MultiLevelReference multiLevelReference = (MultiLevelReference)theEObject;
+ T result = caseMultiLevelReference(multiLevelReference);
+ if (result == null) result = caseRelationship(multiLevelReference);
+ if (result == null) result = caseEAElement(multiLevelReference);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ElementsPackage.RATIONALE: {
+ Rationale rationale = (Rationale)theEObject;
+ T result = caseRationale(rationale);
+ if (result == null) result = caseModelelements_Rationale(rationale);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ElementsPackage.EA_PACKAGE: {
+ EAPackage eaPackage = (EAPackage)theEObject;
+ T result = caseEAPackage(eaPackage);
+ if (result == null) result = caseEAElement(eaPackage);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ElementsPackage.COMMENT: {
+ Comment comment = (Comment)theEObject;
+ T result = caseComment(comment);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ElementsPackage.EA_ELEMENT: {
+ EAElement eaElement = (EAElement)theEObject;
+ T result = caseEAElement(eaElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+} //ElementsSwitch
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/util/ElementsXMLProcessor.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/util/ElementsXMLProcessor.java
new file mode 100644
index 00000000000..3b8f7c0950f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/elements/util/ElementsXMLProcessor.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.elements.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.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ElementsXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ElementsXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ ElementsPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the ElementsResourceFactoryImpl 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 ElementsResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new ElementsResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //ElementsXMLProcessor
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/impl/InfrastructureFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/impl/InfrastructureFactoryImpl.java
new file mode 100644
index 00000000000..23ecf22564f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/impl/InfrastructureFactoryImpl.java
@@ -0,0 +1,145 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.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.eclipse.papyrus.eastadl.infrastructure.InfrastructureFactory;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InfrastructureFactoryImpl extends EFactoryImpl implements InfrastructureFactory {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static InfrastructurePackage getPackage() {
+ return InfrastructurePackage.eINSTANCE;
+ }
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static InfrastructureFactory init() {
+ try {
+ InfrastructureFactory theInfrastructureFactory = (InfrastructureFactory)EPackage.Registry.INSTANCE.getEFactory(InfrastructurePackage.eNS_URI);
+ if (theInfrastructureFactory != null) {
+ return theInfrastructureFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new InfrastructureFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InfrastructureFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertDummyToString(EDataType eDataType, Object instanceValue) {
+ return super.convertToString(eDataType, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case InfrastructurePackage.DUMMY:
+ return convertDummyToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- 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
+ */
+ public String createDummyFromString(EDataType eDataType, String initialValue) {
+ return (String)super.createFromString(eDataType, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case InfrastructurePackage.DUMMY:
+ return createDummyFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InfrastructurePackage getInfrastructurePackage() {
+ return (InfrastructurePackage)getEPackage();
+ }
+
+} //InfrastructureFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/impl/InfrastructurePackageImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/impl/InfrastructurePackageImpl.java
new file mode 100644
index 00000000000..4ccc9487c50
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/impl/InfrastructurePackageImpl.java
@@ -0,0 +1,317 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.impl;
+
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.eastadl.EastadlPackage;
+import org.eclipse.papyrus.eastadl.annex.AnnexPackage;
+import org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructureFactory;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.StructurePackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InfrastructurePackageImpl extends EPackageImpl implements InfrastructurePackage {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EDataType dummyEDataType = null;
+
+ /**
+ * <!-- 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 InfrastructurePackage#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 InfrastructurePackage init() {
+ if (isInited) return (InfrastructurePackage)EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI);
+
+ // Obtain or create and register package
+ InfrastructurePackageImpl theInfrastructurePackage = (InfrastructurePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof InfrastructurePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new InfrastructurePackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ SysmlPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EastadlPackageImpl theEastadlPackage = (EastadlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) instanceof EastadlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) : EastadlPackage.eINSTANCE);
+ VariabilityPackageImpl theVariabilityPackage = (VariabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) instanceof VariabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) : VariabilityPackage.eINSTANCE);
+ DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) instanceof DatatypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) : DatatypesPackage.eINSTANCE);
+ UserattributesPackageImpl theUserattributesPackage = (UserattributesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) instanceof UserattributesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) : UserattributesPackage.eINSTANCE);
+ ElementsPackageImpl theElementsPackage = (ElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) instanceof ElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) : ElementsPackage.eINSTANCE);
+ StructurePackageImpl theStructurePackage = (StructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) instanceof StructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) : StructurePackage.eINSTANCE);
+ FunctionmodelingPackageImpl theFunctionmodelingPackage = (FunctionmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) instanceof FunctionmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) : FunctionmodelingPackage.eINSTANCE);
+ HardwaremodelingPackageImpl theHardwaremodelingPackage = (HardwaremodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) instanceof HardwaremodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) : HardwaremodelingPackage.eINSTANCE);
+ SystemmodelingPackageImpl theSystemmodelingPackage = (SystemmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) instanceof SystemmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) : SystemmodelingPackage.eINSTANCE);
+ VehiclefeaturemodelingPackageImpl theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) instanceof VehiclefeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) : VehiclefeaturemodelingPackage.eINSTANCE);
+ FeaturemodelingPackageImpl theFeaturemodelingPackage = (FeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) instanceof FeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) : FeaturemodelingPackage.eINSTANCE);
+ BehaviorPackageImpl theBehaviorPackage = (BehaviorPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) instanceof BehaviorPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) : BehaviorPackage.eINSTANCE);
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) : RequirementsPackage.eINSTANCE);
+ VerificationvalidationPackageImpl theVerificationvalidationPackage = (VerificationvalidationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) instanceof VerificationvalidationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) : VerificationvalidationPackage.eINSTANCE);
+ TimingPackageImpl theTimingPackage = (TimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) instanceof TimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) : TimingPackage.eINSTANCE);
+ TimingconstraintsPackageImpl theTimingconstraintsPackage = (TimingconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) instanceof TimingconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) : TimingconstraintsPackage.eINSTANCE);
+ EventsPackageImpl theEventsPackage = (EventsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+ InterchangePackageImpl theInterchangePackage = (InterchangePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) instanceof InterchangePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) : InterchangePackage.eINSTANCE);
+ EnvironmentPackageImpl theEnvironmentPackage = (EnvironmentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) instanceof EnvironmentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) : EnvironmentPackage.eINSTANCE);
+ DependabilityPackageImpl theDependabilityPackage = (DependabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) instanceof DependabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) : DependabilityPackage.eINSTANCE);
+ ErrormodelPackageImpl theErrormodelPackage = (ErrormodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) instanceof ErrormodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) : ErrormodelPackage.eINSTANCE);
+ SafetyrequirementPackageImpl theSafetyrequirementPackage = (SafetyrequirementPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) instanceof SafetyrequirementPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) : SafetyrequirementPackage.eINSTANCE);
+ SafetyconstraintsPackageImpl theSafetyconstraintsPackage = (SafetyconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) instanceof SafetyconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) : SafetyconstraintsPackage.eINSTANCE);
+ SafetycasePackageImpl theSafetycasePackage = (SafetycasePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) instanceof SafetycasePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) : SafetycasePackage.eINSTANCE);
+ AnnexPackageImpl theAnnexPackage = (AnnexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) instanceof AnnexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) : AnnexPackage.eINSTANCE);
+ NeedsPackageImpl theNeedsPackage = (NeedsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) instanceof NeedsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) : NeedsPackage.eINSTANCE);
+ GenericconstraintsPackageImpl theGenericconstraintsPackage = (GenericconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) instanceof GenericconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) : GenericconstraintsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theInfrastructurePackage.createPackageContents();
+ theEastadlPackage.createPackageContents();
+ theVariabilityPackage.createPackageContents();
+ theDatatypesPackage.createPackageContents();
+ theUserattributesPackage.createPackageContents();
+ theElementsPackage.createPackageContents();
+ theStructurePackage.createPackageContents();
+ theFunctionmodelingPackage.createPackageContents();
+ theHardwaremodelingPackage.createPackageContents();
+ theSystemmodelingPackage.createPackageContents();
+ theVehiclefeaturemodelingPackage.createPackageContents();
+ theFeaturemodelingPackage.createPackageContents();
+ theBehaviorPackage.createPackageContents();
+ theRequirementsPackage.createPackageContents();
+ theVerificationvalidationPackage.createPackageContents();
+ theTimingPackage.createPackageContents();
+ theTimingconstraintsPackage.createPackageContents();
+ theEventsPackage.createPackageContents();
+ theInterchangePackage.createPackageContents();
+ theEnvironmentPackage.createPackageContents();
+ theDependabilityPackage.createPackageContents();
+ theErrormodelPackage.createPackageContents();
+ theSafetyrequirementPackage.createPackageContents();
+ theSafetyconstraintsPackage.createPackageContents();
+ theSafetycasePackage.createPackageContents();
+ theAnnexPackage.createPackageContents();
+ theNeedsPackage.createPackageContents();
+ theGenericconstraintsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theInfrastructurePackage.initializePackageContents();
+ theEastadlPackage.initializePackageContents();
+ theVariabilityPackage.initializePackageContents();
+ theDatatypesPackage.initializePackageContents();
+ theUserattributesPackage.initializePackageContents();
+ theElementsPackage.initializePackageContents();
+ theStructurePackage.initializePackageContents();
+ theFunctionmodelingPackage.initializePackageContents();
+ theHardwaremodelingPackage.initializePackageContents();
+ theSystemmodelingPackage.initializePackageContents();
+ theVehiclefeaturemodelingPackage.initializePackageContents();
+ theFeaturemodelingPackage.initializePackageContents();
+ theBehaviorPackage.initializePackageContents();
+ theRequirementsPackage.initializePackageContents();
+ theVerificationvalidationPackage.initializePackageContents();
+ theTimingPackage.initializePackageContents();
+ theTimingconstraintsPackage.initializePackageContents();
+ theEventsPackage.initializePackageContents();
+ theInterchangePackage.initializePackageContents();
+ theEnvironmentPackage.initializePackageContents();
+ theDependabilityPackage.initializePackageContents();
+ theErrormodelPackage.initializePackageContents();
+ theSafetyrequirementPackage.initializePackageContents();
+ theSafetyconstraintsPackage.initializePackageContents();
+ theSafetycasePackage.initializePackageContents();
+ theAnnexPackage.initializePackageContents();
+ theNeedsPackage.initializePackageContents();
+ theGenericconstraintsPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theInfrastructurePackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(InfrastructurePackage.eNS_URI, theInfrastructurePackage);
+ return theInfrastructurePackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * 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.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private InfrastructurePackageImpl() {
+ super(eNS_URI, InfrastructureFactory.eINSTANCE);
+ }
+
+ /**
+ * 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 data types
+ dummyEDataType = createEDataType(DUMMY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EDataType getDummy() {
+ return dummyEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InfrastructureFactory getInfrastructureFactory() {
+ return (InfrastructureFactory)getEFactoryInstance();
+ }
+
+ /**
+ * 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
+ DatatypesPackage theDatatypesPackage = (DatatypesPackage)EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI);
+ UserattributesPackage theUserattributesPackage = (UserattributesPackage)EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI);
+ ElementsPackage theElementsPackage = (ElementsPackage)EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI);
+
+ // Add subpackages
+ getESubpackages().add(theDatatypesPackage);
+ getESubpackages().add(theUserattributesPackage);
+ getESubpackages().add(theElementsPackage);
+
+ // Initialize data types
+ initEDataType(dummyEDataType, String.class, "Dummy", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+ }
+
+} //InfrastructurePackageImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/UserAttributeDefinition.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/UserAttributeDefinition.java
new file mode 100644
index 00000000000..5ee051d9089
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/UserAttributeDefinition.java
@@ -0,0 +1,155 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.userattributes;
+
+
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatype;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.uml2.uml.Property;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>User Attribute Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * UserAttributeDefinition represents a user attribute, i.e. it states that all UserAttributeableElements of a certain UserAttributeElementType are to be attached with an attribute identified by 'key'. For example, it can be specified that certain elements should be amended with an attribute "Status".
+ *
+ * Extension:
+ * Class, Property
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeDefinition#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeDefinition#getDefaultValue <em>Default Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeDefinition#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeDefinition#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage#getUserAttributeDefinition()
+ * @model
+ * @generated
+ */
+public interface UserAttributeDefinition extends EAElement {
+ /**
+ * 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.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage#getUserAttributeDefinition_Base_Class()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeDefinition#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>Default Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Default Value</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Default Value</em>' attribute.
+ * @see #setDefaultValue(String)
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage#getUserAttributeDefinition_DefaultValue()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" ordered="false"
+ * @generated
+ */
+ String getDefaultValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeDefinition#getDefaultValue <em>Default Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Default Value</em>' attribute.
+ * @see #getDefaultValue()
+ * @generated
+ */
+ void setDefaultValue(String value);
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Type</em>' reference.
+ * @see #setType(EADatatype)
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage#getUserAttributeDefinition_Type()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EADatatype getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeDefinition#getType <em>Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' reference.
+ * @see #getType()
+ * @generated
+ */
+ void setType(EADatatype 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.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage#getUserAttributeDefinition_Base_Property()
+ * @model ordered="false"
+ * @generated
+ */
+ Property getBase_Property();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeDefinition#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);
+
+} // UserAttributeDefinition
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/UserAttributeElementType.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/UserAttributeElementType.java
new file mode 100644
index 00000000000..da2780a70d3
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/UserAttributeElementType.java
@@ -0,0 +1,149 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.userattributes;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>User Attribute Element Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * UserAttributeElementType represents a certain, user-defined type of user attributeable elements. With such a type, one or more user attributes can be defined for all user attributeable elements of that type.
+ *
+ * For example, engineers at Volkswagen could create a UserAttributeElementType called "VWFunction" with a single user attribute definition. That way, all FunctionTypes for which "VWFunction" is defined as the UserAttributeElementType via association uaType will have the corresponding user attribute.
+ *
+ * User attribute element types can be compared to stereotypes in UML2, but are less rigidly defined.
+ *
+ * Extension:
+ * Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeElementType#getExtendedElementType <em>Extended Element Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeElementType#getAttribute <em>Attribute</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeElementType#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeElementType#getValidFor <em>Valid For</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage#getUserAttributeElementType()
+ * @model
+ * @generated
+ */
+public interface UserAttributeElementType extends EAElement {
+ /**
+ * Returns the value of the '<em><b>Attribute</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeDefinition}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The attributes defined for this type.
+ *
+ * Note that also inherited attribute definitions need to be taken into account.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Attribute</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage#getUserAttributeElementType_Attribute()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<UserAttributeDefinition> getAttribute();
+
+ /**
+ * 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.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage#getUserAttributeElementType_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeElementType#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>Extended Element Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The UAElementTypes this type is inheriting from.
+ *
+ * When UAElementType ET2 inherits from type ET1, then this means that all attributes defined for ET1 by way of UserAttributeDefinitions are available whenever ET2 is specified as the type of a user attributeable element (in addition to those directly defined in ET2). This includes UserAttributeDefinitions which ET1 itself may inherit from other types.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Extended Element Type</em>' reference.
+ * @see #setExtendedElementType(UserAttributeElementType)
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage#getUserAttributeElementType_ExtendedElementType()
+ * @model ordered="false"
+ * @generated
+ */
+ UserAttributeElementType getExtendedElementType();
+
+ /**
+ * Returns the value of the '<em><b>Valid For</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Valid For</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Valid For</em>' attribute.
+ * @see #setValidFor(String)
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage#getUserAttributeElementType_ValidFor()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" ordered="false"
+ * @generated
+ */
+ String getValidFor();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeElementType#getExtendedElementType <em>Extended Element Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Extended Element Type</em>' reference.
+ * @see #getExtendedElementType()
+ * @generated
+ */
+ void setExtendedElementType(UserAttributeElementType value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeElementType#getValidFor <em>Valid For</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Valid For</em>' attribute.
+ * @see #getValidFor()
+ * @generated
+ */
+ void setValidFor(String value);
+
+} // UserAttributeElementType
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/UserAttributeValue.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/UserAttributeValue.java
new file mode 100644
index 00000000000..c3579260c24
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/UserAttributeValue.java
@@ -0,0 +1,158 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.userattributes;
+
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.uml2.uml.Property;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>User Attribute Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * UserAttributeValue represents a specific value for a certain user attribute. User attributes are simple key/value pairs which can be attached to all UserAttributeableElements. Each user attribute is identified by a globally unique key.
+ *
+ * In principle, there is no restriction which user attributes, i.e. keys, may be attached to a particular element and what strings may be used as value (cf. class UserAttributeableElement). However, user attribute definitions can be used to define a set of legal values for a particular key (see class UserAttributeDefinition) and user attribute element types can be used to state what attributes, i.e. keys, may or should be attached to elements of certain types (cf. class UserAttributeElementType).
+ *
+ * The actual value is captured in attribute 'value' and is always represented as a string.
+ *
+ * Extension:
+ * Class, Property
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeValue#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeValue#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeValue#getBase_Property <em>Base Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeValue#getDefinition <em>Definition</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage#getUserAttributeValue()
+ * @model
+ * @generated
+ */
+public interface UserAttributeValue extends EAElement {
+ /**
+ * 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.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage#getUserAttributeValue_Base_Class()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeValue#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>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' reference 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.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage#getUserAttributeValue_Value()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Returns the value of the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Definition</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Definition</em>' reference.
+ * @see #setDefinition(UserAttributeDefinition)
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage#getUserAttributeValue_Definition()
+ * @model ordered="false"
+ * @generated
+ */
+ UserAttributeDefinition getDefinition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeValue#getDefinition <em>Definition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Definition</em>' reference.
+ * @see #getDefinition()
+ * @generated
+ */
+ void setDefinition(UserAttributeDefinition value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeValue#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 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.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage#getUserAttributeValue_Base_Property()
+ * @model ordered="false"
+ * @generated
+ */
+ Property getBase_Property();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeValue#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);
+
+} // UserAttributeValue
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/UserAttributeableElement.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/UserAttributeableElement.java
new file mode 100644
index 00000000000..0fbe783d378
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/UserAttributeableElement.java
@@ -0,0 +1,136 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.userattributes;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>User Attributeable Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * UserAttributableElement represents an element to which user attributes can be attached. This is done by way of UserAttributeValues (see association 'uaValues'). What user attributes a certain element should be supplied with can be defined beforehand with UserAttributeDefinitions which are organized in UserAttributeElementTypes (see association 'uaTypes').
+ *
+ * IMPORTANT: It is technically possible and legal to attach any key/value pair, even if this is in conflict with the attribute definitions of the UserAttributeElementTypes of this UserAttributeableElement (as defined by association 'uaTypes'). All implementations of this information model must expect such attribute definition violations. The reason for this is that (1) the attribute definitions and the types they define for the attributes are only meant as a guideline for working with user attributes on the modeling level, not as an implementation level type system and (2) this convention avoids a multitude of intricate problems when editing a model's user attribute definitions or values, which significantly simplifies implementation.
+ *
+ *
+ * Extension:
+ * NamedElement
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeableElement#getUaValue <em>Ua Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeableElement#getUaType <em>Ua Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeableElement#getAttributedElement <em>Attributed Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeableElement#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage#getUserAttributeableElement()
+ * @model
+ * @generated
+ */
+public interface UserAttributeableElement extends EObject {
+ /**
+ * Returns the value of the '<em><b>Ua Type</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeElementType}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The UAElementTypes of this user attirbuteable element.
+ *
+ * It is possible to provide more than one type. In that case, the UserAttributeDefinitions of all UAElementTypes apply. If there are several attribute definitions with an identical 'key', then the corresponding user attribute will be applied only once.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Ua Type</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage#getUserAttributeableElement_UaType()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<UserAttributeElementType> getUaType();
+
+ /**
+ * Returns the value of the '<em><b>Attributed Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Attributed Element</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Attributed Element</em>' reference.
+ * @see #setAttributedElement(NamedElement)
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage#getUserAttributeableElement_AttributedElement()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ NamedElement getAttributedElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeableElement#getAttributedElement <em>Attributed Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Attributed Element</em>' reference.
+ * @see #getAttributedElement()
+ * @generated
+ */
+ void setAttributedElement(NamedElement value);
+
+ /**
+ * Returns the value of the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Named Element</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 Named Element</em>' reference.
+ * @see #setBase_NamedElement(NamedElement)
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage#getUserAttributeableElement_Base_NamedElement()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ NamedElement getBase_NamedElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeableElement#getBase_NamedElement <em>Base Named Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Named Element</em>' reference.
+ * @see #getBase_NamedElement()
+ * @generated
+ */
+ void setBase_NamedElement(NamedElement value);
+
+ /**
+ * Returns the value of the '<em><b>Ua Value</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeValue}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The user attribute values, i.e. key-value pairs, which are attached to this element.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Ua Value</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage#getUserAttributeableElement_UaValue()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<UserAttributeValue> getUaValue();
+
+} // UserAttributeableElement
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/UserattributesFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/UserattributesFactory.java
new file mode 100644
index 00000000000..a0963b0add7
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/UserattributesFactory.java
@@ -0,0 +1,82 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.userattributes;
+
+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.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage
+ * @generated
+ */
+public interface UserattributesFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ UserattributesFactory eINSTANCE = org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>User Attribute Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>User Attribute Definition</em>'.
+ * @generated
+ */
+ UserAttributeDefinition createUserAttributeDefinition();
+
+ /**
+ * Returns a new object of class '<em>User Attributeable Element</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>User Attributeable Element</em>'.
+ * @generated
+ */
+ UserAttributeableElement createUserAttributeableElement();
+
+ /**
+ * Returns a new object of class '<em>User Attribute Element Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>User Attribute Element Type</em>'.
+ * @generated
+ */
+ UserAttributeElementType createUserAttributeElementType();
+
+ /**
+ * Returns a new object of class '<em>User Attribute Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>User Attribute Value</em>'.
+ * @generated
+ */
+ UserAttributeValue createUserAttributeValue();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ UserattributesPackage getUserattributesPackage();
+
+} //UserattributesFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/UserattributesPackage.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/UserattributesPackage.java
new file mode 100644
index 00000000000..48658dc05c4
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/UserattributesPackage.java
@@ -0,0 +1,791 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.userattributes;
+
+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.eastadl.infrastructure.elements.ElementsPackage;
+
+
+/**
+ * <!-- 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 -->
+ * <!-- begin-model-doc -->
+ * User attributes in EAST-ADL2 are primarily intended to provide a mechanism for augmenting the elements of an EAST-ADL2 model with customized meta-information. All instances of metaclass ADLEntity can have user attributes attached to them. The scope and structuring of this meta-information can be defined on a per-project basis by defining user attributes for certain types of EAST-ADL2 elements within UATemplates.
+ * Since EAST-ADL2 requirements are in their most general form simple objects with all information contained in user-customized, project-specific attributes, the concept of user attributes is also perfectly suitable to define those attributes of requirements. In that sense, basic requirements in EAST-ADL2 can be seen as "empty" elements which only provide a node to which user attributes can be attached in order to supply the requirement with all necessary information, including its main textual description. However, in case of requirements the context in which the available user attributes are defined is different: here the container of the requirements is the point where user attribute definitions are store and these are then applicable only within this container.
+ * The role of user attributes within the overall EAST-ADL2 is thus twofold: they (1) provide a means to customize the language to specific company and project needs and (2) constitute an important part of the requirements support of the language.
+ * The mechanism of user attributes was optimized for flexibility and simplicity. In particular, the actual attributes attached to an element and/or their values may well conflict the attribute definitions in effect for this element. For example, it is perfectly legal to not provide an attribute value if an attribute definition was specified or, the other way round, to provide a value for an undefined attribute. The attribute definitions are merely meant as a guideline for the engineer and as a basis for optionally checking if all attribute values are correct with respect to attribute definitions (by way of appropriate tool support). With this conception of attribute values and definitions, many intricacies and difficult situations during the creation and evolution of a model are circumvented and complex interdependencies between parts of the model are avoided. For example, it is made sure that a model and all its user attribute values can be safely viewed and edited even if the attribute definitions (i.e. UATemplates) for the model are temporarily unavailable or permanently lost.
+ *
+ * Overview:
+ * The stereotypes defined in this subprofile provide a set of constructs to help user define their own attributes. The core construct in EAST-ADL2, the ADLEntity, inherits from UserAttributableElement stereotype so that virtually any types of EAST-ADL2 entities might be enhanced with user-defined attributes. Of course in a UML model one is allowed to add attributes to the classes and UML elements on which stereotypes are applied, yet this mechanism enables to distinguish between attributes meant to be interpreted as compliant with EASt-ADL2 language and other if any.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface UserattributesPackage extends EPackage {
+ /**
+ * <!-- 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.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeElementTypeImpl <em>User Attribute Element Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeElementTypeImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl#getUserAttributeElementType()
+ * @generated
+ */
+ EClass USER_ATTRIBUTE_ELEMENT_TYPE = eINSTANCE.getUserAttributeElementType();
+
+ /**
+ * The meta object literal for the '<em><b>Extended Element Type</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference USER_ATTRIBUTE_ELEMENT_TYPE__EXTENDED_ELEMENT_TYPE = eINSTANCE.getUserAttributeElementType_ExtendedElementType();
+
+ /**
+ * The meta object literal for the '<em><b>Attribute</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference USER_ATTRIBUTE_ELEMENT_TYPE__ATTRIBUTE = eINSTANCE.getUserAttributeElementType_Attribute();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference USER_ATTRIBUTE_ELEMENT_TYPE__BASE_CLASS = eINSTANCE.getUserAttributeElementType_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Valid For</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute USER_ATTRIBUTE_ELEMENT_TYPE__VALID_FOR = eINSTANCE.getUserAttributeElementType_ValidFor();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeDefinitionImpl <em>User Attribute Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeDefinitionImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl#getUserAttributeDefinition()
+ * @generated
+ */
+ EClass USER_ATTRIBUTE_DEFINITION = eINSTANCE.getUserAttributeDefinition();
+
+ /**
+ * The meta object literal for the '<em><b>Base Property</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference USER_ATTRIBUTE_DEFINITION__BASE_PROPERTY = eINSTANCE.getUserAttributeDefinition_Base_Property();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference USER_ATTRIBUTE_DEFINITION__BASE_CLASS = eINSTANCE.getUserAttributeDefinition_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Default Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute USER_ATTRIBUTE_DEFINITION__DEFAULT_VALUE = eINSTANCE.getUserAttributeDefinition_DefaultValue();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference USER_ATTRIBUTE_DEFINITION__TYPE = eINSTANCE.getUserAttributeDefinition_Type();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeableElementImpl <em>User Attributeable Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeableElementImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl#getUserAttributeableElement()
+ * @generated
+ */
+ EClass USER_ATTRIBUTEABLE_ELEMENT = eINSTANCE.getUserAttributeableElement();
+
+ /**
+ * The meta object literal for the '<em><b>Ua Value</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference USER_ATTRIBUTEABLE_ELEMENT__UA_VALUE = eINSTANCE.getUserAttributeableElement_UaValue();
+
+ /**
+ * The meta object literal for the '<em><b>Ua Type</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference USER_ATTRIBUTEABLE_ELEMENT__UA_TYPE = eINSTANCE.getUserAttributeableElement_UaType();
+
+ /**
+ * The meta object literal for the '<em><b>Attributed Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference USER_ATTRIBUTEABLE_ELEMENT__ATTRIBUTED_ELEMENT = eINSTANCE.getUserAttributeableElement_AttributedElement();
+
+ /**
+ * The meta object literal for the '<em><b>Base Named Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference USER_ATTRIBUTEABLE_ELEMENT__BASE_NAMED_ELEMENT = eINSTANCE.getUserAttributeableElement_Base_NamedElement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeValueImpl <em>User Attribute Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeValueImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl#getUserAttributeValue()
+ * @generated
+ */
+ EClass USER_ATTRIBUTE_VALUE = eINSTANCE.getUserAttributeValue();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference USER_ATTRIBUTE_VALUE__BASE_CLASS = eINSTANCE.getUserAttributeValue_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute USER_ATTRIBUTE_VALUE__VALUE = eINSTANCE.getUserAttributeValue_Value();
+
+ /**
+ * The meta object literal for the '<em><b>Base Property</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference USER_ATTRIBUTE_VALUE__BASE_PROPERTY = eINSTANCE.getUserAttributeValue_Base_Property();
+
+ /**
+ * The meta object literal for the '<em><b>Definition</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference USER_ATTRIBUTE_VALUE__DEFINITION = eINSTANCE.getUserAttributeValue_Definition();
+
+ }
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "userattributes";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.papyrusuml.org/EAST-ADL2/Infrastructure/UserAttributes/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "UserAttributes";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ UserattributesPackage eINSTANCE = org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeableElementImpl <em>User Attributeable Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeableElementImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl#getUserAttributeableElement()
+ * @generated
+ */
+ int USER_ATTRIBUTEABLE_ELEMENT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeElementTypeImpl <em>User Attribute Element Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeElementTypeImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl#getUserAttributeElementType()
+ * @generated
+ */
+ int USER_ATTRIBUTE_ELEMENT_TYPE = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeDefinitionImpl <em>User Attribute Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeDefinitionImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl#getUserAttributeDefinition()
+ * @generated
+ */
+ int USER_ATTRIBUTE_DEFINITION = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeValueImpl <em>User Attribute Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeValueImpl
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl#getUserAttributeValue()
+ * @generated
+ */
+ int USER_ATTRIBUTE_VALUE = 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_ATTRIBUTE_ELEMENT_TYPE__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_ATTRIBUTE_ELEMENT_TYPE__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_ATTRIBUTE_ELEMENT_TYPE__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Extended Element Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_ATTRIBUTE_ELEMENT_TYPE__EXTENDED_ELEMENT_TYPE = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_ATTRIBUTE_ELEMENT_TYPE__ATTRIBUTE = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_ATTRIBUTE_ELEMENT_TYPE__BASE_CLASS = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Valid For</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_ATTRIBUTE_ELEMENT_TYPE__VALID_FOR = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>User Attribute Element Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_ATTRIBUTE_ELEMENT_TYPE_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_ATTRIBUTE_DEFINITION__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_ATTRIBUTE_DEFINITION__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_ATTRIBUTE_DEFINITION__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_ATTRIBUTE_DEFINITION__BASE_CLASS = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Default Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_ATTRIBUTE_DEFINITION__DEFAULT_VALUE = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_ATTRIBUTE_DEFINITION__TYPE = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_ATTRIBUTE_DEFINITION__BASE_PROPERTY = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>User Attribute Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_ATTRIBUTE_DEFINITION_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Ua Value</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_ATTRIBUTEABLE_ELEMENT__UA_VALUE = 0;
+
+ /**
+ * The feature id for the '<em><b>Ua Type</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_ATTRIBUTEABLE_ELEMENT__UA_TYPE = 1;
+
+ /**
+ * The feature id for the '<em><b>Attributed Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_ATTRIBUTEABLE_ELEMENT__ATTRIBUTED_ELEMENT = 2;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_ATTRIBUTEABLE_ELEMENT__BASE_NAMED_ELEMENT = 3;
+
+ /**
+ * The number of structural features of the '<em>User Attributeable Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_ATTRIBUTEABLE_ELEMENT_FEATURE_COUNT = 4;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_ATTRIBUTE_VALUE__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_ATTRIBUTE_VALUE__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_ATTRIBUTE_VALUE__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_ATTRIBUTE_VALUE__BASE_CLASS = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_ATTRIBUTE_VALUE__VALUE = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_ATTRIBUTE_VALUE__BASE_PROPERTY = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_ATTRIBUTE_VALUE__DEFINITION = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>User Attribute Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_ATTRIBUTE_VALUE_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeableElement <em>User Attributeable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>User Attributeable Element</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeableElement
+ * @generated
+ */
+ EClass getUserAttributeableElement();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeableElement#getUaType <em>Ua Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Ua Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeableElement#getUaType()
+ * @see #getUserAttributeableElement()
+ * @generated
+ */
+ EReference getUserAttributeableElement_UaType();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeableElement#getAttributedElement <em>Attributed Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Attributed Element</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeableElement#getAttributedElement()
+ * @see #getUserAttributeableElement()
+ * @generated
+ */
+ EReference getUserAttributeableElement_AttributedElement();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeableElement#getBase_NamedElement <em>Base Named Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Named Element</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeableElement#getBase_NamedElement()
+ * @see #getUserAttributeableElement()
+ * @generated
+ */
+ EReference getUserAttributeableElement_Base_NamedElement();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeableElement#getUaValue <em>Ua Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Ua Value</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeableElement#getUaValue()
+ * @see #getUserAttributeableElement()
+ * @generated
+ */
+ EReference getUserAttributeableElement_UaValue();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeDefinition <em>User Attribute Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>User Attribute Definition</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeDefinition
+ * @generated
+ */
+ EClass getUserAttributeDefinition();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeDefinition#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.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeDefinition#getBase_Class()
+ * @see #getUserAttributeDefinition()
+ * @generated
+ */
+ EReference getUserAttributeDefinition_Base_Class();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeDefinition#getDefaultValue <em>Default Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Default Value</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeDefinition#getDefaultValue()
+ * @see #getUserAttributeDefinition()
+ * @generated
+ */
+ EAttribute getUserAttributeDefinition_DefaultValue();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeDefinition#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeDefinition#getType()
+ * @see #getUserAttributeDefinition()
+ * @generated
+ */
+ EReference getUserAttributeDefinition_Type();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeDefinition#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.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeDefinition#getBase_Property()
+ * @see #getUserAttributeDefinition()
+ * @generated
+ */
+ EReference getUserAttributeDefinition_Base_Property();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeElementType <em>User Attribute Element Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>User Attribute Element Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeElementType
+ * @generated
+ */
+ EClass getUserAttributeElementType();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeElementType#getAttribute <em>Attribute</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Attribute</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeElementType#getAttribute()
+ * @see #getUserAttributeElementType()
+ * @generated
+ */
+ EReference getUserAttributeElementType_Attribute();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeElementType#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.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeElementType#getBase_Class()
+ * @see #getUserAttributeElementType()
+ * @generated
+ */
+ EReference getUserAttributeElementType_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeElementType#getExtendedElementType <em>Extended Element Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Extended Element Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeElementType#getExtendedElementType()
+ * @see #getUserAttributeElementType()
+ * @generated
+ */
+ EReference getUserAttributeElementType_ExtendedElementType();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeElementType#getValidFor <em>Valid For</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Valid For</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeElementType#getValidFor()
+ * @see #getUserAttributeElementType()
+ * @generated
+ */
+ EAttribute getUserAttributeElementType_ValidFor();
+
+ /**
+ * 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
+ */
+ UserattributesFactory getUserattributesFactory();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeValue <em>User Attribute Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>User Attribute Value</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeValue
+ * @generated
+ */
+ EClass getUserAttributeValue();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeValue#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.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeValue#getBase_Class()
+ * @see #getUserAttributeValue()
+ * @generated
+ */
+ EReference getUserAttributeValue_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeValue#getDefinition <em>Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Definition</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeValue#getDefinition()
+ * @see #getUserAttributeValue()
+ * @generated
+ */
+ EReference getUserAttributeValue_Definition();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeValue#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeValue#getValue()
+ * @see #getUserAttributeValue()
+ * @generated
+ */
+ EAttribute getUserAttributeValue_Value();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeValue#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.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeValue#getBase_Property()
+ * @see #getUserAttributeValue()
+ * @generated
+ */
+ EReference getUserAttributeValue_Base_Property();
+
+} //UserattributesPackage
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/impl/UserAttributeDefinitionImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/impl/UserAttributeDefinitionImpl.java
new file mode 100644
index 00000000000..42f6fb8f582
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/impl/UserAttributeDefinitionImpl.java
@@ -0,0 +1,357 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.userattributes.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.eastadl.infrastructure.datatypes.EADatatype;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeDefinition;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.uml2.uml.Property;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>User Attribute Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeDefinitionImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeDefinitionImpl#getDefaultValue <em>Default Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeDefinitionImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeDefinitionImpl#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class UserAttributeDefinitionImpl extends EAElementImpl implements UserAttributeDefinition {
+ /**
+ * 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 #getDefaultValue() <em>Default Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefaultValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String DEFAULT_VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDefaultValue() <em>Default Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefaultValue()
+ * @generated
+ * @ordered
+ */
+ protected String defaultValue = DEFAULT_VALUE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected EADatatype type;
+
+ /**
+ * 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 UserAttributeDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UserattributesPackage.USER_ATTRIBUTE_DEFINITION__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case UserattributesPackage.USER_ATTRIBUTE_DEFINITION__DEFAULT_VALUE:
+ return getDefaultValue();
+ case UserattributesPackage.USER_ATTRIBUTE_DEFINITION__TYPE:
+ if (resolve) return getType();
+ return basicGetType();
+ case UserattributesPackage.USER_ATTRIBUTE_DEFINITION__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 boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UserattributesPackage.USER_ATTRIBUTE_DEFINITION__BASE_CLASS:
+ return base_Class != null;
+ case UserattributesPackage.USER_ATTRIBUTE_DEFINITION__DEFAULT_VALUE:
+ return DEFAULT_VALUE_EDEFAULT == null ? defaultValue != null : !DEFAULT_VALUE_EDEFAULT.equals(defaultValue);
+ case UserattributesPackage.USER_ATTRIBUTE_DEFINITION__TYPE:
+ return type != null;
+ case UserattributesPackage.USER_ATTRIBUTE_DEFINITION__BASE_PROPERTY:
+ return base_Property != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UserattributesPackage.USER_ATTRIBUTE_DEFINITION__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case UserattributesPackage.USER_ATTRIBUTE_DEFINITION__DEFAULT_VALUE:
+ setDefaultValue((String)newValue);
+ return;
+ case UserattributesPackage.USER_ATTRIBUTE_DEFINITION__TYPE:
+ setType((EADatatype)newValue);
+ return;
+ case UserattributesPackage.USER_ATTRIBUTE_DEFINITION__BASE_PROPERTY:
+ setBase_Property((Property)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UserattributesPackage.Literals.USER_ATTRIBUTE_DEFINITION;
+ }
+
+ /**
+ * <!-- 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, UserattributesPackage.USER_ATTRIBUTE_DEFINITION__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, UserattributesPackage.USER_ATTRIBUTE_DEFINITION__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UserattributesPackage.USER_ATTRIBUTE_DEFINITION__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case UserattributesPackage.USER_ATTRIBUTE_DEFINITION__DEFAULT_VALUE:
+ setDefaultValue(DEFAULT_VALUE_EDEFAULT);
+ return;
+ case UserattributesPackage.USER_ATTRIBUTE_DEFINITION__TYPE:
+ setType((EADatatype)null);
+ return;
+ case UserattributesPackage.USER_ATTRIBUTE_DEFINITION__BASE_PROPERTY:
+ setBase_Property((Property)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDefaultValue() {
+ return defaultValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDefaultValue(String newDefaultValue) {
+ String oldDefaultValue = defaultValue;
+ defaultValue = newDefaultValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UserattributesPackage.USER_ATTRIBUTE_DEFINITION__DEFAULT_VALUE, oldDefaultValue, defaultValue));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EADatatype getType() {
+ if (type != null && type.eIsProxy()) {
+ InternalEObject oldType = (InternalEObject)type;
+ type = (EADatatype)eResolveProxy(oldType);
+ if (type != oldType) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, UserattributesPackage.USER_ATTRIBUTE_DEFINITION__TYPE, oldType, type));
+ }
+ }
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EADatatype basicGetType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(EADatatype newType) {
+ EADatatype oldType = type;
+ type = newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UserattributesPackage.USER_ATTRIBUTE_DEFINITION__TYPE, oldType, type));
+ }
+
+ /**
+ * <!-- 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, UserattributesPackage.USER_ATTRIBUTE_DEFINITION__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, UserattributesPackage.USER_ATTRIBUTE_DEFINITION__BASE_PROPERTY, oldBase_Property, base_Property));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (defaultValue: ");
+ result.append(defaultValue);
+ result.append(')');
+ return result.toString();
+ }
+
+} //UserAttributeDefinitionImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/impl/UserAttributeElementTypeImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/impl/UserAttributeElementTypeImpl.java
new file mode 100644
index 00000000000..eeab692e75c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/impl/UserAttributeElementTypeImpl.java
@@ -0,0 +1,335 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.userattributes.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.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeDefinition;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeElementType;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>User Attribute Element Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeElementTypeImpl#getExtendedElementType <em>Extended Element Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeElementTypeImpl#getAttribute <em>Attribute</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeElementTypeImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeElementTypeImpl#getValidFor <em>Valid For</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class UserAttributeElementTypeImpl extends EAElementImpl implements UserAttributeElementType {
+ /**
+ * The cached value of the '{@link #getExtendedElementType() <em>Extended Element Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExtendedElementType()
+ * @generated
+ * @ordered
+ */
+ protected UserAttributeElementType extendedElementType;
+
+ /**
+ * The cached value of the '{@link #getAttribute() <em>Attribute</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAttribute()
+ * @generated
+ * @ordered
+ */
+ protected EList<UserAttributeDefinition> attribute;
+
+ /**
+ * 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 #getValidFor() <em>Valid For</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValidFor()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALID_FOR_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValidFor() <em>Valid For</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValidFor()
+ * @generated
+ * @ordered
+ */
+ protected String validFor = VALID_FOR_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UserAttributeElementTypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UserAttributeElementType basicGetExtendedElementType() {
+ return extendedElementType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UserattributesPackage.USER_ATTRIBUTE_ELEMENT_TYPE__EXTENDED_ELEMENT_TYPE:
+ if (resolve) return getExtendedElementType();
+ return basicGetExtendedElementType();
+ case UserattributesPackage.USER_ATTRIBUTE_ELEMENT_TYPE__ATTRIBUTE:
+ return getAttribute();
+ case UserattributesPackage.USER_ATTRIBUTE_ELEMENT_TYPE__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case UserattributesPackage.USER_ATTRIBUTE_ELEMENT_TYPE__VALID_FOR:
+ return getValidFor();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UserattributesPackage.USER_ATTRIBUTE_ELEMENT_TYPE__EXTENDED_ELEMENT_TYPE:
+ return extendedElementType != null;
+ case UserattributesPackage.USER_ATTRIBUTE_ELEMENT_TYPE__ATTRIBUTE:
+ return attribute != null && !attribute.isEmpty();
+ case UserattributesPackage.USER_ATTRIBUTE_ELEMENT_TYPE__BASE_CLASS:
+ return base_Class != null;
+ case UserattributesPackage.USER_ATTRIBUTE_ELEMENT_TYPE__VALID_FOR:
+ return VALID_FOR_EDEFAULT == null ? validFor != null : !VALID_FOR_EDEFAULT.equals(validFor);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UserattributesPackage.USER_ATTRIBUTE_ELEMENT_TYPE__EXTENDED_ELEMENT_TYPE:
+ setExtendedElementType((UserAttributeElementType)newValue);
+ return;
+ case UserattributesPackage.USER_ATTRIBUTE_ELEMENT_TYPE__ATTRIBUTE:
+ getAttribute().clear();
+ getAttribute().addAll((Collection<? extends UserAttributeDefinition>)newValue);
+ return;
+ case UserattributesPackage.USER_ATTRIBUTE_ELEMENT_TYPE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case UserattributesPackage.USER_ATTRIBUTE_ELEMENT_TYPE__VALID_FOR:
+ setValidFor((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UserattributesPackage.Literals.USER_ATTRIBUTE_ELEMENT_TYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UserattributesPackage.USER_ATTRIBUTE_ELEMENT_TYPE__EXTENDED_ELEMENT_TYPE:
+ setExtendedElementType((UserAttributeElementType)null);
+ return;
+ case UserattributesPackage.USER_ATTRIBUTE_ELEMENT_TYPE__ATTRIBUTE:
+ getAttribute().clear();
+ return;
+ case UserattributesPackage.USER_ATTRIBUTE_ELEMENT_TYPE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case UserattributesPackage.USER_ATTRIBUTE_ELEMENT_TYPE__VALID_FOR:
+ setValidFor(VALID_FOR_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<UserAttributeDefinition> getAttribute() {
+ if (attribute == null) {
+ attribute = new EObjectResolvingEList<UserAttributeDefinition>(UserAttributeDefinition.class, this, UserattributesPackage.USER_ATTRIBUTE_ELEMENT_TYPE__ATTRIBUTE);
+ }
+ return attribute;
+ }
+
+ /**
+ * <!-- 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, UserattributesPackage.USER_ATTRIBUTE_ELEMENT_TYPE__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, UserattributesPackage.USER_ATTRIBUTE_ELEMENT_TYPE__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UserAttributeElementType getExtendedElementType() {
+ if (extendedElementType != null && extendedElementType.eIsProxy()) {
+ InternalEObject oldExtendedElementType = (InternalEObject)extendedElementType;
+ extendedElementType = (UserAttributeElementType)eResolveProxy(oldExtendedElementType);
+ if (extendedElementType != oldExtendedElementType) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, UserattributesPackage.USER_ATTRIBUTE_ELEMENT_TYPE__EXTENDED_ELEMENT_TYPE, oldExtendedElementType, extendedElementType));
+ }
+ }
+ return extendedElementType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValidFor() {
+ return validFor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExtendedElementType(UserAttributeElementType newExtendedElementType) {
+ UserAttributeElementType oldExtendedElementType = extendedElementType;
+ extendedElementType = newExtendedElementType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UserattributesPackage.USER_ATTRIBUTE_ELEMENT_TYPE__EXTENDED_ELEMENT_TYPE, oldExtendedElementType, extendedElementType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValidFor(String newValidFor) {
+ String oldValidFor = validFor;
+ validFor = newValidFor;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UserattributesPackage.USER_ATTRIBUTE_ELEMENT_TYPE__VALID_FOR, oldValidFor, validFor));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (validFor: ");
+ result.append(validFor);
+ result.append(')');
+ return result.toString();
+ }
+
+} //UserAttributeElementTypeImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/impl/UserAttributeValueImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/impl/UserAttributeValueImpl.java
new file mode 100644
index 00000000000..27c4381054d
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/impl/UserAttributeValueImpl.java
@@ -0,0 +1,357 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.userattributes.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.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeDefinition;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeValue;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.uml2.uml.Property;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>User Attribute Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeValueImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeValueImpl#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeValueImpl#getBase_Property <em>Base Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeValueImpl#getDefinition <em>Definition</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class UserAttributeValueImpl extends EAElementImpl implements UserAttributeValue {
+ /**
+ * 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 #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_Property() <em>Base Property</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Property()
+ * @generated
+ * @ordered
+ */
+ protected Property base_Property;
+
+ /**
+ * The cached value of the '{@link #getDefinition() <em>Definition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefinition()
+ * @generated
+ * @ordered
+ */
+ protected UserAttributeDefinition definition;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UserAttributeValueImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UserattributesPackage.USER_ATTRIBUTE_VALUE__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case UserattributesPackage.USER_ATTRIBUTE_VALUE__VALUE:
+ return getValue();
+ case UserattributesPackage.USER_ATTRIBUTE_VALUE__BASE_PROPERTY:
+ if (resolve) return getBase_Property();
+ return basicGetBase_Property();
+ case UserattributesPackage.USER_ATTRIBUTE_VALUE__DEFINITION:
+ if (resolve) return getDefinition();
+ return basicGetDefinition();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UserattributesPackage.USER_ATTRIBUTE_VALUE__BASE_CLASS:
+ return base_Class != null;
+ case UserattributesPackage.USER_ATTRIBUTE_VALUE__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ case UserattributesPackage.USER_ATTRIBUTE_VALUE__BASE_PROPERTY:
+ return base_Property != null;
+ case UserattributesPackage.USER_ATTRIBUTE_VALUE__DEFINITION:
+ return definition != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UserattributesPackage.USER_ATTRIBUTE_VALUE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case UserattributesPackage.USER_ATTRIBUTE_VALUE__VALUE:
+ setValue((String)newValue);
+ return;
+ case UserattributesPackage.USER_ATTRIBUTE_VALUE__BASE_PROPERTY:
+ setBase_Property((Property)newValue);
+ return;
+ case UserattributesPackage.USER_ATTRIBUTE_VALUE__DEFINITION:
+ setDefinition((UserAttributeDefinition)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UserattributesPackage.Literals.USER_ATTRIBUTE_VALUE;
+ }
+
+ /**
+ * <!-- 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, UserattributesPackage.USER_ATTRIBUTE_VALUE__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, UserattributesPackage.USER_ATTRIBUTE_VALUE__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UserattributesPackage.USER_ATTRIBUTE_VALUE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case UserattributesPackage.USER_ATTRIBUTE_VALUE__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ case UserattributesPackage.USER_ATTRIBUTE_VALUE__BASE_PROPERTY:
+ setBase_Property((Property)null);
+ return;
+ case UserattributesPackage.USER_ATTRIBUTE_VALUE__DEFINITION:
+ setDefinition((UserAttributeDefinition)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UserAttributeDefinition getDefinition() {
+ if (definition != null && definition.eIsProxy()) {
+ InternalEObject oldDefinition = (InternalEObject)definition;
+ definition = (UserAttributeDefinition)eResolveProxy(oldDefinition);
+ if (definition != oldDefinition) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, UserattributesPackage.USER_ATTRIBUTE_VALUE__DEFINITION, oldDefinition, definition));
+ }
+ }
+ return definition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UserAttributeDefinition basicGetDefinition() {
+ return definition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDefinition(UserAttributeDefinition newDefinition) {
+ UserAttributeDefinition oldDefinition = definition;
+ definition = newDefinition;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UserattributesPackage.USER_ATTRIBUTE_VALUE__DEFINITION, oldDefinition, definition));
+ }
+
+ /**
+ * <!-- 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, UserattributesPackage.USER_ATTRIBUTE_VALUE__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- 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, UserattributesPackage.USER_ATTRIBUTE_VALUE__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, UserattributesPackage.USER_ATTRIBUTE_VALUE__BASE_PROPERTY, oldBase_Property, base_Property));
+ }
+
+ /**
+ * <!-- 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();
+ }
+
+} //UserAttributeValueImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/impl/UserAttributeableElementImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/impl/UserAttributeableElementImpl.java
new file mode 100644
index 00000000000..897062db411
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/impl/UserAttributeableElementImpl.java
@@ -0,0 +1,303 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.userattributes.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.papyrus.eastadl.infrastructure.userattributes.UserAttributeElementType;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeValue;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.uml2.uml.NamedElement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>User Attributeable Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeableElementImpl#getUaValue <em>Ua Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeableElementImpl#getUaType <em>Ua Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeableElementImpl#getAttributedElement <em>Attributed Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserAttributeableElementImpl#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class UserAttributeableElementImpl extends EObjectImpl implements UserAttributeableElement {
+ /**
+ * The cached value of the '{@link #getUaValue() <em>Ua Value</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUaValue()
+ * @generated
+ * @ordered
+ */
+ protected EList<UserAttributeValue> uaValue;
+
+ /**
+ * The cached value of the '{@link #getUaType() <em>Ua Type</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUaType()
+ * @generated
+ * @ordered
+ */
+ protected EList<UserAttributeElementType> uaType;
+
+ /**
+ * The cached value of the '{@link #getAttributedElement() <em>Attributed Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAttributedElement()
+ * @generated
+ * @ordered
+ */
+ protected NamedElement attributedElement;
+
+ /**
+ * The cached value of the '{@link #getBase_NamedElement() <em>Base Named Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_NamedElement()
+ * @generated
+ * @ordered
+ */
+ protected NamedElement base_NamedElement;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UserAttributeableElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UserattributesPackage.USER_ATTRIBUTEABLE_ELEMENT__UA_VALUE:
+ return getUaValue();
+ case UserattributesPackage.USER_ATTRIBUTEABLE_ELEMENT__UA_TYPE:
+ return getUaType();
+ case UserattributesPackage.USER_ATTRIBUTEABLE_ELEMENT__ATTRIBUTED_ELEMENT:
+ if (resolve) return getAttributedElement();
+ return basicGetAttributedElement();
+ case UserattributesPackage.USER_ATTRIBUTEABLE_ELEMENT__BASE_NAMED_ELEMENT:
+ if (resolve) return getBase_NamedElement();
+ return basicGetBase_NamedElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UserattributesPackage.USER_ATTRIBUTEABLE_ELEMENT__UA_VALUE:
+ return uaValue != null && !uaValue.isEmpty();
+ case UserattributesPackage.USER_ATTRIBUTEABLE_ELEMENT__UA_TYPE:
+ return uaType != null && !uaType.isEmpty();
+ case UserattributesPackage.USER_ATTRIBUTEABLE_ELEMENT__ATTRIBUTED_ELEMENT:
+ return attributedElement != null;
+ case UserattributesPackage.USER_ATTRIBUTEABLE_ELEMENT__BASE_NAMED_ELEMENT:
+ return base_NamedElement != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UserattributesPackage.USER_ATTRIBUTEABLE_ELEMENT__UA_VALUE:
+ getUaValue().clear();
+ getUaValue().addAll((Collection<? extends UserAttributeValue>)newValue);
+ return;
+ case UserattributesPackage.USER_ATTRIBUTEABLE_ELEMENT__UA_TYPE:
+ getUaType().clear();
+ getUaType().addAll((Collection<? extends UserAttributeElementType>)newValue);
+ return;
+ case UserattributesPackage.USER_ATTRIBUTEABLE_ELEMENT__ATTRIBUTED_ELEMENT:
+ setAttributedElement((NamedElement)newValue);
+ return;
+ case UserattributesPackage.USER_ATTRIBUTEABLE_ELEMENT__BASE_NAMED_ELEMENT:
+ setBase_NamedElement((NamedElement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UserattributesPackage.Literals.USER_ATTRIBUTEABLE_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UserattributesPackage.USER_ATTRIBUTEABLE_ELEMENT__UA_VALUE:
+ getUaValue().clear();
+ return;
+ case UserattributesPackage.USER_ATTRIBUTEABLE_ELEMENT__UA_TYPE:
+ getUaType().clear();
+ return;
+ case UserattributesPackage.USER_ATTRIBUTEABLE_ELEMENT__ATTRIBUTED_ELEMENT:
+ setAttributedElement((NamedElement)null);
+ return;
+ case UserattributesPackage.USER_ATTRIBUTEABLE_ELEMENT__BASE_NAMED_ELEMENT:
+ setBase_NamedElement((NamedElement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<UserAttributeElementType> getUaType() {
+ if (uaType == null) {
+ uaType = new EObjectResolvingEList<UserAttributeElementType>(UserAttributeElementType.class, this, UserattributesPackage.USER_ATTRIBUTEABLE_ELEMENT__UA_TYPE);
+ }
+ return uaType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getAttributedElement() {
+ if (attributedElement != null && attributedElement.eIsProxy()) {
+ InternalEObject oldAttributedElement = (InternalEObject)attributedElement;
+ attributedElement = (NamedElement)eResolveProxy(oldAttributedElement);
+ if (attributedElement != oldAttributedElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, UserattributesPackage.USER_ATTRIBUTEABLE_ELEMENT__ATTRIBUTED_ELEMENT, oldAttributedElement, attributedElement));
+ }
+ }
+ return attributedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement basicGetAttributedElement() {
+ return attributedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAttributedElement(NamedElement newAttributedElement) {
+ NamedElement oldAttributedElement = attributedElement;
+ attributedElement = newAttributedElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UserattributesPackage.USER_ATTRIBUTEABLE_ELEMENT__ATTRIBUTED_ELEMENT, oldAttributedElement, attributedElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getBase_NamedElement() {
+ if (base_NamedElement != null && base_NamedElement.eIsProxy()) {
+ InternalEObject oldBase_NamedElement = (InternalEObject)base_NamedElement;
+ base_NamedElement = (NamedElement)eResolveProxy(oldBase_NamedElement);
+ if (base_NamedElement != oldBase_NamedElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, UserattributesPackage.USER_ATTRIBUTEABLE_ELEMENT__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+ }
+ }
+ return base_NamedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement basicGetBase_NamedElement() {
+ return base_NamedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_NamedElement(NamedElement newBase_NamedElement) {
+ NamedElement oldBase_NamedElement = base_NamedElement;
+ base_NamedElement = newBase_NamedElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UserattributesPackage.USER_ATTRIBUTEABLE_ELEMENT__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<UserAttributeValue> getUaValue() {
+ if (uaValue == null) {
+ uaValue = new EObjectResolvingEList<UserAttributeValue>(UserAttributeValue.class, this, UserattributesPackage.USER_ATTRIBUTEABLE_ELEMENT__UA_VALUE);
+ }
+ return uaValue;
+ }
+
+} //UserAttributeableElementImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/impl/UserattributesFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/impl/UserattributesFactoryImpl.java
new file mode 100644
index 00000000000..829d2fb3c00
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/impl/UserattributesFactoryImpl.java
@@ -0,0 +1,144 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.userattributes.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.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeDefinition;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeElementType;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeValue;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesFactory;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class UserattributesFactoryImpl extends EFactoryImpl implements UserattributesFactory {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static UserattributesPackage getPackage() {
+ return UserattributesPackage.eINSTANCE;
+ }
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static UserattributesFactory init() {
+ try {
+ UserattributesFactory theUserattributesFactory = (UserattributesFactory)EPackage.Registry.INSTANCE.getEFactory(UserattributesPackage.eNS_URI);
+ if (theUserattributesFactory != null) {
+ return theUserattributesFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new UserattributesFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UserattributesFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case UserattributesPackage.USER_ATTRIBUTE_ELEMENT_TYPE: return createUserAttributeElementType();
+ case UserattributesPackage.USER_ATTRIBUTE_DEFINITION: return createUserAttributeDefinition();
+ case UserattributesPackage.USER_ATTRIBUTEABLE_ELEMENT: return createUserAttributeableElement();
+ case UserattributesPackage.USER_ATTRIBUTE_VALUE: return createUserAttributeValue();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UserAttributeDefinition createUserAttributeDefinition() {
+ UserAttributeDefinitionImpl userAttributeDefinition = new UserAttributeDefinitionImpl();
+ return userAttributeDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UserAttributeableElement createUserAttributeableElement() {
+ UserAttributeableElementImpl userAttributeableElement = new UserAttributeableElementImpl();
+ return userAttributeableElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UserAttributeElementType createUserAttributeElementType() {
+ UserAttributeElementTypeImpl userAttributeElementType = new UserAttributeElementTypeImpl();
+ return userAttributeElementType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UserAttributeValue createUserAttributeValue() {
+ UserAttributeValueImpl userAttributeValue = new UserAttributeValueImpl();
+ return userAttributeValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UserattributesPackage getUserattributesPackage() {
+ return (UserattributesPackage)getEPackage();
+ }
+
+} //UserattributesFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/impl/UserattributesPackageImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/impl/UserattributesPackageImpl.java
new file mode 100644
index 00000000000..32e5551277c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/impl/UserattributesPackageImpl.java
@@ -0,0 +1,566 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.userattributes.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.eastadl.EastadlPackage;
+import org.eclipse.papyrus.eastadl.annex.AnnexPackage;
+import org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeDefinition;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeElementType;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeValue;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesFactory;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.StructurePackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class UserattributesPackageImpl extends EPackageImpl implements UserattributesPackage {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass userAttributeElementTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass userAttributeDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass userAttributeableElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass userAttributeValueEClass = null;
+
+ /**
+ * <!-- 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 UserattributesPackage#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 UserattributesPackage init() {
+ if (isInited) return (UserattributesPackage)EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI);
+
+ // Obtain or create and register package
+ UserattributesPackageImpl theUserattributesPackage = (UserattributesPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof UserattributesPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new UserattributesPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ SysmlPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EastadlPackageImpl theEastadlPackage = (EastadlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) instanceof EastadlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) : EastadlPackage.eINSTANCE);
+ VariabilityPackageImpl theVariabilityPackage = (VariabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) instanceof VariabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) : VariabilityPackage.eINSTANCE);
+ InfrastructurePackageImpl theInfrastructurePackage = (InfrastructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) instanceof InfrastructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) : InfrastructurePackage.eINSTANCE);
+ DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) instanceof DatatypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) : DatatypesPackage.eINSTANCE);
+ ElementsPackageImpl theElementsPackage = (ElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) instanceof ElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) : ElementsPackage.eINSTANCE);
+ StructurePackageImpl theStructurePackage = (StructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) instanceof StructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) : StructurePackage.eINSTANCE);
+ FunctionmodelingPackageImpl theFunctionmodelingPackage = (FunctionmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) instanceof FunctionmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) : FunctionmodelingPackage.eINSTANCE);
+ HardwaremodelingPackageImpl theHardwaremodelingPackage = (HardwaremodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) instanceof HardwaremodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) : HardwaremodelingPackage.eINSTANCE);
+ SystemmodelingPackageImpl theSystemmodelingPackage = (SystemmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) instanceof SystemmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) : SystemmodelingPackage.eINSTANCE);
+ VehiclefeaturemodelingPackageImpl theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) instanceof VehiclefeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) : VehiclefeaturemodelingPackage.eINSTANCE);
+ FeaturemodelingPackageImpl theFeaturemodelingPackage = (FeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) instanceof FeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) : FeaturemodelingPackage.eINSTANCE);
+ BehaviorPackageImpl theBehaviorPackage = (BehaviorPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) instanceof BehaviorPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) : BehaviorPackage.eINSTANCE);
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) : RequirementsPackage.eINSTANCE);
+ VerificationvalidationPackageImpl theVerificationvalidationPackage = (VerificationvalidationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) instanceof VerificationvalidationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) : VerificationvalidationPackage.eINSTANCE);
+ TimingPackageImpl theTimingPackage = (TimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) instanceof TimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) : TimingPackage.eINSTANCE);
+ TimingconstraintsPackageImpl theTimingconstraintsPackage = (TimingconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) instanceof TimingconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) : TimingconstraintsPackage.eINSTANCE);
+ EventsPackageImpl theEventsPackage = (EventsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+ InterchangePackageImpl theInterchangePackage = (InterchangePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) instanceof InterchangePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) : InterchangePackage.eINSTANCE);
+ EnvironmentPackageImpl theEnvironmentPackage = (EnvironmentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) instanceof EnvironmentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) : EnvironmentPackage.eINSTANCE);
+ DependabilityPackageImpl theDependabilityPackage = (DependabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) instanceof DependabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) : DependabilityPackage.eINSTANCE);
+ ErrormodelPackageImpl theErrormodelPackage = (ErrormodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) instanceof ErrormodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) : ErrormodelPackage.eINSTANCE);
+ SafetyrequirementPackageImpl theSafetyrequirementPackage = (SafetyrequirementPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) instanceof SafetyrequirementPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) : SafetyrequirementPackage.eINSTANCE);
+ SafetyconstraintsPackageImpl theSafetyconstraintsPackage = (SafetyconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) instanceof SafetyconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) : SafetyconstraintsPackage.eINSTANCE);
+ SafetycasePackageImpl theSafetycasePackage = (SafetycasePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) instanceof SafetycasePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) : SafetycasePackage.eINSTANCE);
+ AnnexPackageImpl theAnnexPackage = (AnnexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) instanceof AnnexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) : AnnexPackage.eINSTANCE);
+ NeedsPackageImpl theNeedsPackage = (NeedsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) instanceof NeedsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) : NeedsPackage.eINSTANCE);
+ GenericconstraintsPackageImpl theGenericconstraintsPackage = (GenericconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) instanceof GenericconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) : GenericconstraintsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theUserattributesPackage.createPackageContents();
+ theEastadlPackage.createPackageContents();
+ theVariabilityPackage.createPackageContents();
+ theInfrastructurePackage.createPackageContents();
+ theDatatypesPackage.createPackageContents();
+ theElementsPackage.createPackageContents();
+ theStructurePackage.createPackageContents();
+ theFunctionmodelingPackage.createPackageContents();
+ theHardwaremodelingPackage.createPackageContents();
+ theSystemmodelingPackage.createPackageContents();
+ theVehiclefeaturemodelingPackage.createPackageContents();
+ theFeaturemodelingPackage.createPackageContents();
+ theBehaviorPackage.createPackageContents();
+ theRequirementsPackage.createPackageContents();
+ theVerificationvalidationPackage.createPackageContents();
+ theTimingPackage.createPackageContents();
+ theTimingconstraintsPackage.createPackageContents();
+ theEventsPackage.createPackageContents();
+ theInterchangePackage.createPackageContents();
+ theEnvironmentPackage.createPackageContents();
+ theDependabilityPackage.createPackageContents();
+ theErrormodelPackage.createPackageContents();
+ theSafetyrequirementPackage.createPackageContents();
+ theSafetyconstraintsPackage.createPackageContents();
+ theSafetycasePackage.createPackageContents();
+ theAnnexPackage.createPackageContents();
+ theNeedsPackage.createPackageContents();
+ theGenericconstraintsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theUserattributesPackage.initializePackageContents();
+ theEastadlPackage.initializePackageContents();
+ theVariabilityPackage.initializePackageContents();
+ theInfrastructurePackage.initializePackageContents();
+ theDatatypesPackage.initializePackageContents();
+ theElementsPackage.initializePackageContents();
+ theStructurePackage.initializePackageContents();
+ theFunctionmodelingPackage.initializePackageContents();
+ theHardwaremodelingPackage.initializePackageContents();
+ theSystemmodelingPackage.initializePackageContents();
+ theVehiclefeaturemodelingPackage.initializePackageContents();
+ theFeaturemodelingPackage.initializePackageContents();
+ theBehaviorPackage.initializePackageContents();
+ theRequirementsPackage.initializePackageContents();
+ theVerificationvalidationPackage.initializePackageContents();
+ theTimingPackage.initializePackageContents();
+ theTimingconstraintsPackage.initializePackageContents();
+ theEventsPackage.initializePackageContents();
+ theInterchangePackage.initializePackageContents();
+ theEnvironmentPackage.initializePackageContents();
+ theDependabilityPackage.initializePackageContents();
+ theErrormodelPackage.initializePackageContents();
+ theSafetyrequirementPackage.initializePackageContents();
+ theSafetyconstraintsPackage.initializePackageContents();
+ theSafetycasePackage.initializePackageContents();
+ theAnnexPackage.initializePackageContents();
+ theNeedsPackage.initializePackageContents();
+ theGenericconstraintsPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theUserattributesPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(UserattributesPackage.eNS_URI, theUserattributesPackage);
+ return theUserattributesPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * 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.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private UserattributesPackageImpl() {
+ super(eNS_URI, UserattributesFactory.eINSTANCE);
+ }
+
+ /**
+ * 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
+ userAttributeElementTypeEClass = createEClass(USER_ATTRIBUTE_ELEMENT_TYPE);
+ createEReference(userAttributeElementTypeEClass, USER_ATTRIBUTE_ELEMENT_TYPE__EXTENDED_ELEMENT_TYPE);
+ createEReference(userAttributeElementTypeEClass, USER_ATTRIBUTE_ELEMENT_TYPE__ATTRIBUTE);
+ createEReference(userAttributeElementTypeEClass, USER_ATTRIBUTE_ELEMENT_TYPE__BASE_CLASS);
+ createEAttribute(userAttributeElementTypeEClass, USER_ATTRIBUTE_ELEMENT_TYPE__VALID_FOR);
+
+ userAttributeDefinitionEClass = createEClass(USER_ATTRIBUTE_DEFINITION);
+ createEReference(userAttributeDefinitionEClass, USER_ATTRIBUTE_DEFINITION__BASE_CLASS);
+ createEAttribute(userAttributeDefinitionEClass, USER_ATTRIBUTE_DEFINITION__DEFAULT_VALUE);
+ createEReference(userAttributeDefinitionEClass, USER_ATTRIBUTE_DEFINITION__TYPE);
+ createEReference(userAttributeDefinitionEClass, USER_ATTRIBUTE_DEFINITION__BASE_PROPERTY);
+
+ userAttributeableElementEClass = createEClass(USER_ATTRIBUTEABLE_ELEMENT);
+ createEReference(userAttributeableElementEClass, USER_ATTRIBUTEABLE_ELEMENT__UA_VALUE);
+ createEReference(userAttributeableElementEClass, USER_ATTRIBUTEABLE_ELEMENT__UA_TYPE);
+ createEReference(userAttributeableElementEClass, USER_ATTRIBUTEABLE_ELEMENT__ATTRIBUTED_ELEMENT);
+ createEReference(userAttributeableElementEClass, USER_ATTRIBUTEABLE_ELEMENT__BASE_NAMED_ELEMENT);
+
+ userAttributeValueEClass = createEClass(USER_ATTRIBUTE_VALUE);
+ createEReference(userAttributeValueEClass, USER_ATTRIBUTE_VALUE__BASE_CLASS);
+ createEAttribute(userAttributeValueEClass, USER_ATTRIBUTE_VALUE__VALUE);
+ createEReference(userAttributeValueEClass, USER_ATTRIBUTE_VALUE__BASE_PROPERTY);
+ createEReference(userAttributeValueEClass, USER_ATTRIBUTE_VALUE__DEFINITION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getUserAttributeableElement() {
+ return userAttributeableElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUserAttributeableElement_UaType() {
+ return (EReference)userAttributeableElementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUserAttributeableElement_AttributedElement() {
+ return (EReference)userAttributeableElementEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUserAttributeableElement_Base_NamedElement() {
+ return (EReference)userAttributeableElementEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUserAttributeableElement_UaValue() {
+ return (EReference)userAttributeableElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getUserAttributeDefinition() {
+ return userAttributeDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUserAttributeDefinition_Base_Class() {
+ return (EReference)userAttributeDefinitionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getUserAttributeDefinition_DefaultValue() {
+ return (EAttribute)userAttributeDefinitionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUserAttributeDefinition_Type() {
+ return (EReference)userAttributeDefinitionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUserAttributeDefinition_Base_Property() {
+ return (EReference)userAttributeDefinitionEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getUserAttributeElementType() {
+ return userAttributeElementTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUserAttributeElementType_Attribute() {
+ return (EReference)userAttributeElementTypeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUserAttributeElementType_Base_Class() {
+ return (EReference)userAttributeElementTypeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUserAttributeElementType_ExtendedElementType() {
+ return (EReference)userAttributeElementTypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getUserAttributeElementType_ValidFor() {
+ return (EAttribute)userAttributeElementTypeEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UserattributesFactory getUserattributesFactory() {
+ return (UserattributesFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getUserAttributeValue() {
+ return userAttributeValueEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUserAttributeValue_Base_Class() {
+ return (EReference)userAttributeValueEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUserAttributeValue_Definition() {
+ return (EReference)userAttributeValueEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getUserAttributeValue_Value() {
+ return (EAttribute)userAttributeValueEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUserAttributeValue_Base_Property() {
+ return (EReference)userAttributeValueEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * 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
+ ElementsPackage theElementsPackage = (ElementsPackage)EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI);
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+ TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+ DatatypesPackage theDatatypesPackage = (DatatypesPackage)EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ userAttributeElementTypeEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ userAttributeDefinitionEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ userAttributeValueEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(userAttributeElementTypeEClass, UserAttributeElementType.class, "UserAttributeElementType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getUserAttributeElementType_ExtendedElementType(), this.getUserAttributeElementType(), null, "extendedElementType", null, 0, 1, UserAttributeElementType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getUserAttributeElementType_Attribute(), this.getUserAttributeDefinition(), null, "attribute", null, 0, -1, UserAttributeElementType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getUserAttributeElementType_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, UserAttributeElementType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getUserAttributeElementType_ValidFor(), theTypesPackage.getString(), "validFor", null, 0, 1, UserAttributeElementType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(userAttributeDefinitionEClass, UserAttributeDefinition.class, "UserAttributeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getUserAttributeDefinition_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, UserAttributeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getUserAttributeDefinition_DefaultValue(), theTypesPackage.getString(), "defaultValue", null, 0, 1, UserAttributeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getUserAttributeDefinition_Type(), theDatatypesPackage.getEADatatype(), null, "type", null, 1, 1, UserAttributeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getUserAttributeDefinition_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 0, 1, UserAttributeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(userAttributeableElementEClass, UserAttributeableElement.class, "UserAttributeableElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getUserAttributeableElement_UaValue(), this.getUserAttributeValue(), null, "uaValue", null, 0, -1, UserAttributeableElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getUserAttributeableElement_UaType(), this.getUserAttributeElementType(), null, "uaType", null, 0, -1, UserAttributeableElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getUserAttributeableElement_AttributedElement(), theUMLPackage.getNamedElement(), null, "attributedElement", null, 1, 1, UserAttributeableElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getUserAttributeableElement_Base_NamedElement(), theUMLPackage.getNamedElement(), null, "base_NamedElement", null, 1, 1, UserAttributeableElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(userAttributeValueEClass, UserAttributeValue.class, "UserAttributeValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getUserAttributeValue_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, UserAttributeValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getUserAttributeValue_Value(), theTypesPackage.getString(), "value", null, 1, 1, UserAttributeValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getUserAttributeValue_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 0, 1, UserAttributeValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getUserAttributeValue_Definition(), this.getUserAttributeDefinition(), null, "definition", null, 0, 1, UserAttributeValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ }
+
+} //UserattributesPackageImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/util/UserattributesAdapterFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/util/UserattributesAdapterFactory.java
new file mode 100644
index 00000000000..3da7a5bc24b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/util/UserattributesAdapterFactory.java
@@ -0,0 +1,207 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.userattributes.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.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeDefinition;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeElementType;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeValue;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage
+ * @generated
+ */
+public class UserattributesAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static UserattributesPackage modelPackage;
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UserattributesSwitch<Adapter> modelSwitch =
+ new UserattributesSwitch<Adapter>() {
+ @Override
+ public Adapter caseUserAttributeElementType(UserAttributeElementType object) {
+ return createUserAttributeElementTypeAdapter();
+ }
+ @Override
+ public Adapter caseUserAttributeDefinition(UserAttributeDefinition object) {
+ return createUserAttributeDefinitionAdapter();
+ }
+ @Override
+ public Adapter caseUserAttributeableElement(UserAttributeableElement object) {
+ return createUserAttributeableElementAdapter();
+ }
+ @Override
+ public Adapter caseUserAttributeValue(UserAttributeValue object) {
+ return createUserAttributeValueAdapter();
+ }
+ @Override
+ public Adapter caseEAElement(EAElement object) {
+ return createEAElementAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UserattributesAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = UserattributesPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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 the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeableElement <em>User Attributeable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.userattributes.UserAttributeableElement
+ * @generated
+ */
+ public Adapter createUserAttributeableElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeDefinition <em>User Attribute Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.userattributes.UserAttributeDefinition
+ * @generated
+ */
+ public Adapter createUserAttributeDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeElementType <em>User Attribute Element 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.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeElementType
+ * @generated
+ */
+ public Adapter createUserAttributeElementTypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeValue <em>User Attribute Value</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.userattributes.UserAttributeValue
+ * @generated
+ */
+ public Adapter createUserAttributeValueAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement <em>EA Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAElement
+ * @generated
+ */
+ public Adapter createEAElementAdapter() {
+ return null;
+ }
+
+ /**
+ * 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;
+ }
+
+} //UserattributesAdapterFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/util/UserattributesResourceFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/util/UserattributesResourceFactoryImpl.java
new file mode 100644
index 00000000000..fc67a4e8767
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/util/UserattributesResourceFactoryImpl.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.userattributes.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.eclipse.papyrus.eastadl.infrastructure.userattributes.util.UserattributesResourceImpl
+ * @generated
+ */
+public class UserattributesResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UserattributesResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new UserattributesResourceImpl(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;
+ }
+
+} //UserattributesResourceFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/util/UserattributesResourceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/util/UserattributesResourceImpl.java
new file mode 100644
index 00000000000..ffb088c941b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/util/UserattributesResourceImpl.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.userattributes.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.eclipse.papyrus.eastadl.infrastructure.userattributes.util.UserattributesResourceFactoryImpl
+ * @generated
+ */
+public class UserattributesResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public UserattributesResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //UserattributesResourceImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/util/UserattributesSwitch.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/util/UserattributesSwitch.java
new file mode 100644
index 00000000000..a277781f94f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/util/UserattributesSwitch.java
@@ -0,0 +1,208 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.userattributes.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeDefinition;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeElementType;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeValue;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserAttributeableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage
+ * @generated
+ */
+public class UserattributesSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static UserattributesPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UserattributesSwitch() {
+ if (modelPackage == null) {
+ modelPackage = UserattributesPackage.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;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>User Attributeable Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>User Attributeable Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUserAttributeableElement(UserAttributeableElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>User Attribute Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>User Attribute Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUserAttributeDefinition(UserAttributeDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>User Attribute Element 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>User Attribute Element Type</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUserAttributeElementType(UserAttributeElementType object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>User Attribute Value</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>User Attribute Value</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUserAttributeValue(UserAttributeValue object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAElement(EAElement 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;
+ }
+
+ /**
+ * 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 UserattributesPackage.USER_ATTRIBUTE_ELEMENT_TYPE: {
+ UserAttributeElementType userAttributeElementType = (UserAttributeElementType)theEObject;
+ T result = caseUserAttributeElementType(userAttributeElementType);
+ if (result == null) result = caseEAElement(userAttributeElementType);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case UserattributesPackage.USER_ATTRIBUTE_DEFINITION: {
+ UserAttributeDefinition userAttributeDefinition = (UserAttributeDefinition)theEObject;
+ T result = caseUserAttributeDefinition(userAttributeDefinition);
+ if (result == null) result = caseEAElement(userAttributeDefinition);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case UserattributesPackage.USER_ATTRIBUTEABLE_ELEMENT: {
+ UserAttributeableElement userAttributeableElement = (UserAttributeableElement)theEObject;
+ T result = caseUserAttributeableElement(userAttributeableElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case UserattributesPackage.USER_ATTRIBUTE_VALUE: {
+ UserAttributeValue userAttributeValue = (UserAttributeValue)theEObject;
+ T result = caseUserAttributeValue(userAttributeValue);
+ if (result == null) result = caseEAElement(userAttributeValue);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+} //UserattributesSwitch
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/util/UserattributesXMLProcessor.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/util/UserattributesXMLProcessor.java
new file mode 100644
index 00000000000..e830b79d0c9
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/userattributes/util/UserattributesXMLProcessor.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.userattributes.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.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class UserattributesXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UserattributesXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ UserattributesPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the UserattributesResourceFactoryImpl 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 UserattributesResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new UserattributesResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //UserattributesXMLProcessor
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/util/InfrastructureResourceFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/util/InfrastructureResourceFactoryImpl.java
new file mode 100644
index 00000000000..21dea0f6947
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/util/InfrastructureResourceFactoryImpl.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.infrastructure.util.InfrastructureResourceImpl
+ * @generated
+ */
+public class InfrastructureResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InfrastructureResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ Resource result = new InfrastructureResourceImpl(uri);
+ return result;
+ }
+
+} //InfrastructureResourceFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/util/InfrastructureResourceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/util/InfrastructureResourceImpl.java
new file mode 100644
index 00000000000..9c606fcdc79
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/util/InfrastructureResourceImpl.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.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.eclipse.papyrus.eastadl.infrastructure.util.InfrastructureResourceFactoryImpl
+ * @generated
+ */
+public class InfrastructureResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public InfrastructureResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //InfrastructureResourceImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/util/InfrastructureXMLProcessor.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/util/InfrastructureXMLProcessor.java
new file mode 100644
index 00000000000..9b17cf0f6a5
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/infrastructure/util/InfrastructureXMLProcessor.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.infrastructure.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.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InfrastructureXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InfrastructureXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ InfrastructurePackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the InfrastructureResourceFactoryImpl 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 InfrastructureResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new InfrastructureResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //InfrastructureXMLProcessor
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/InterchangeFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/InterchangeFactory.java
new file mode 100644
index 00000000000..ce60743a73b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/InterchangeFactory.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.interchange;
+
+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.eclipse.papyrus.eastadl.interchange.InterchangePackage
+ * @generated
+ */
+public interface InterchangeFactory extends EFactory {
+
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ InterchangeFactory eINSTANCE = org.eclipse.papyrus.eastadl.interchange.impl.InterchangeFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>RIF Export Area</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>RIF Export Area</em>'.
+ * @generated
+ */
+ RIFExportArea createRIFExportArea();
+
+ /**
+ * Returns a new object of class '<em>RIF Import Area</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>RIF Import Area</em>'.
+ * @generated
+ */
+ RIFImportArea createRIFImportArea();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ InterchangePackage getInterchangePackage();
+
+} // InterchangeFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/InterchangePackage.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/InterchangePackage.java
new file mode 100644
index 00000000000..82920e86cf9
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/InterchangePackage.java
@@ -0,0 +1,479 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.interchange;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+
+
+/**
+ * <!-- 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 -->
+ * <!-- begin-model-doc -->
+ * The interchange part of an EAST-ADL2 system model is for exchanging model data with external stakeholders. E.g. it provides elements (see RIFArea) for importing resp. exporting requirements specifications into resp. out of an EAST-ADL2 system model.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.interchange.InterchangeFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface InterchangePackage extends EPackage {
+
+ /**
+ * <!-- 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.eclipse.papyrus.eastadl.interchange.impl.RIFAreaImpl <em>RIF Area</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.interchange.impl.RIFAreaImpl
+ * @see org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl#getRIFArea()
+ * @generated
+ */
+ EClass RIF_AREA = eINSTANCE.getRIFArea();
+
+ /**
+ * The meta object literal for the '<em><b>Root Requirement Container</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RIF_AREA__ROOT_REQUIREMENT_CONTAINER = eINSTANCE.getRIFArea_RootRequirementContainer();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference RIF_AREA__BASE_CLASS = eINSTANCE.getRIFArea_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Interchange Req Spec Object</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RIF_AREA__INTERCHANGE_REQ_SPEC_OBJECT = eINSTANCE.getRIFArea_InterchangeReqSpecObject();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.interchange.impl.RIFExportAreaImpl <em>RIF Export Area</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.interchange.impl.RIFExportAreaImpl
+ * @see org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl#getRIFExportArea()
+ * @generated
+ */
+ EClass RIF_EXPORT_AREA = eINSTANCE.getRIFExportArea();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.interchange.impl.RIFImportAreaImpl <em>RIF Import Area</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.interchange.impl.RIFImportAreaImpl
+ * @see org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl#getRIFImportArea()
+ * @generated
+ */
+ EClass RIF_IMPORT_AREA = eINSTANCE.getRIFImportArea();
+
+ }
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "interchange";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.papyrusuml.org/EAST-ADL2/Interchange/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "Interchange";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ InterchangePackage eINSTANCE = org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.interchange.impl.RIFAreaImpl <em>RIF Area</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.interchange.impl.RIFAreaImpl
+ * @see org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl#getRIFArea()
+ * @generated
+ */
+ int RIF_AREA = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RIF_AREA__NAME = ElementsPackage.CONTEXT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RIF_AREA__BASE_NAMED_ELEMENT = ElementsPackage.CONTEXT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RIF_AREA__OWNED_COMMENT = ElementsPackage.CONTEXT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RIF_AREA__TRACEABLE_SPECIFICATION = ElementsPackage.CONTEXT__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RIF_AREA__OWNED_RELATIONSHIP = ElementsPackage.CONTEXT__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Root Requirement Container</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RIF_AREA__ROOT_REQUIREMENT_CONTAINER = ElementsPackage.CONTEXT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RIF_AREA__BASE_CLASS = ElementsPackage.CONTEXT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Interchange Req Spec Object</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RIF_AREA__INTERCHANGE_REQ_SPEC_OBJECT = ElementsPackage.CONTEXT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>RIF Area</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RIF_AREA_FEATURE_COUNT = ElementsPackage.CONTEXT_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.interchange.impl.RIFExportAreaImpl <em>RIF Export Area</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.interchange.impl.RIFExportAreaImpl
+ * @see org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl#getRIFExportArea()
+ * @generated
+ */
+ int RIF_EXPORT_AREA = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RIF_EXPORT_AREA__NAME = RIF_AREA__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RIF_EXPORT_AREA__BASE_NAMED_ELEMENT = RIF_AREA__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RIF_EXPORT_AREA__OWNED_COMMENT = RIF_AREA__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RIF_EXPORT_AREA__TRACEABLE_SPECIFICATION = RIF_AREA__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RIF_EXPORT_AREA__OWNED_RELATIONSHIP = RIF_AREA__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Root Requirement Container</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RIF_EXPORT_AREA__ROOT_REQUIREMENT_CONTAINER = RIF_AREA__ROOT_REQUIREMENT_CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RIF_EXPORT_AREA__BASE_CLASS = RIF_AREA__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Interchange Req Spec Object</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RIF_EXPORT_AREA__INTERCHANGE_REQ_SPEC_OBJECT = RIF_AREA__INTERCHANGE_REQ_SPEC_OBJECT;
+
+ /**
+ * The number of structural features of the '<em>RIF Export Area</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RIF_EXPORT_AREA_FEATURE_COUNT = RIF_AREA_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.interchange.impl.RIFImportAreaImpl <em>RIF Import Area</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.interchange.impl.RIFImportAreaImpl
+ * @see org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl#getRIFImportArea()
+ * @generated
+ */
+ int RIF_IMPORT_AREA = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RIF_IMPORT_AREA__NAME = RIF_AREA__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RIF_IMPORT_AREA__BASE_NAMED_ELEMENT = RIF_AREA__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RIF_IMPORT_AREA__OWNED_COMMENT = RIF_AREA__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RIF_IMPORT_AREA__TRACEABLE_SPECIFICATION = RIF_AREA__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RIF_IMPORT_AREA__OWNED_RELATIONSHIP = RIF_AREA__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Root Requirement Container</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RIF_IMPORT_AREA__ROOT_REQUIREMENT_CONTAINER = RIF_AREA__ROOT_REQUIREMENT_CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RIF_IMPORT_AREA__BASE_CLASS = RIF_AREA__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Interchange Req Spec Object</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RIF_IMPORT_AREA__INTERCHANGE_REQ_SPEC_OBJECT = RIF_AREA__INTERCHANGE_REQ_SPEC_OBJECT;
+
+ /**
+ * The number of structural features of the '<em>RIF Import Area</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RIF_IMPORT_AREA_FEATURE_COUNT = RIF_AREA_FEATURE_COUNT + 0;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.interchange.RIFArea <em>RIF Area</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>RIF Area</em>'.
+ * @see org.eclipse.papyrus.eastadl.interchange.RIFArea
+ * @generated
+ */
+ EClass getRIFArea();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.interchange.RIFArea#getRootRequirementContainer <em>Root Requirement Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Root Requirement Container</em>'.
+ * @see org.eclipse.papyrus.eastadl.interchange.RIFArea#getRootRequirementContainer()
+ * @see #getRIFArea()
+ * @generated
+ */
+ EReference getRIFArea_RootRequirementContainer();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.interchange.RIFArea#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.eclipse.papyrus.eastadl.interchange.RIFArea#getBase_Class()
+ * @see #getRIFArea()
+ * @generated
+ */
+ EReference getRIFArea_Base_Class();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.interchange.RIFArea#getInterchangeReqSpecObject <em>Interchange Req Spec Object</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Interchange Req Spec Object</em>'.
+ * @see org.eclipse.papyrus.eastadl.interchange.RIFArea#getInterchangeReqSpecObject()
+ * @see #getRIFArea()
+ * @generated
+ */
+ EReference getRIFArea_InterchangeReqSpecObject();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.interchange.RIFExportArea <em>RIF Export Area</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>RIF Export Area</em>'.
+ * @see org.eclipse.papyrus.eastadl.interchange.RIFExportArea
+ * @generated
+ */
+ EClass getRIFExportArea();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.interchange.RIFImportArea <em>RIF Import Area</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>RIF Import Area</em>'.
+ * @see org.eclipse.papyrus.eastadl.interchange.RIFImportArea
+ * @generated
+ */
+ EClass getRIFImportArea();
+
+ /**
+ * 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
+ */
+ InterchangeFactory getInterchangeFactory();
+
+} // InterchangePackage
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/RIFArea.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/RIFArea.java
new file mode 100644
index 00000000000..ed91d6ddbd9
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/RIFArea.java
@@ -0,0 +1,108 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.interchange;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.requirements.RequirementSpecificationObject;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsContainer;
+
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>RIF Area</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An extra allocated part of the EAST-ADL2 System Model that contains Requirement Specific Data (Container, Reqs etc...) from RIF Import resp. RIF Export.
+ *
+ * Especially for the context of requirement engineering and considering the possibility to import/export requirement related data via RIF, the feature uuid will be used to check that two elements are semantically the same and thus should stay together in reference via a Multi-Level reference link.
+ *
+ * Since requirement data to be imported/exported will be put into RIFArea, requirement data elements which are not inside RIFArea and have semantically equal element in the RIFAreas (such elements have the same uuid value) will be connected with the appropriate elements in the RIFArea using Multi-Level reference links.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.interchange.RIFArea#getRootRequirementContainer <em>Root Requirement Container</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.interchange.RIFArea#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.interchange.RIFArea#getInterchangeReqSpecObject <em>Interchange Req Spec Object</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.interchange.InterchangePackage#getRIFArea()
+ * @model abstract="true"
+ * @generated
+ */
+public interface RIFArea extends Context {
+
+ /**
+ * 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.eclipse.papyrus.eastadl.interchange.InterchangePackage#getRIFArea_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Returns the value of the '<em><b>Interchange Req Spec Object</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.RequirementSpecificationObject}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Interchange Req Spec Object</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>Interchange Req Spec Object</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.interchange.InterchangePackage#getRIFArea_InterchangeReqSpecObject()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<RequirementSpecificationObject> getInterchangeReqSpecObject();
+
+ /**
+ * Returns the value of the '<em><b>Root Requirement Container</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.RequirementsContainer}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Root Requirement Container</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>Root Requirement Container</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.interchange.InterchangePackage#getRIFArea_RootRequirementContainer()
+ * @model
+ * @generated
+ */
+ EList<RequirementsContainer> getRootRequirementContainer();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.interchange.RIFArea#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);
+
+} // RIFArea
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/RIFExportArea.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/RIFExportArea.java
new file mode 100644
index 00000000000..baddea6e6ad
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/RIFExportArea.java
@@ -0,0 +1,32 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.interchange;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>RIF Export Area</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Contains (clones of) requirement specific data to be exported in RIF format.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.eastadl.interchange.InterchangePackage#getRIFExportArea()
+ * @model
+ * @generated
+ */
+public interface RIFExportArea extends RIFArea {
+} // RIFExportArea
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/RIFImportArea.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/RIFImportArea.java
new file mode 100644
index 00000000000..08ef5f7d243
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/RIFImportArea.java
@@ -0,0 +1,34 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.interchange;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>RIF Import Area</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Contains requirement specific data to be imported from an external RIF file.
+ *
+ * If an element will be imported from external the uuid will be taken from the given external exchange data file, because the identifier is global unique and shall not be changed somewhere.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.eastadl.interchange.InterchangePackage#getRIFImportArea()
+ * @model
+ * @generated
+ */
+public interface RIFImportArea extends RIFArea {
+} // RIFImportArea
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/impl/InterchangeFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/impl/InterchangeFactoryImpl.java
new file mode 100644
index 00000000000..0d386f2ffd9
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/impl/InterchangeFactoryImpl.java
@@ -0,0 +1,114 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.interchange.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.eclipse.papyrus.eastadl.interchange.InterchangeFactory;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.RIFExportArea;
+import org.eclipse.papyrus.eastadl.interchange.RIFImportArea;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!-- end-user-doc -->
+ * @generated
+ */
+public class InterchangeFactoryImpl extends EFactoryImpl implements InterchangeFactory {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static InterchangePackage getPackage() {
+ return InterchangePackage.eINSTANCE;
+ }
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public static InterchangeFactory init() {
+ try {
+ InterchangeFactory theInterchangeFactory = (InterchangeFactory)EPackage.Registry.INSTANCE.getEFactory(InterchangePackage.eNS_URI);
+ if (theInterchangeFactory != null) {
+ return theInterchangeFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new InterchangeFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public InterchangeFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case InterchangePackage.RIF_EXPORT_AREA: return createRIFExportArea();
+ case InterchangePackage.RIF_IMPORT_AREA: return createRIFImportArea();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RIFExportArea createRIFExportArea() {
+ RIFExportAreaImpl rifExportArea = new RIFExportAreaImpl();
+ return rifExportArea;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RIFImportArea createRIFImportArea() {
+ RIFImportAreaImpl rifImportArea = new RIFImportAreaImpl();
+ return rifImportArea;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public InterchangePackage getInterchangePackage() {
+ return (InterchangePackage)getEPackage();
+ }
+
+} // InterchangeFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/impl/InterchangePackageImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/impl/InterchangePackageImpl.java
new file mode 100644
index 00000000000..8c3ae19e5e7
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/impl/InterchangePackageImpl.java
@@ -0,0 +1,388 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.interchange.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.eastadl.EastadlPackage;
+import org.eclipse.papyrus.eastadl.annex.AnnexPackage;
+import org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl;
+import org.eclipse.papyrus.eastadl.interchange.InterchangeFactory;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.RIFArea;
+import org.eclipse.papyrus.eastadl.interchange.RIFExportArea;
+import org.eclipse.papyrus.eastadl.interchange.RIFImportArea;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.StructurePackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc -->
+ * @generated
+ */
+public class InterchangePackageImpl extends EPackageImpl implements InterchangePackage {
+
+ /**
+ * <!-- 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 InterchangePackage#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 InterchangePackage init() {
+ if (isInited) return (InterchangePackage)EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI);
+
+ // Obtain or create and register package
+ InterchangePackageImpl theInterchangePackage = (InterchangePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof InterchangePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new InterchangePackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ SysmlPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EastadlPackageImpl theEastadlPackage = (EastadlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) instanceof EastadlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) : EastadlPackage.eINSTANCE);
+ VariabilityPackageImpl theVariabilityPackage = (VariabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) instanceof VariabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) : VariabilityPackage.eINSTANCE);
+ InfrastructurePackageImpl theInfrastructurePackage = (InfrastructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) instanceof InfrastructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) : InfrastructurePackage.eINSTANCE);
+ DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) instanceof DatatypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) : DatatypesPackage.eINSTANCE);
+ UserattributesPackageImpl theUserattributesPackage = (UserattributesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) instanceof UserattributesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) : UserattributesPackage.eINSTANCE);
+ ElementsPackageImpl theElementsPackage = (ElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) instanceof ElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) : ElementsPackage.eINSTANCE);
+ StructurePackageImpl theStructurePackage = (StructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) instanceof StructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) : StructurePackage.eINSTANCE);
+ FunctionmodelingPackageImpl theFunctionmodelingPackage = (FunctionmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) instanceof FunctionmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) : FunctionmodelingPackage.eINSTANCE);
+ HardwaremodelingPackageImpl theHardwaremodelingPackage = (HardwaremodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) instanceof HardwaremodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) : HardwaremodelingPackage.eINSTANCE);
+ SystemmodelingPackageImpl theSystemmodelingPackage = (SystemmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) instanceof SystemmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) : SystemmodelingPackage.eINSTANCE);
+ VehiclefeaturemodelingPackageImpl theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) instanceof VehiclefeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) : VehiclefeaturemodelingPackage.eINSTANCE);
+ FeaturemodelingPackageImpl theFeaturemodelingPackage = (FeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) instanceof FeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) : FeaturemodelingPackage.eINSTANCE);
+ BehaviorPackageImpl theBehaviorPackage = (BehaviorPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) instanceof BehaviorPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) : BehaviorPackage.eINSTANCE);
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) : RequirementsPackage.eINSTANCE);
+ VerificationvalidationPackageImpl theVerificationvalidationPackage = (VerificationvalidationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) instanceof VerificationvalidationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) : VerificationvalidationPackage.eINSTANCE);
+ TimingPackageImpl theTimingPackage = (TimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) instanceof TimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) : TimingPackage.eINSTANCE);
+ TimingconstraintsPackageImpl theTimingconstraintsPackage = (TimingconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) instanceof TimingconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) : TimingconstraintsPackage.eINSTANCE);
+ EventsPackageImpl theEventsPackage = (EventsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+ EnvironmentPackageImpl theEnvironmentPackage = (EnvironmentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) instanceof EnvironmentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) : EnvironmentPackage.eINSTANCE);
+ DependabilityPackageImpl theDependabilityPackage = (DependabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) instanceof DependabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) : DependabilityPackage.eINSTANCE);
+ ErrormodelPackageImpl theErrormodelPackage = (ErrormodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) instanceof ErrormodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) : ErrormodelPackage.eINSTANCE);
+ SafetyrequirementPackageImpl theSafetyrequirementPackage = (SafetyrequirementPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) instanceof SafetyrequirementPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) : SafetyrequirementPackage.eINSTANCE);
+ SafetyconstraintsPackageImpl theSafetyconstraintsPackage = (SafetyconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) instanceof SafetyconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) : SafetyconstraintsPackage.eINSTANCE);
+ SafetycasePackageImpl theSafetycasePackage = (SafetycasePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) instanceof SafetycasePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) : SafetycasePackage.eINSTANCE);
+ AnnexPackageImpl theAnnexPackage = (AnnexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) instanceof AnnexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) : AnnexPackage.eINSTANCE);
+ NeedsPackageImpl theNeedsPackage = (NeedsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) instanceof NeedsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) : NeedsPackage.eINSTANCE);
+ GenericconstraintsPackageImpl theGenericconstraintsPackage = (GenericconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) instanceof GenericconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) : GenericconstraintsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theInterchangePackage.createPackageContents();
+ theEastadlPackage.createPackageContents();
+ theVariabilityPackage.createPackageContents();
+ theInfrastructurePackage.createPackageContents();
+ theDatatypesPackage.createPackageContents();
+ theUserattributesPackage.createPackageContents();
+ theElementsPackage.createPackageContents();
+ theStructurePackage.createPackageContents();
+ theFunctionmodelingPackage.createPackageContents();
+ theHardwaremodelingPackage.createPackageContents();
+ theSystemmodelingPackage.createPackageContents();
+ theVehiclefeaturemodelingPackage.createPackageContents();
+ theFeaturemodelingPackage.createPackageContents();
+ theBehaviorPackage.createPackageContents();
+ theRequirementsPackage.createPackageContents();
+ theVerificationvalidationPackage.createPackageContents();
+ theTimingPackage.createPackageContents();
+ theTimingconstraintsPackage.createPackageContents();
+ theEventsPackage.createPackageContents();
+ theEnvironmentPackage.createPackageContents();
+ theDependabilityPackage.createPackageContents();
+ theErrormodelPackage.createPackageContents();
+ theSafetyrequirementPackage.createPackageContents();
+ theSafetyconstraintsPackage.createPackageContents();
+ theSafetycasePackage.createPackageContents();
+ theAnnexPackage.createPackageContents();
+ theNeedsPackage.createPackageContents();
+ theGenericconstraintsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theInterchangePackage.initializePackageContents();
+ theEastadlPackage.initializePackageContents();
+ theVariabilityPackage.initializePackageContents();
+ theInfrastructurePackage.initializePackageContents();
+ theDatatypesPackage.initializePackageContents();
+ theUserattributesPackage.initializePackageContents();
+ theElementsPackage.initializePackageContents();
+ theStructurePackage.initializePackageContents();
+ theFunctionmodelingPackage.initializePackageContents();
+ theHardwaremodelingPackage.initializePackageContents();
+ theSystemmodelingPackage.initializePackageContents();
+ theVehiclefeaturemodelingPackage.initializePackageContents();
+ theFeaturemodelingPackage.initializePackageContents();
+ theBehaviorPackage.initializePackageContents();
+ theRequirementsPackage.initializePackageContents();
+ theVerificationvalidationPackage.initializePackageContents();
+ theTimingPackage.initializePackageContents();
+ theTimingconstraintsPackage.initializePackageContents();
+ theEventsPackage.initializePackageContents();
+ theEnvironmentPackage.initializePackageContents();
+ theDependabilityPackage.initializePackageContents();
+ theErrormodelPackage.initializePackageContents();
+ theSafetyrequirementPackage.initializePackageContents();
+ theSafetyconstraintsPackage.initializePackageContents();
+ theSafetycasePackage.initializePackageContents();
+ theAnnexPackage.initializePackageContents();
+ theNeedsPackage.initializePackageContents();
+ theGenericconstraintsPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theInterchangePackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(InterchangePackage.eNS_URI, theInterchangePackage);
+ return theInterchangePackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRIFArea() {
+ return rifAreaEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRIFArea_RootRequirementContainer() {
+ return (EReference)rifAreaEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRIFArea_Base_Class() {
+ return (EReference)rifAreaEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRIFArea_InterchangeReqSpecObject() {
+ return (EReference)rifAreaEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRIFExportArea() {
+ return rifExportAreaEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRIFImportArea() {
+ return rifImportAreaEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass rifAreaEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass rifExportAreaEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass rifImportAreaEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * 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.eclipse.papyrus.eastadl.interchange.InterchangePackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private InterchangePackageImpl() {
+ super(eNS_URI, InterchangeFactory.eINSTANCE);
+ }
+
+ /**
+ * 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
+ rifAreaEClass = createEClass(RIF_AREA);
+ createEReference(rifAreaEClass, RIF_AREA__ROOT_REQUIREMENT_CONTAINER);
+ createEReference(rifAreaEClass, RIF_AREA__BASE_CLASS);
+ createEReference(rifAreaEClass, RIF_AREA__INTERCHANGE_REQ_SPEC_OBJECT);
+
+ rifExportAreaEClass = createEClass(RIF_EXPORT_AREA);
+
+ rifImportAreaEClass = createEClass(RIF_IMPORT_AREA);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public InterchangeFactory getInterchangeFactory() {
+ return (InterchangeFactory)getEFactoryInstance();
+ }
+
+ /**
+ * 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
+ ElementsPackage theElementsPackage = (ElementsPackage)EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI);
+ RequirementsPackage theRequirementsPackage = (RequirementsPackage)EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI);
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ rifAreaEClass.getESuperTypes().add(theElementsPackage.getContext());
+ rifExportAreaEClass.getESuperTypes().add(this.getRIFArea());
+ rifImportAreaEClass.getESuperTypes().add(this.getRIFArea());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(rifAreaEClass, RIFArea.class, "RIFArea", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRIFArea_RootRequirementContainer(), theRequirementsPackage.getRequirementsContainer(), null, "rootRequirementContainer", null, 0, -1, RIFArea.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRIFArea_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, RIFArea.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getRIFArea_InterchangeReqSpecObject(), theRequirementsPackage.getRequirementSpecificationObject(), null, "interchangeReqSpecObject", null, 0, -1, RIFArea.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(rifExportAreaEClass, RIFExportArea.class, "RIFExportArea", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(rifImportAreaEClass, RIFImportArea.class, "RIFImportArea", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ }
+
+} // InterchangePackageImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/impl/RIFAreaImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/impl/RIFAreaImpl.java
new file mode 100644
index 00000000000..62b5729a2bf
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/impl/RIFAreaImpl.java
@@ -0,0 +1,233 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.interchange.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.eastadl.infrastructure.elements.impl.ContextImpl;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.RIFArea;
+import org.eclipse.papyrus.eastadl.requirements.RequirementSpecificationObject;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsContainer;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>RIF Area</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.interchange.impl.RIFAreaImpl#getRootRequirementContainer <em>Root Requirement Container</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.interchange.impl.RIFAreaImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.interchange.impl.RIFAreaImpl#getInterchangeReqSpecObject <em>Interchange Req Spec Object</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class RIFAreaImpl extends ContextImpl implements RIFArea {
+
+ /**
+ * The cached value of the '{@link #getRootRequirementContainer() <em>Root Requirement Container</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRootRequirementContainer()
+ * @generated
+ * @ordered
+ */
+ protected EList<RequirementsContainer> rootRequirementContainer;
+
+ /**
+ * 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 cached value of the '{@link #getInterchangeReqSpecObject() <em>Interchange Req Spec Object</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInterchangeReqSpecObject()
+ * @generated
+ * @ordered
+ */
+ protected EList<RequirementSpecificationObject> interchangeReqSpecObject;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected RIFAreaImpl() {
+ super();
+ }
+
+ /**
+ * <!-- 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
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case InterchangePackage.RIF_AREA__ROOT_REQUIREMENT_CONTAINER:
+ return getRootRequirementContainer();
+ case InterchangePackage.RIF_AREA__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case InterchangePackage.RIF_AREA__INTERCHANGE_REQ_SPEC_OBJECT:
+ return getInterchangeReqSpecObject();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case InterchangePackage.RIF_AREA__ROOT_REQUIREMENT_CONTAINER:
+ return rootRequirementContainer != null && !rootRequirementContainer.isEmpty();
+ case InterchangePackage.RIF_AREA__BASE_CLASS:
+ return base_Class != null;
+ case InterchangePackage.RIF_AREA__INTERCHANGE_REQ_SPEC_OBJECT:
+ return interchangeReqSpecObject != null && !interchangeReqSpecObject.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case InterchangePackage.RIF_AREA__ROOT_REQUIREMENT_CONTAINER:
+ getRootRequirementContainer().clear();
+ getRootRequirementContainer().addAll((Collection<? extends RequirementsContainer>)newValue);
+ return;
+ case InterchangePackage.RIF_AREA__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case InterchangePackage.RIF_AREA__INTERCHANGE_REQ_SPEC_OBJECT:
+ getInterchangeReqSpecObject().clear();
+ getInterchangeReqSpecObject().addAll((Collection<? extends RequirementSpecificationObject>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return InterchangePackage.Literals.RIF_AREA;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case InterchangePackage.RIF_AREA__ROOT_REQUIREMENT_CONTAINER:
+ getRootRequirementContainer().clear();
+ return;
+ case InterchangePackage.RIF_AREA__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case InterchangePackage.RIF_AREA__INTERCHANGE_REQ_SPEC_OBJECT:
+ getInterchangeReqSpecObject().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- 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, InterchangePackage.RIF_AREA__BASE_CLASS, oldBase_Class, base_Class));
+ }
+ }
+ return base_Class;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<RequirementSpecificationObject> getInterchangeReqSpecObject() {
+ if (interchangeReqSpecObject == null) {
+ interchangeReqSpecObject = new EObjectResolvingEList<RequirementSpecificationObject>(RequirementSpecificationObject.class, this, InterchangePackage.RIF_AREA__INTERCHANGE_REQ_SPEC_OBJECT);
+ }
+ return interchangeReqSpecObject;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<RequirementsContainer> getRootRequirementContainer() {
+ if (rootRequirementContainer == null) {
+ rootRequirementContainer = new EObjectResolvingEList<RequirementsContainer>(RequirementsContainer.class, this, InterchangePackage.RIF_AREA__ROOT_REQUIREMENT_CONTAINER);
+ }
+ return rootRequirementContainer;
+ }
+
+ /**
+ * <!-- 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, InterchangePackage.RIF_AREA__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+} // RIFAreaImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/impl/RIFExportAreaImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/impl/RIFExportAreaImpl.java
new file mode 100644
index 00000000000..a22da624a95
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/impl/RIFExportAreaImpl.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.interchange.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.RIFExportArea;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>RIF Export Area</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class RIFExportAreaImpl extends RIFAreaImpl implements RIFExportArea {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected RIFExportAreaImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return InterchangePackage.Literals.RIF_EXPORT_AREA;
+ }
+
+} // RIFExportAreaImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/impl/RIFImportAreaImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/impl/RIFImportAreaImpl.java
new file mode 100644
index 00000000000..33d32bc3bfd
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/impl/RIFImportAreaImpl.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.interchange.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.RIFImportArea;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>RIF Import Area</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class RIFImportAreaImpl extends RIFAreaImpl implements RIFImportArea {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected RIFImportAreaImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return InterchangePackage.Literals.RIF_IMPORT_AREA;
+ }
+
+} // RIFImportAreaImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/util/InterchangeAdapterFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/util/InterchangeAdapterFactory.java
new file mode 100644
index 00000000000..c8af0372f5c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/util/InterchangeAdapterFactory.java
@@ -0,0 +1,201 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.interchange.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.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.RIFArea;
+import org.eclipse.papyrus.eastadl.interchange.RIFExportArea;
+import org.eclipse.papyrus.eastadl.interchange.RIFImportArea;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.interchange.InterchangePackage
+ * @generated
+ */
+public class InterchangeAdapterFactory extends AdapterFactoryImpl {
+
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected static InterchangePackage modelPackage;
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ protected InterchangeSwitch<Adapter> modelSwitch = new InterchangeSwitch<Adapter>() {
+ @Override
+ public Adapter caseRIFArea(RIFArea object) {
+ return createRIFAreaAdapter();
+ }
+ @Override
+ public Adapter caseRIFExportArea(RIFExportArea object) {
+ return createRIFExportAreaAdapter();
+ }
+ @Override
+ public Adapter caseRIFImportArea(RIFImportArea object) {
+ return createRIFImportAreaAdapter();
+ }
+ @Override
+ public Adapter caseEAElement(EAElement object) {
+ return createEAElementAdapter();
+ }
+ @Override
+ public Adapter caseContext(Context object) {
+ return createContextAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public InterchangeAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = InterchangePackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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.eclipse.papyrus.eastadl.interchange.RIFArea <em>RIF Area</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.interchange.RIFArea
+ * @generated
+ */
+ public Adapter createRIFAreaAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.interchange.RIFExportArea <em>RIF Export Area</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.interchange.RIFExportArea
+ * @generated
+ */
+ public Adapter createRIFExportAreaAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.interchange.RIFImportArea <em>RIF Import Area</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.interchange.RIFImportArea
+ * @generated
+ */
+ public Adapter createRIFImportAreaAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement <em>EA Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAElement
+ * @generated
+ */
+ public Adapter createEAElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Context <em>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.eastadl.infrastructure.elements.Context
+ * @generated
+ */
+ public Adapter createContextAdapter() {
+ 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;
+ }
+
+ /**
+ * 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;
+ }
+
+} // InterchangeAdapterFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/util/InterchangeResourceFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/util/InterchangeResourceFactoryImpl.java
new file mode 100644
index 00000000000..0b37ea4c7c6
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/util/InterchangeResourceFactoryImpl.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.interchange.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.eclipse.papyrus.eastadl.interchange.util.InterchangeResourceImpl
+ * @generated
+ */
+public class InterchangeResourceFactoryImpl extends ResourceFactoryImpl {
+
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public InterchangeResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new InterchangeResourceImpl(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;
+ }
+
+} // InterchangeResourceFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/util/InterchangeResourceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/util/InterchangeResourceImpl.java
new file mode 100644
index 00000000000..4b1429c48ad
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/util/InterchangeResourceImpl.java
@@ -0,0 +1,38 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.interchange.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.eclipse.papyrus.eastadl.interchange.util.InterchangeResourceFactoryImpl
+ * @generated
+ */
+public class InterchangeResourceImpl extends XMLResourceImpl {
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public InterchangeResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} // InterchangeResourceImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/util/InterchangeSwitch.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/util/InterchangeSwitch.java
new file mode 100644
index 00000000000..8c9589415c2
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/util/InterchangeSwitch.java
@@ -0,0 +1,201 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.interchange.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.RIFArea;
+import org.eclipse.papyrus.eastadl.interchange.RIFExportArea;
+import org.eclipse.papyrus.eastadl.interchange.RIFImportArea;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.interchange.InterchangePackage
+ * @generated
+ */
+public class InterchangeSwitch<T> extends Switch<T> {
+
+ /**
+ * The cached model package
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected static InterchangePackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public InterchangeSwitch() {
+ if (modelPackage == null) {
+ modelPackage = InterchangePackage.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;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>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>Context</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseContext(Context 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;
+ }
+
+ /**
+ * 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 InterchangePackage.RIF_AREA: {
+ RIFArea rifArea = (RIFArea)theEObject;
+ T result = caseRIFArea(rifArea);
+ if (result == null) result = caseContext(rifArea);
+ if (result == null) result = caseEAElement(rifArea);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case InterchangePackage.RIF_EXPORT_AREA: {
+ RIFExportArea rifExportArea = (RIFExportArea)theEObject;
+ T result = caseRIFExportArea(rifExportArea);
+ if (result == null) result = caseRIFArea(rifExportArea);
+ if (result == null) result = caseContext(rifExportArea);
+ if (result == null) result = caseEAElement(rifExportArea);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case InterchangePackage.RIF_IMPORT_AREA: {
+ RIFImportArea rifImportArea = (RIFImportArea)theEObject;
+ T result = caseRIFImportArea(rifImportArea);
+ if (result == null) result = caseRIFArea(rifImportArea);
+ if (result == null) result = caseContext(rifImportArea);
+ if (result == null) result = caseEAElement(rifImportArea);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>RIF Area</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>RIF Area</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRIFArea(RIFArea object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>RIF Export Area</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>RIF Export Area</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRIFExportArea(RIFExportArea object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>RIF Import Area</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>RIF Import Area</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRIFImportArea(RIFImportArea object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAElement(EAElement object) {
+ return null;
+ }
+
+} // InterchangeSwitch
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/util/InterchangeXMLProcessor.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/util/InterchangeXMLProcessor.java
new file mode 100644
index 00000000000..c7cee0db8ab
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/interchange/util/InterchangeXMLProcessor.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.interchange.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.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ */
+public class InterchangeXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public InterchangeXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ InterchangePackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the InterchangeResourceFactoryImpl 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 InterchangeResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new InterchangeResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} // InterchangeXMLProcessor
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/Actor.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/Actor.java
new file mode 100644
index 00000000000..0657a4daf5a
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/Actor.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements;
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Actor</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.Actor#getBase_Actor <em>Base Actor</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getActor()
+ * @model
+ * @generated
+ */
+public interface Actor extends TraceableSpecification {
+ /**
+ * Returns the value of the '<em><b>Base Actor</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Actor</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 Actor</em>' reference.
+ * @see #setBase_Actor(org.eclipse.uml2.uml.Actor)
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getActor_Base_Actor()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Actor getBase_Actor();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.Actor#getBase_Actor <em>Base Actor</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Actor</em>' reference.
+ * @see #getBase_Actor()
+ * @generated
+ */
+ void setBase_Actor(org.eclipse.uml2.uml.Actor value);
+
+} // Actor
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/DeriveRequirement.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/DeriveRequirement.java
new file mode 100644
index 00000000000..7502ef47b14
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/DeriveRequirement.java
@@ -0,0 +1,78 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.sysml.requirements.DeriveReqt;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Derive Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * ADLDeriveReqt signifies a dependency relationship in-between two sets of ADL requirements, showing the relationship when a set of derived client ADL requirement (client requirement) is derived from a set of ADL requirements (supplier requirement). It inherits from SysML::DeriveReqt which extends Dependency.
+ *
+ * Semantics:
+ * ADLDeriveReqt signifies a derived/derived by relationship between ADLRequirements, where the modification of the supplierADLRequirement may impact the derived client ADLRequirement. ADLDeriveReqt implies the semantics that the derived client ADLRequirement is not complete, without the supplier ADLRequirement.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.DeriveRequirement#getDerived <em>Derived</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.DeriveRequirement#getDerivedFrom <em>Derived From</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getDeriveRequirement()
+ * @model
+ * @generated
+ */
+public interface DeriveRequirement extends RequirementsRelationship, DeriveReqt {
+ /**
+ * Returns the value of the '<em><b>Derived</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.Requirement}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The set of ADL requirements derived from the supplier ADL requirement.
+ * {derived from UML::DirectedRelationship::target}
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Derived</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getDeriveRequirement_Derived()
+ * @model required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<Requirement> getDerived();
+
+ /**
+ * Returns the value of the '<em><b>Derived From</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.Requirement}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The set of ADL requirements that the client ADL requirement are derived from.
+ * {derived from UML::DirectedRelationship::source}
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Derived From</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getDeriveRequirement_DerivedFrom()
+ * @model required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<Requirement> getDerivedFrom();
+
+} // DeriveRequirement
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/Extend.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/Extend.java
new file mode 100644
index 00000000000..0a9b960b136
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/Extend.java
@@ -0,0 +1,108 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Relationship;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Extend</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.Extend#getBase_Extend <em>Base Extend</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.Extend#getExtendedCase <em>Extended Case</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.Extend#getExtensionLocation <em>Extension Location</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getExtend()
+ * @model
+ * @generated
+ */
+public interface Extend extends Relationship {
+ /**
+ * Returns the value of the '<em><b>Base Extend</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Extend</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 Extend</em>' reference.
+ * @see #setBase_Extend(org.eclipse.uml2.uml.Extend)
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getExtend_Base_Extend()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Extend getBase_Extend();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.Extend#getBase_Extend <em>Base Extend</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Extend</em>' reference.
+ * @see #getBase_Extend()
+ * @generated
+ */
+ void setBase_Extend(org.eclipse.uml2.uml.Extend value);
+
+ /**
+ * Returns the value of the '<em><b>Extended Case</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Extended Case</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Extended Case</em>' reference.
+ * @see #setExtendedCase(UseCase)
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getExtend_ExtendedCase()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ UseCase getExtendedCase();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.Extend#getExtendedCase <em>Extended Case</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Extended Case</em>' reference.
+ * @see #getExtendedCase()
+ * @generated
+ */
+ void setExtendedCase(UseCase value);
+
+ /**
+ * Returns the value of the '<em><b>Extension Location</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.ExtensionPoint}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Extension Location</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>Extension Location</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getExtend_ExtensionLocation()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<ExtensionPoint> getExtensionLocation();
+
+} // Extend
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/ExtensionPoint.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/ExtensionPoint.java
new file mode 100644
index 00000000000..24e5102c0b1
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/ExtensionPoint.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Extension Point</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.ExtensionPoint#getBase_ExtensionPoint <em>Base Extension Point</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getExtensionPoint()
+ * @model
+ * @generated
+ */
+public interface ExtensionPoint extends RedefinableElement {
+ /**
+ * Returns the value of the '<em><b>Base Extension Point</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Extension Point</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 Extension Point</em>' reference.
+ * @see #setBase_ExtensionPoint(org.eclipse.uml2.uml.ExtensionPoint)
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getExtensionPoint_Base_ExtensionPoint()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.ExtensionPoint getBase_ExtensionPoint();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.ExtensionPoint#getBase_ExtensionPoint <em>Base Extension Point</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Extension Point</em>' reference.
+ * @see #getBase_ExtensionPoint()
+ * @generated
+ */
+ void setBase_ExtensionPoint(org.eclipse.uml2.uml.ExtensionPoint value);
+
+} // ExtensionPoint
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/Include.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/Include.java
new file mode 100644
index 00000000000..85552ac2ae9
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/Include.java
@@ -0,0 +1,90 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements;
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Relationship;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Include</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.Include#getBase_Include <em>Base Include</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.Include#getAddition <em>Addition</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getInclude()
+ * @model
+ * @generated
+ */
+public interface Include extends Relationship {
+ /**
+ * Returns the value of the '<em><b>Base Include</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Include</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 Include</em>' reference.
+ * @see #setBase_Include(org.eclipse.uml2.uml.Include)
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getInclude_Base_Include()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Include getBase_Include();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.Include#getBase_Include <em>Base Include</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Include</em>' reference.
+ * @see #getBase_Include()
+ * @generated
+ */
+ void setBase_Include(org.eclipse.uml2.uml.Include value);
+
+ /**
+ * Returns the value of the '<em><b>Addition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Addition</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Addition</em>' reference.
+ * @see #setAddition(UseCase)
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getInclude_Addition()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ UseCase getAddition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.Include#getAddition <em>Addition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Addition</em>' reference.
+ * @see #getAddition()
+ * @generated
+ */
+ void setAddition(UseCase value);
+
+} // Include
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/OperationalSituation.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/OperationalSituation.java
new file mode 100644
index 00000000000..1252cbd22f3
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/OperationalSituation.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements;
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Operational Situation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.OperationalSituation#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getOperationalSituation()
+ * @model
+ * @generated
+ */
+public interface OperationalSituation extends TraceableSpecification {
+ /**
+ * 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.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getOperationalSituation_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.OperationalSituation#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);
+
+} // OperationalSituation
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/QualityRequirement.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/QualityRequirement.java
new file mode 100644
index 00000000000..9dee261a6db
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/QualityRequirement.java
@@ -0,0 +1,75 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Quality Requirement</b></em>
+ * '. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * QualityRequirements are the kind of requirements that are used to introduce externally visible properties of the system considered as a whole.
+ * The attribute qualityRequirementType allows a more specific classification.
+ *
+ *
+ *
+ * Extension:
+ * Class, specializes Requirement
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.QualityRequirement#getQualityRequirementType <em>Quality Requirement Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getQualityRequirement()
+ * @model
+ * @generated
+ */
+public interface QualityRequirement extends Requirement {
+
+ /**
+ * Returns the value of the '<em><b>Quality Requirement Type</b></em>' attribute. The default
+ * value is <code>""</code>. The literals are from the enumeration
+ * {@link org.eclipse.papyrus.eastadl.requirements.QualityRequirementKind}. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Quality Requirement 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>Quality Requirement Type</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.requirements.QualityRequirementKind
+ * @see #setQualityRequirementType(QualityRequirementKind)
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getQualityRequirement_QualityRequirementType()
+ * @model default="" required="true" ordered="false"
+ * @generated
+ */
+ QualityRequirementKind getQualityRequirementType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.QualityRequirement#getQualityRequirementType <em>Quality Requirement Type</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Quality Requirement Type</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.requirements.QualityRequirementKind
+ * @see #getQualityRequirementType()
+ * @generated
+ */
+ void setQualityRequirementType(QualityRequirementKind value);
+
+} // QualityRequirement
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/QualityRequirementKind.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/QualityRequirementKind.java
new file mode 100644
index 00000000000..cfa4dfc95f8
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/QualityRequirementKind.java
@@ -0,0 +1,465 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements;
+
+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>Quality Requirement Kind</b></em>', and utility methods for working with them. <!--
+ * end-user-doc --> <!-- begin-model-doc --> Various types of quality requirements. <!--
+ * end-model-doc -->
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getQualityRequirementKind()
+ * @model
+ * @generated
+ */
+public enum QualityRequirementKind implements Enumerator {
+ /**
+ * The '<em><b>Ergonomy</b></em>' literal object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #ERGONOMY_VALUE
+ * @generated
+ * @ordered
+ */
+ ERGONOMY(0, "ergonomy", "ergonomy"),
+
+ /**
+ * The '<em><b>Configurability</b></em>' literal object.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see #CONFIGURABILITY_VALUE
+ * @generated
+ * @ordered
+ */
+ CONFIGURABILITY(1, "configurability", "configurability"),
+
+ /**
+ * The '<em><b>Integrity</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #INTEGRITY_VALUE
+ * @generated
+ * @ordered
+ */
+ INTEGRITY(2, "integrity", "integrity"), /**
+ * The '<em><b>Safety</b></em>' literal object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #SAFETY_VALUE
+ * @generated
+ * @ordered
+ */
+ SAFETY(3, "safety", "safety"),
+
+ /**
+ * The '<em><b>Other</b></em>' literal object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #OTHER_VALUE
+ * @generated
+ * @ordered
+ */
+ OTHER(4, "other", "other"),
+
+ /**
+ * The '<em><b>Security</b></em>' literal object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #SECURITY_VALUE
+ * @generated
+ * @ordered
+ */
+ SECURITY(5, "security", "security"),
+
+ /**
+ * The '<em><b>Human Machine Interface</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #HUMAN_MACHINE_INTERFACE_VALUE
+ * @generated
+ * @ordered
+ */
+ HUMAN_MACHINE_INTERFACE(6, "humanMachineInterface", "humanMachineInterface"), /**
+ * The '<em><b>Timing</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #TIMING_VALUE
+ * @generated
+ * @ordered
+ */
+ TIMING(7, "timing", "timing"), /**
+ * The '<em><b>Availability</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #AVAILABILITY_VALUE
+ * @generated
+ * @ordered
+ */
+ AVAILABILITY(8, "availability", "availability"), /**
+ * The '<em><b>Reliability</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #RELIABILITY_VALUE
+ * @generated
+ * @ordered
+ */
+ RELIABILITY(9, "reliability", "reliability"), /**
+ * The '<em><b>Confidentiality</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #CONFIDENTIALITY_VALUE
+ * @generated
+ * @ordered
+ */
+ CONFIDENTIALITY(10, "confidentiality", "confidentiality"), /**
+ * The '<em><b>Maintainability</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #MAINTAINABILITY_VALUE
+ * @generated
+ * @ordered
+ */
+ MAINTAINABILITY(11, "maintainability", "maintainability");
+
+ /**
+ * The '<em><b>Ergonomy</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Ergonomy</b></em>' literal object isn't clear, there really should
+ * be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ERGONOMY
+ * @model name="ergonomy"
+ * @generated
+ * @ordered
+ */
+ public static final int ERGONOMY_VALUE = 0;
+
+ /**
+ * The '<em><b>Configurability</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Configurability</b></em>' literal object isn't clear, there really
+ * should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #CONFIGURABILITY
+ * @model name="configurability"
+ * @generated
+ * @ordered
+ */
+ public static final int CONFIGURABILITY_VALUE = 1;
+
+ /**
+ * The '<em><b>Integrity</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Integrity</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #INTEGRITY
+ * @model name="integrity"
+ * @generated
+ * @ordered
+ */
+ public static final int INTEGRITY_VALUE = 2;
+
+ /**
+ * The '<em><b>Safety</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Safety</b></em>' literal object isn't clear, there really should be
+ * more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #SAFETY
+ * @model name="safety"
+ * @generated
+ * @ordered
+ */
+ public static final int SAFETY_VALUE = 3;
+
+ /**
+ * The '<em><b>Other</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Other</b></em>' literal object isn't clear, there really should be
+ * more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #OTHER
+ * @model name="other"
+ * @generated
+ * @ordered
+ */
+ public static final int OTHER_VALUE = 4;
+
+ /**
+ * The '<em><b>Security</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Security</b></em>' literal object isn't clear, there really should
+ * be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #SECURITY
+ * @model name="security"
+ * @generated
+ * @ordered
+ */
+ public static final int SECURITY_VALUE = 5;
+
+ /**
+ * The '<em><b>Human Machine Interface</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Human Machine Interface</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #HUMAN_MACHINE_INTERFACE
+ * @model name="humanMachineInterface"
+ * @generated
+ * @ordered
+ */
+ public static final int HUMAN_MACHINE_INTERFACE_VALUE = 6;
+
+ /**
+ * The '<em><b>Timing</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Timing</b></em>' literal object isn't clear, there really should be
+ * more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #TIMING
+ * @model name="timing"
+ * @generated
+ * @ordered
+ */
+ public static final int TIMING_VALUE = 7;
+
+ /**
+ * The '<em><b>Availability</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Availability</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #AVAILABILITY
+ * @model name="availability"
+ * @generated
+ * @ordered
+ */
+ public static final int AVAILABILITY_VALUE = 8;
+
+ /**
+ * The '<em><b>Reliability</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Reliability</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #RELIABILITY
+ * @model name="reliability"
+ * @generated
+ * @ordered
+ */
+ public static final int RELIABILITY_VALUE = 9;
+
+ /**
+ * The '<em><b>Confidentiality</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Confidentiality</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #CONFIDENTIALITY
+ * @model name="confidentiality"
+ * @generated
+ * @ordered
+ */
+ public static final int CONFIDENTIALITY_VALUE = 10;
+
+ /**
+ * The '<em><b>Maintainability</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Maintainability</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #MAINTAINABILITY
+ * @model name="maintainability"
+ * @generated
+ * @ordered
+ */
+ public static final int MAINTAINABILITY_VALUE = 11;
+
+ /**
+ * An array of all the '<em><b>Quality Requirement Kind</b></em>' enumerators. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static final QualityRequirementKind[] VALUES_ARRAY = new QualityRequirementKind[] {
+ ERGONOMY,
+ CONFIGURABILITY,
+ INTEGRITY,
+ SAFETY,
+ OTHER,
+ SECURITY,
+ HUMAN_MACHINE_INTERFACE,
+ TIMING,
+ AVAILABILITY,
+ RELIABILITY,
+ CONFIDENTIALITY,
+ MAINTAINABILITY,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Quality Requirement Kind</b></em>' enumerators.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<QualityRequirementKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Quality Requirement Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public static QualityRequirementKind get(int value) {
+ switch (value) {
+ case ERGONOMY_VALUE: return ERGONOMY;
+ case CONFIGURABILITY_VALUE: return CONFIGURABILITY;
+ case INTEGRITY_VALUE: return INTEGRITY;
+ case SAFETY_VALUE: return SAFETY;
+ case OTHER_VALUE: return OTHER;
+ case SECURITY_VALUE: return SECURITY;
+ case HUMAN_MACHINE_INTERFACE_VALUE: return HUMAN_MACHINE_INTERFACE;
+ case TIMING_VALUE: return TIMING;
+ case AVAILABILITY_VALUE: return AVAILABILITY;
+ case RELIABILITY_VALUE: return RELIABILITY;
+ case CONFIDENTIALITY_VALUE: return CONFIDENTIALITY;
+ case MAINTAINABILITY_VALUE: return MAINTAINABILITY;
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Quality Requirement Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public static QualityRequirementKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ QualityRequirementKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Quality Requirement Kind</b></em>' literal with the specified name. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static QualityRequirementKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ QualityRequirementKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ 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 QualityRequirementKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * 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;
+ }
+
+} // QualityRequirementKind
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RedefinableElement.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RedefinableElement.java
new file mode 100644
index 00000000000..65ac90ba344
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RedefinableElement.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Redefinable Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.RedefinableElement#getBase_RedefinableElement <em>Base Redefinable Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRedefinableElement()
+ * @model abstract="true"
+ * @generated
+ */
+public interface RedefinableElement extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Redefinable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Redefinable Element</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 Redefinable Element</em>' reference.
+ * @see #setBase_RedefinableElement(org.eclipse.uml2.uml.RedefinableElement)
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRedefinableElement_Base_RedefinableElement()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.RedefinableElement getBase_RedefinableElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.RedefinableElement#getBase_RedefinableElement <em>Base Redefinable Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Redefinable Element</em>' reference.
+ * @see #getBase_RedefinableElement()
+ * @generated
+ */
+ void setBase_RedefinableElement(org.eclipse.uml2.uml.RedefinableElement value);
+
+} // RedefinableElement
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/Refine.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/Refine.java
new file mode 100644
index 00000000000..0c124b7d1b4
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/Refine.java
@@ -0,0 +1,132 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Refine</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The Refine is a relationship metaclass, which signifies a dependency relationship in-between Requirements and EAElements, showing the relationship when a client EAElement refines the supplier Requirement.
+ *
+ * Semantics:
+ * The Refine metaclass signifies a refined requirement/refined by relationship between a Requirement and an EAElement, where the modification of the supplier Requirement may impact the refining client EAElement. The Refine metaclass implies the semantics that the refining client EAElement is not complete, without the supplier Requirement.
+ *
+ * Constraints:
+ * [1] The property refinedBy must not have the types Requirement or RequirementContainer.
+ *
+ * Notation:
+ * A Refine relationship is shown as a dashed arrow between the Requirements and EAElement. The entity at the tail of the arrow (the refining EAElement) depends on the Requirement at the arrowhead (the refined Requirement).
+ *
+ * Extension: specializes UML2 stereotype Refine, which extends Dependency.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.Refine#getRefinedRequirement <em>Refined Requirement</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.Refine#getRefinedBy <em>Refined By</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.Refine#getBase_Dependency <em>Base Dependency</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.Refine#getRefinedBy_path <em>Refined By path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRefine()
+ * @model
+ * @generated
+ */
+public interface Refine extends RequirementsRelationship, org.eclipse.uml2.uml.profile.l2.Refine {
+
+ /**
+ * Returns the value of the '<em><b>Refined By</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.NamedElement}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * List of ADLEntity participating to the refinement of the refined ADL requirements.
+ * {derived from UML::Dependency::client}
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Refined By</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRefine_RefinedBy()
+ * @model required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<NamedElement> getRefinedBy();
+
+ /**
+ * Returns the value of the '<em><b>Base Dependency</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Dependency</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 Dependency</em>' reference.
+ * @see #setBase_Dependency(Dependency)
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRefine_Base_Dependency()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Dependency getBase_Dependency();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.Refine#getBase_Dependency <em>Base Dependency</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Dependency</em>' reference.
+ * @see #getBase_Dependency()
+ * @generated
+ */
+ void setBase_Dependency(Dependency value);
+
+ /**
+ * Returns the value of the '<em><b>Refined By path</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.NamedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Refined By path</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>Refined By path</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRefine_RefinedBy_path()
+ * @model
+ * @generated
+ */
+ EList<NamedElement> getRefinedBy_path();
+
+ /**
+ * Returns the value of the '<em><b>Refined Requirement</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.Requirement}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * List of refined requirements.
+ * {derived from UML::DirectedRelationship::target}
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Refined Requirement</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRefine_RefinedRequirement()
+ * @model required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<Requirement> getRefinedRequirement();
+
+} // Refine
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/Requirement.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/Requirement.java
new file mode 100644
index 00000000000..21c704f3464
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/Requirement.java
@@ -0,0 +1,128 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.behavior.Mode;
+
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Requirement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The Requirement represents a capability or condition that must (or should) be satisfied. A Requirement can also specify an informal constraint, e.g. "The development of the component X must be according to the standard Y", or "The realization of this function as a software component must adhere to the scope and external interface as specified by this function". It will be used to unite the common properties of specific requirement types. A Requirement may either be directly associated to a Context (by inheriting from TraceableSpecification or it may be included in a RequirementContainer, which represents a larger unit or module of specification information.
+ *
+ * The traceability between Requirement entities, and other specification or design entities, will be ensured by the relationship dependencies described in the Infrastructure part of this specification.
+ *
+ * Semantics:
+ * The Requirement metaclass applies to the EAElement that is associated to the Requirement through the Satisfy relation.
+ *
+ * Notation:
+ * Requirement is shown as a solid rectangle with Req top right and its name.
+ *
+ * Changes:
+ * Renamed from Requirement, name clash with SysML
+ * ToDo:
+ * Check the attributes specified in EAST.
+ *
+ * Extension:
+ * To specialize SysML::Requirement, which extends Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.Requirement#getFormalism <em>Formalism</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.Requirement#getUrl <em>Url</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.Requirement#getMode <em>Mode</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirement()
+ * @model
+ * @generated
+ */
+public interface Requirement extends org.eclipse.papyrus.sysml.requirements.Requirement, RequirementSpecificationObject {
+ /**
+ * Returns the value of the '<em><b>Formalism</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Specifies the language used for the requirement statement.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Formalism</em>' attribute.
+ * @see #setFormalism(String)
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirement_Formalism()
+ * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+ * @generated
+ */
+ String getFormalism();
+
+ /**
+ * Returns the value of the '<em><b>Mode</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.behavior.Mode}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Mode</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirement_Mode()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Mode> getMode();
+
+ /**
+ * Returns the value of the '<em><b>Url</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Reference to possible external file containing the requirement statement.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Url</em>' attribute.
+ * @see #setUrl(String)
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirement_Url()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" ordered="false"
+ * @generated
+ */
+ String getUrl();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.Requirement#getFormalism <em>Formalism</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Formalism</em>' attribute.
+ * @see #getFormalism()
+ * @generated
+ */
+ void setFormalism(String value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.Requirement#getUrl <em>Url</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Url</em>' attribute.
+ * @see #getUrl()
+ * @generated
+ */
+ void setUrl(String value);
+
+} // Requirement
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementSpecificationObject.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementSpecificationObject.java
new file mode 100644
index 00000000000..47959117978
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementSpecificationObject.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Requirement Specification Object</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * In general it is a standard practice (e.g. using IBM Rational DOORS) to define requirements and also rationales, explanations and other requirement related information as direct successors or predecessors of an appropriate requirement. Thus, requirements and requirement related information are generalized to RequirementSpecificationObject which in turn can be referenced by the structuring container structure (RequirementContainer).
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.RequirementSpecificationObject#getReferencingContainer <em>Referencing Container</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirementSpecificationObject()
+ * @model abstract="true"
+ * @generated
+ */
+public interface RequirementSpecificationObject extends TraceableSpecification {
+
+ /**
+ * Returns the value of the '<em><b>Referencing Container</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.RequirementsContainer}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Referencing Container</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>Referencing Container</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirementSpecificationObject_ReferencingContainer()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<RequirementsContainer> getReferencingContainer();
+
+} // RequirementSpecificationObject
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsContainer.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsContainer.java
new file mode 100644
index 00000000000..49e32b6f0cb
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsContainer.java
@@ -0,0 +1,184 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Container</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * RequirementContainer represents a larger unit or module of specification information. It is used to share several Requirements which are semantically related to each other. Also, a RequirementContainer structure will be used for structuring requirement specification objects (Requirements, Rationals etc.). Thus, to preserve the ordering of requirement specification objects the ordering of child containers is very important here.
+ *
+ * In addition to sharing related Requirements, the RequirementContainer allows to define relations between its contained Requirements and also a grouping of them.
+ *
+ * Furthermore, the RequirementContainer allows introducing additional user attribute definitions by way of UserAttributeElementTypes or UserAttributeTemplates which are valid only locally inside this RequirementContainer. These are additional in that they are used in addition to the user attribute definitions which are provided globally for the entire EAST-ADL2 repository.
+ *
+ * An EAST-ADL2 system model may contain a forest of RequirementContainer (see parent child relationship). Only non root RequirementContainer which have a parentContainer are allowed to reference a RequirementSpecificationObject.
+ * The RequirementContainer with its parent child containment relationship and the reference to RequirementSpecificationObject is the basis element for structuring requirement information into a forest structure.
+ *
+ * Constraints:
+ * [1] Only non root RequirementContainer (parentContainer must be set) which have a parentContainer are allowed to reference a RequirementSpecificationObject.
+ *
+ * Notation:
+ * RequirementContainer is shown as a solid-outline rectangle containing the name. Contained entities may also be shown inside (White-box view)
+ *
+ * Extension: Package
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.RequirementsContainer#getChildContainer <em>Child Container</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.RequirementsContainer#getParentContainer <em>Parent Container</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.RequirementsContainer#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.RequirementsContainer#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.RequirementsContainer#getContainedReqSpecObject <em>Contained Req Spec Object</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirementsContainer()
+ * @model
+ * @generated
+ */
+public interface RequirementsContainer extends TraceableSpecification {
+ /**
+ * Returns the value of the '<em><b>Child Container</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.RequirementsContainer}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsContainer#getParentContainer <em>Parent Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Sub containers of a requirement container. Sub containers may have references (each time max. 1) to requirement specification objects. To preserve the original ordering of requirement specifiaction objects, the ordering of Sub containers is very important here.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Child Container</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirementsContainer_ChildContainer()
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsContainer#getParentContainer
+ * @model opposite="parentContainer"
+ * @generated
+ */
+ EList<RequirementsContainer> getChildContainer();
+
+ /**
+ * Returns the value of the '<em><b>Contained Req Spec Object</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Contained Req Spec Object</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>Contained Req Spec Object</em>' reference.
+ * @see #setContainedReqSpecObject(RequirementSpecificationObject)
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirementsContainer_ContainedReqSpecObject()
+ * @model ordered="false"
+ * @generated
+ */
+ RequirementSpecificationObject getContainedReqSpecObject();
+
+ /**
+ * Returns the value of the '<em><b>Parent Container</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsContainer#getChildContainer <em>Child Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The Parent container of a container. If there is no parent, the container is a root container and thus cannot have a reference to a requirement specification object.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Parent Container</em>' reference.
+ * @see #setParentContainer(RequirementsContainer)
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirementsContainer_ParentContainer()
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsContainer#getChildContainer
+ * @model opposite="childContainer" ordered="false"
+ * @generated
+ */
+ RequirementsContainer getParentContainer();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsContainer#getContainedReqSpecObject <em>Contained Req Spec Object</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Contained Req Spec Object</em>' reference.
+ * @see #getContainedReqSpecObject()
+ * @generated
+ */
+ void setContainedReqSpecObject(RequirementSpecificationObject value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsContainer#getParentContainer <em>Parent Container</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Parent Container</em>' reference.
+ * @see #getParentContainer()
+ * @generated
+ */
+ void setParentContainer(RequirementsContainer 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.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirementsContainer_Base_Class()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsContainer#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>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.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirementsContainer_Base_Package()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsContainer#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);
+
+} // RequirementsContainer
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsFactory.java
new file mode 100644
index 00000000000..e74ccfdfd4b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsFactory.java
@@ -0,0 +1,187 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements;
+
+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.eclipse.papyrus.eastadl.requirements.RequirementsPackage
+ * @generated
+ */
+public interface RequirementsFactory extends EFactory {
+
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ RequirementsFactory eINSTANCE = org.eclipse.papyrus.eastadl.requirements.impl.RequirementsFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Derive Requirement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Derive Requirement</em>'.
+ * @generated
+ */
+ DeriveRequirement createDeriveRequirement();
+
+ /**
+ * Returns a new object of class '<em>Operational Situation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Operational Situation</em>'.
+ * @generated
+ */
+ OperationalSituation createOperationalSituation();
+
+ /**
+ * Returns a new object of class '<em>Actor</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Actor</em>'.
+ * @generated
+ */
+ Actor createActor();
+
+ /**
+ * Returns a new object of class '<em>Quality Requirement</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return a new object of class '<em>Quality Requirement</em>'.
+ * @generated
+ */
+ QualityRequirement createQualityRequirement();
+
+ /**
+ * Returns a new object of class '<em>Refine</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Refine</em>'.
+ * @generated
+ */
+ Refine createRefine();
+
+ /**
+ * Returns a new object of class '<em>Requirement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Requirement</em>'.
+ * @generated
+ */
+ Requirement createRequirement();
+
+ /**
+ * Returns a new object of class '<em>Container</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Container</em>'.
+ * @generated
+ */
+ RequirementsContainer createRequirementsContainer();
+
+ /**
+ * Returns a new object of class '<em>Link</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Link</em>'.
+ * @generated
+ */
+ RequirementsLink createRequirementsLink();
+
+ /**
+ * Returns a new object of class '<em>Model</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Model</em>'.
+ * @generated
+ */
+ RequirementsModel createRequirementsModel();
+
+ /**
+ * Returns a new object of class '<em>Related Information</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Related Information</em>'.
+ * @generated
+ */
+ RequirementsRelatedInformation createRequirementsRelatedInformation();
+
+ /**
+ * Returns a new object of class '<em>Relation Group</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Relation Group</em>'.
+ * @generated
+ */
+ RequirementsRelationGroup createRequirementsRelationGroup();
+
+ /**
+ * Returns a new object of class '<em>Satisfy</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Satisfy</em>'.
+ * @generated
+ */
+ Satisfy createSatisfy();
+
+ /**
+ * Returns a new object of class '<em>Use Case</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Use Case</em>'.
+ * @generated
+ */
+ UseCase createUseCase();
+
+ /**
+ * Returns a new object of class '<em>Include</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Include</em>'.
+ * @generated
+ */
+ Include createInclude();
+
+ /**
+ * Returns a new object of class '<em>Extend</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Extend</em>'.
+ * @generated
+ */
+ Extend createExtend();
+
+ /**
+ * Returns a new object of class '<em>Extension Point</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Extension Point</em>'.
+ * @generated
+ */
+ ExtensionPoint createExtensionPoint();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ RequirementsPackage getRequirementsPackage();
+
+} // RequirementsFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsLink.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsLink.java
new file mode 100644
index 00000000000..388ed3e90af
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsLink.java
@@ -0,0 +1,112 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements;
+
+import org.eclipse.emf.common.util.EList;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Link</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * RequirementsLink represents a relation between two or more Requirements. Source and target Requirements of the relation are distinguished, which means that the relation is directed (from source to target). If such a distinction does not make sense, then use a RequirementsGroup instead.
+ *
+ * The standard case will be a relation with one source and one target Requirement. However, it is possible to have several source and/or several target Requirements so that general relations can be expressed with instances of this metaclass.
+ *
+ * The semantic of a concrete Requirement relation can be provided by the modeler. In particular, three ways are conceivable:
+ *
+ * (1) The user attributes of the relation can be used to specify its meaning, for example with a user attribute called "relationType" which is set to values such as "needs" or "excludes".
+ *
+ * (2) The UserAttributeElementType can be used. Certain types will be used for certain relation semantics.
+ *
+ * (3) RequirementsRelationGroups can be used, i.e. all relations with an "excludes" meaning are put in one relation group and all with a "needs" meaning are put in another.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.RequirementsLink#isIsBidirectional <em>Is Bidirectional</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.RequirementsLink#getSource <em>Source</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.RequirementsLink#getTarget <em>Target</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirementsLink()
+ * @model
+ * @generated
+ */
+public interface RequirementsLink extends RequirementsRelationship {
+ /**
+ * Returns the value of the '<em><b>Source</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.Requirement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Source</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>Source</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirementsLink_Source()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<Requirement> getSource();
+
+ /**
+ * Returns the value of the '<em><b>Target</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.Requirement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Target</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</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirementsLink_Target()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<Requirement> getTarget();
+
+ /**
+ * Returns the value of the '<em><b>Is Bidirectional</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Bidirectional</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Bidirectional</em>' attribute.
+ * @see #setIsBidirectional(boolean)
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirementsLink_IsBidirectional()
+ * @model unique="false" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isIsBidirectional();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsLink#isIsBidirectional <em>Is Bidirectional</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Bidirectional</em>' attribute.
+ * @see #isIsBidirectional()
+ * @generated
+ */
+ void setIsBidirectional(boolean value);
+
+} // RequirementsLink
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsModel.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsModel.java
new file mode 100644
index 00000000000..86e01fa026b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsModel.java
@@ -0,0 +1,138 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.uml2.uml.UseCase;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Model</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The collection of requirements, their relationships, and usecases. This collection can be done across the EAST-ADL2 abstraction levels.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.RequirementsModel#getUseCase <em>Use Case</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.RequirementsModel#getRequirement <em>Requirement</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.RequirementsModel#getRequirementContainer <em>Requirement Container</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.RequirementsModel#getOperationalSituation <em>Operational Situation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.RequirementsModel#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirementsModel()
+ * @model
+ * @generated
+ */
+public interface RequirementsModel extends Context {
+ /**
+ * Returns the value of the '<em><b>Operational Situation</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.OperationalSituation}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Operational Situation</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>Operational Situation</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirementsModel_OperationalSituation()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<OperationalSituation> getOperationalSituation();
+
+ /**
+ * 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.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirementsModel_Base_Package()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsModel#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>Requirement</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.RequirementSpecificationObject}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Requirement</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Requirement</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirementsModel_Requirement()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<RequirementSpecificationObject> getRequirement();
+
+ /**
+ * Returns the value of the '<em><b>Requirement Container</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.RequirementsContainer}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Requirement Container</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Requirement Container</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirementsModel_RequirementContainer()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<RequirementsContainer> getRequirementContainer();
+
+ /**
+ * Returns the value of the '<em><b>Use Case</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.UseCase}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Use Case</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Use Case</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirementsModel_UseCase()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<UseCase> getUseCase();
+
+} // RequirementsModel
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsPackage.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsPackage.java
new file mode 100644
index 00000000000..50c596540d7
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsPackage.java
@@ -0,0 +1,3123 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements;
+
+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.eastadl.infrastructure.elements.ElementsPackage;
+
+
+/**
+ * <!-- 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 --> <!-- begin-model-doc --> Requirements do not constitute an independent view
+ * in EAST-ADL2. In a general ADL architecture, requirement entities will be parts of already
+ * existing artifacts. The present framework will show several constructs, which could be used, in
+ * principle, in any artifact (VFM, FAA, FDA..). Specific constraints on this will be shown in the
+ * related sections. A requirement expresses a condition or capability that must be met or possessed
+ * by a system or system component to satisfy a contract, standard, specification or other formally
+ * imposed properties. Requirements can be introduced in different phases of the development process
+ * for different reasons. They could be introduced by marketing people, control engineers, system
+ * engineers, software engineers, Driver/OS developers, basic software developers or hardware
+ * engineers. This leads to the fact that requirements have many sources, and requirements are of
+ * many types (at different level of detail) and have several relations between them. Under these
+ * conditions the number of requirements can become quickly unmanageable if appropriate management
+ * does not exist. Note that, requirements can change during the project development and the changes
+ * should be taken into account. Requirements are organized hierarchically through several kinds of
+ * refinement relations. EAST-ADL2 has constructs that deal with these problems. Some of these
+ * constructs are constructs that deals with general issues in software development and have been
+ * already addressed in the past by general processes, like IBM RUP (IBM Rational Unified Process).
+ * Here, RUP will not be intended as a guideline; concepts and definitions from RUP will though be
+ * used when useful whereas new ones will be introduced when required. As done for the structure
+ * part of EAST-ADL2, the requirements part will be compliant with UML2. The EAST-ADL2 adapts
+ * existing concepts whenever possible and develops new ones otherwise. And important source on the
+ * level of requirements is the Requirements Interchange Format (RIF). The purpose of the
+ * metaclasses in the Requirements domain meta-model package is to specify rigorously ("formally")
+ * the Requirements concepts for the specific domain. Support for requirement modeling is provided
+ * by the EAST-ADL2 on two levels: a generic level and a specialized level where specialized
+ * requirement entities are provided which are intended for certain special uses.
+ *
+ * Overview: The set of requirements are decomposed according to various issue of concerns among
+ * which timing issues are of acute importance. For timing issues, DelaySegment introduces a generic
+ * concept of delay between events occurring on input and output ports. It is further refined in
+ * various stereotypes to account for different specialized delays. Timing requirements Other
+ * requirements concern design constraints, allocation constraints, or precedence constraints
+ * between functions. <!-- end-model-doc -->
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface RequirementsPackage extends EPackage {
+
+ /**
+ * <!-- 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.eclipse.papyrus.eastadl.requirements.impl.QualityRequirementImpl <em>Quality Requirement</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.QualityRequirementImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getQualityRequirement()
+ * @generated
+ */
+ EClass QUALITY_REQUIREMENT = eINSTANCE.getQualityRequirement();
+
+ /**
+ * The meta object literal for the '<em><b>Quality Requirement Type</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute QUALITY_REQUIREMENT__QUALITY_REQUIREMENT_TYPE = eINSTANCE.getQualityRequirement_QualityRequirementType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementSpecificationObjectImpl <em>Requirement Specification Object</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementSpecificationObjectImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getRequirementSpecificationObject()
+ * @generated
+ */
+ EClass REQUIREMENT_SPECIFICATION_OBJECT = eINSTANCE.getRequirementSpecificationObject();
+
+ /**
+ * The meta object literal for the '<em><b>Referencing Container</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REQUIREMENT_SPECIFICATION_OBJECT__REFERENCING_CONTAINER = eINSTANCE.getRequirementSpecificationObject_ReferencingContainer();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsContainerImpl <em>Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsContainerImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getRequirementsContainer()
+ * @generated
+ */
+ EClass REQUIREMENTS_CONTAINER = eINSTANCE.getRequirementsContainer();
+
+ /**
+ * The meta object literal for the '<em><b>Child Container</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REQUIREMENTS_CONTAINER__CHILD_CONTAINER = eINSTANCE.getRequirementsContainer_ChildContainer();
+
+ /**
+ * The meta object literal for the '<em><b>Parent Container</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REQUIREMENTS_CONTAINER__PARENT_CONTAINER = eINSTANCE.getRequirementsContainer_ParentContainer();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REQUIREMENTS_CONTAINER__BASE_CLASS = eINSTANCE.getRequirementsContainer_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REQUIREMENTS_CONTAINER__BASE_PACKAGE = eINSTANCE.getRequirementsContainer_Base_Package();
+
+ /**
+ * The meta object literal for the '<em><b>Contained Req Spec Object</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REQUIREMENTS_CONTAINER__CONTAINED_REQ_SPEC_OBJECT = eINSTANCE.getRequirementsContainer_ContainedReqSpecObject();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsRelatedInformationImpl <em>Related Information</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsRelatedInformationImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getRequirementsRelatedInformation()
+ * @generated
+ */
+ EClass REQUIREMENTS_RELATED_INFORMATION = eINSTANCE.getRequirementsRelatedInformation();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REQUIREMENTS_RELATED_INFORMATION__BASE_CLASS = eINSTANCE.getRequirementsRelatedInformation_Base_Class();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsRelationshipImpl <em>Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsRelationshipImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getRequirementsRelationship()
+ * @generated
+ */
+ EClass REQUIREMENTS_RELATIONSHIP = eINSTANCE.getRequirementsRelationship();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REQUIREMENTS_RELATIONSHIP__BASE_CLASS = eINSTANCE.getRequirementsRelationship_Base_Class();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.SatisfyImpl <em>Satisfy</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.SatisfyImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getSatisfy()
+ * @generated
+ */
+ EClass SATISFY = eINSTANCE.getSatisfy();
+
+ /**
+ * The meta object literal for the '<em><b>Satisfied Requirement</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SATISFY__SATISFIED_REQUIREMENT = eINSTANCE.getSatisfy_SatisfiedRequirement();
+
+ /**
+ * The meta object literal for the '<em><b>Satisfied By</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SATISFY__SATISFIED_BY = eINSTANCE.getSatisfy_SatisfiedBy();
+
+ /**
+ * The meta object literal for the '<em><b>Satisfied Use Case</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SATISFY__SATISFIED_USE_CASE = eINSTANCE.getSatisfy_SatisfiedUseCase();
+
+ /**
+ * The meta object literal for the '<em><b>Satisfied By path</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SATISFY__SATISFIED_BY_PATH = eINSTANCE.getSatisfy_SatisfiedBy_path();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.UseCaseImpl <em>Use Case</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.UseCaseImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getUseCase()
+ * @generated
+ */
+ EClass USE_CASE = eINSTANCE.getUseCase();
+
+ /**
+ * The meta object literal for the '<em><b>Base Use Case</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference USE_CASE__BASE_USE_CASE = eINSTANCE.getUseCase_Base_UseCase();
+
+ /**
+ * The meta object literal for the '<em><b>Include</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference USE_CASE__INCLUDE = eINSTANCE.getUseCase_Include();
+
+ /**
+ * The meta object literal for the '<em><b>Extend</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference USE_CASE__EXTEND = eINSTANCE.getUseCase_Extend();
+
+ /**
+ * The meta object literal for the '<em><b>Extension Point</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference USE_CASE__EXTENSION_POINT = eINSTANCE.getUseCase_ExtensionPoint();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.IncludeImpl <em>Include</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.IncludeImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getInclude()
+ * @generated
+ */
+ EClass INCLUDE = eINSTANCE.getInclude();
+
+ /**
+ * The meta object literal for the '<em><b>Base Include</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference INCLUDE__BASE_INCLUDE = eINSTANCE.getInclude_Base_Include();
+
+ /**
+ * The meta object literal for the '<em><b>Addition</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference INCLUDE__ADDITION = eINSTANCE.getInclude_Addition();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.ExtendImpl <em>Extend</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.ExtendImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getExtend()
+ * @generated
+ */
+ EClass EXTEND = eINSTANCE.getExtend();
+
+ /**
+ * The meta object literal for the '<em><b>Base Extend</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXTEND__BASE_EXTEND = eINSTANCE.getExtend_Base_Extend();
+
+ /**
+ * The meta object literal for the '<em><b>Extended Case</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXTEND__EXTENDED_CASE = eINSTANCE.getExtend_ExtendedCase();
+
+ /**
+ * The meta object literal for the '<em><b>Extension Location</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXTEND__EXTENSION_LOCATION = eINSTANCE.getExtend_ExtensionLocation();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.ExtensionPointImpl <em>Extension Point</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.ExtensionPointImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getExtensionPoint()
+ * @generated
+ */
+ EClass EXTENSION_POINT = eINSTANCE.getExtensionPoint();
+
+ /**
+ * The meta object literal for the '<em><b>Base Extension Point</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXTENSION_POINT__BASE_EXTENSION_POINT = eINSTANCE.getExtensionPoint_Base_ExtensionPoint();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.RedefinableElementImpl <em>Redefinable Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RedefinableElementImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getRedefinableElement()
+ * @generated
+ */
+ EClass REDEFINABLE_ELEMENT = eINSTANCE.getRedefinableElement();
+
+ /**
+ * The meta object literal for the '<em><b>Base Redefinable Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REDEFINABLE_ELEMENT__BASE_REDEFINABLE_ELEMENT = eINSTANCE.getRedefinableElement_Base_RedefinableElement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.RefineImpl <em>Refine</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RefineImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getRefine()
+ * @generated
+ */
+ EClass REFINE = eINSTANCE.getRefine();
+
+ /**
+ * The meta object literal for the '<em><b>Refined Requirement</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REFINE__REFINED_REQUIREMENT = eINSTANCE.getRefine_RefinedRequirement();
+
+ /**
+ * The meta object literal for the '<em><b>Refined By</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REFINE__REFINED_BY = eINSTANCE.getRefine_RefinedBy();
+
+ /**
+ * The meta object literal for the '<em><b>Base Dependency</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REFINE__BASE_DEPENDENCY = eINSTANCE.getRefine_Base_Dependency();
+
+ /**
+ * The meta object literal for the '<em><b>Refined By path</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REFINE__REFINED_BY_PATH = eINSTANCE.getRefine_RefinedBy_path();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.DeriveRequirementImpl <em>Derive Requirement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.DeriveRequirementImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getDeriveRequirement()
+ * @generated
+ */
+ EClass DERIVE_REQUIREMENT = eINSTANCE.getDeriveRequirement();
+
+ /**
+ * The meta object literal for the '<em><b>Derived</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DERIVE_REQUIREMENT__DERIVED = eINSTANCE.getDeriveRequirement_Derived();
+
+ /**
+ * The meta object literal for the '<em><b>Derived From</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DERIVE_REQUIREMENT__DERIVED_FROM = eINSTANCE.getDeriveRequirement_DerivedFrom();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsRelationGroupImpl <em>Relation Group</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsRelationGroupImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getRequirementsRelationGroup()
+ * @generated
+ */
+ EClass REQUIREMENTS_RELATION_GROUP = eINSTANCE.getRequirementsRelationGroup();
+
+ /**
+ * The meta object literal for the '<em><b>Relation</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REQUIREMENTS_RELATION_GROUP__RELATION = eINSTANCE.getRequirementsRelationGroup_Relation();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REQUIREMENTS_RELATION_GROUP__BASE_CLASS = eINSTANCE.getRequirementsRelationGroup_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REQUIREMENTS_RELATION_GROUP__BASE_PACKAGE = eINSTANCE.getRequirementsRelationGroup_Base_Package();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsLinkImpl <em>Link</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsLinkImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getRequirementsLink()
+ * @generated
+ */
+ EClass REQUIREMENTS_LINK = eINSTANCE.getRequirementsLink();
+
+ /**
+ * The meta object literal for the '<em><b>Is Bidirectional</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute REQUIREMENTS_LINK__IS_BIDIRECTIONAL = eINSTANCE.getRequirementsLink_IsBidirectional();
+
+ /**
+ * The meta object literal for the '<em><b>Source</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REQUIREMENTS_LINK__SOURCE = eINSTANCE.getRequirementsLink_Source();
+
+ /**
+ * The meta object literal for the '<em><b>Target</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REQUIREMENTS_LINK__TARGET = eINSTANCE.getRequirementsLink_Target();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsModelImpl <em>Model</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsModelImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getRequirementsModel()
+ * @generated
+ */
+ EClass REQUIREMENTS_MODEL = eINSTANCE.getRequirementsModel();
+
+ /**
+ * The meta object literal for the '<em><b>Use Case</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REQUIREMENTS_MODEL__USE_CASE = eINSTANCE.getRequirementsModel_UseCase();
+
+ /**
+ * The meta object literal for the '<em><b>Requirement</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REQUIREMENTS_MODEL__REQUIREMENT = eINSTANCE.getRequirementsModel_Requirement();
+
+ /**
+ * The meta object literal for the '<em><b>Requirement Container</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REQUIREMENTS_MODEL__REQUIREMENT_CONTAINER = eINSTANCE.getRequirementsModel_RequirementContainer();
+
+ /**
+ * The meta object literal for the '<em><b>Operational Situation</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REQUIREMENTS_MODEL__OPERATIONAL_SITUATION = eINSTANCE.getRequirementsModel_OperationalSituation();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REQUIREMENTS_MODEL__BASE_PACKAGE = eINSTANCE.getRequirementsModel_Base_Package();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.OperationalSituationImpl <em>Operational Situation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.OperationalSituationImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getOperationalSituation()
+ * @generated
+ */
+ EClass OPERATIONAL_SITUATION = eINSTANCE.getOperationalSituation();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPERATIONAL_SITUATION__BASE_CLASS = eINSTANCE.getOperationalSituation_Base_Class();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.ActorImpl <em>Actor</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.ActorImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getActor()
+ * @generated
+ */
+ EClass ACTOR = eINSTANCE.getActor();
+
+ /**
+ * The meta object literal for the '<em><b>Base Actor</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ACTOR__BASE_ACTOR = eINSTANCE.getActor_Base_Actor();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementImpl <em>Requirement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getRequirement()
+ * @generated
+ */
+ EClass REQUIREMENT = eINSTANCE.getRequirement();
+
+ /**
+ * The meta object literal for the '<em><b>Formalism</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute REQUIREMENT__FORMALISM = eINSTANCE.getRequirement_Formalism();
+
+ /**
+ * The meta object literal for the '<em><b>Url</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute REQUIREMENT__URL = eINSTANCE.getRequirement_Url();
+
+ /**
+ * The meta object literal for the '<em><b>Mode</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REQUIREMENT__MODE = eINSTANCE.getRequirement_Mode();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.requirements.QualityRequirementKind <em>Quality Requirement Kind</em>}' enum.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.QualityRequirementKind
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getQualityRequirementKind()
+ * @generated
+ */
+ EEnum QUALITY_REQUIREMENT_KIND = eINSTANCE.getQualityRequirementKind();
+
+ }
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "requirements";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.papyrusuml.org/EAST-ADL2/Requirements/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "Requirements";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ RequirementsPackage eINSTANCE = org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementImpl <em>Requirement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getRequirement()
+ * @generated
+ */
+ int REQUIREMENT = 1;
+
+ /**
+ * The feature id for the '<em><b>Text</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENT__TEXT = org.eclipse.papyrus.sysml.requirements.RequirementsPackage.REQUIREMENT__TEXT;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENT__ID = org.eclipse.papyrus.sysml.requirements.RequirementsPackage.REQUIREMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Derived</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENT__DERIVED = org.eclipse.papyrus.sysml.requirements.RequirementsPackage.REQUIREMENT__DERIVED;
+
+ /**
+ * The feature id for the '<em><b>Derived From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENT__DERIVED_FROM = org.eclipse.papyrus.sysml.requirements.RequirementsPackage.REQUIREMENT__DERIVED_FROM;
+
+ /**
+ * The feature id for the '<em><b>Satisfied By</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENT__SATISFIED_BY = org.eclipse.papyrus.sysml.requirements.RequirementsPackage.REQUIREMENT__SATISFIED_BY;
+
+ /**
+ * The feature id for the '<em><b>Refined By</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENT__REFINED_BY = org.eclipse.papyrus.sysml.requirements.RequirementsPackage.REQUIREMENT__REFINED_BY;
+
+ /**
+ * The feature id for the '<em><b>Traced To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENT__TRACED_TO = org.eclipse.papyrus.sysml.requirements.RequirementsPackage.REQUIREMENT__TRACED_TO;
+
+ /**
+ * The feature id for the '<em><b>Verified By</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENT__VERIFIED_BY = org.eclipse.papyrus.sysml.requirements.RequirementsPackage.REQUIREMENT__VERIFIED_BY;
+
+ /**
+ * The feature id for the '<em><b>Master</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENT__MASTER = org.eclipse.papyrus.sysml.requirements.RequirementsPackage.REQUIREMENT__MASTER;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENT__BASE_CLASS = org.eclipse.papyrus.sysml.requirements.RequirementsPackage.REQUIREMENT__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENT__NAME = org.eclipse.papyrus.sysml.requirements.RequirementsPackage.REQUIREMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENT__BASE_NAMED_ELEMENT = org.eclipse.papyrus.sysml.requirements.RequirementsPackage.REQUIREMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENT__OWNED_COMMENT = org.eclipse.papyrus.sysml.requirements.RequirementsPackage.REQUIREMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENT__BASE_PACKAGEABLE_ELEMENT = org.eclipse.papyrus.sysml.requirements.RequirementsPackage.REQUIREMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENT__NOTE = org.eclipse.papyrus.sysml.requirements.RequirementsPackage.REQUIREMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Referencing Container</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENT__REFERENCING_CONTAINER = org.eclipse.papyrus.sysml.requirements.RequirementsPackage.REQUIREMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Formalism</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENT__FORMALISM = org.eclipse.papyrus.sysml.requirements.RequirementsPackage.REQUIREMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Url</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENT__URL = org.eclipse.papyrus.sysml.requirements.RequirementsPackage.REQUIREMENT_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Mode</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENT__MODE = org.eclipse.papyrus.sysml.requirements.RequirementsPackage.REQUIREMENT_FEATURE_COUNT + 8;
+
+ /**
+ * The number of structural features of the '<em>Requirement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENT_FEATURE_COUNT = org.eclipse.papyrus.sysml.requirements.RequirementsPackage.REQUIREMENT_FEATURE_COUNT + 9;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.QualityRequirementImpl <em>Quality Requirement</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.QualityRequirementImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getQualityRequirement()
+ * @generated
+ */
+ int QUALITY_REQUIREMENT = 0;
+
+ /**
+ * The feature id for the '<em><b>Text</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUALITY_REQUIREMENT__TEXT = REQUIREMENT__TEXT;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUALITY_REQUIREMENT__ID = REQUIREMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Derived</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUALITY_REQUIREMENT__DERIVED = REQUIREMENT__DERIVED;
+
+ /**
+ * The feature id for the '<em><b>Derived From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUALITY_REQUIREMENT__DERIVED_FROM = REQUIREMENT__DERIVED_FROM;
+
+ /**
+ * The feature id for the '<em><b>Satisfied By</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUALITY_REQUIREMENT__SATISFIED_BY = REQUIREMENT__SATISFIED_BY;
+
+ /**
+ * The feature id for the '<em><b>Refined By</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUALITY_REQUIREMENT__REFINED_BY = REQUIREMENT__REFINED_BY;
+
+ /**
+ * The feature id for the '<em><b>Traced To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUALITY_REQUIREMENT__TRACED_TO = REQUIREMENT__TRACED_TO;
+
+ /**
+ * The feature id for the '<em><b>Verified By</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUALITY_REQUIREMENT__VERIFIED_BY = REQUIREMENT__VERIFIED_BY;
+
+ /**
+ * The feature id for the '<em><b>Master</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUALITY_REQUIREMENT__MASTER = REQUIREMENT__MASTER;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUALITY_REQUIREMENT__BASE_CLASS = REQUIREMENT__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUALITY_REQUIREMENT__NAME = REQUIREMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUALITY_REQUIREMENT__BASE_NAMED_ELEMENT = REQUIREMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALITY_REQUIREMENT__OWNED_COMMENT = REQUIREMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUALITY_REQUIREMENT__BASE_PACKAGEABLE_ELEMENT = REQUIREMENT__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUALITY_REQUIREMENT__NOTE = REQUIREMENT__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Referencing Container</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUALITY_REQUIREMENT__REFERENCING_CONTAINER = REQUIREMENT__REFERENCING_CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Formalism</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUALITY_REQUIREMENT__FORMALISM = REQUIREMENT__FORMALISM;
+
+ /**
+ * The feature id for the '<em><b>Url</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUALITY_REQUIREMENT__URL = REQUIREMENT__URL;
+
+ /**
+ * The feature id for the '<em><b>Mode</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int QUALITY_REQUIREMENT__MODE = REQUIREMENT__MODE;
+
+ /**
+ * The feature id for the '<em><b>Quality Requirement Type</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALITY_REQUIREMENT__QUALITY_REQUIREMENT_TYPE = REQUIREMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Quality Requirement</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int QUALITY_REQUIREMENT_FEATURE_COUNT = REQUIREMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementSpecificationObjectImpl <em>Requirement Specification Object</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementSpecificationObjectImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getRequirementSpecificationObject()
+ * @generated
+ */
+ int REQUIREMENT_SPECIFICATION_OBJECT = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENT_SPECIFICATION_OBJECT__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENT_SPECIFICATION_OBJECT__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENT_SPECIFICATION_OBJECT__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENT_SPECIFICATION_OBJECT__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENT_SPECIFICATION_OBJECT__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Referencing Container</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENT_SPECIFICATION_OBJECT__REFERENCING_CONTAINER = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Requirement Specification Object</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENT_SPECIFICATION_OBJECT_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsContainerImpl <em>Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsContainerImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getRequirementsContainer()
+ * @generated
+ */
+ int REQUIREMENTS_CONTAINER = 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_CONTAINER__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_CONTAINER__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_CONTAINER__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_CONTAINER__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_CONTAINER__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Child Container</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_CONTAINER__CHILD_CONTAINER = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Parent Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_CONTAINER__PARENT_CONTAINER = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_CONTAINER__BASE_CLASS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_CONTAINER__BASE_PACKAGE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Contained Req Spec Object</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_CONTAINER__CONTAINED_REQ_SPEC_OBJECT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_CONTAINER_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsRelatedInformationImpl <em>Related Information</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsRelatedInformationImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getRequirementsRelatedInformation()
+ * @generated
+ */
+ int REQUIREMENTS_RELATED_INFORMATION = 4;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_RELATED_INFORMATION__NAME = REQUIREMENT_SPECIFICATION_OBJECT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_RELATED_INFORMATION__BASE_NAMED_ELEMENT = REQUIREMENT_SPECIFICATION_OBJECT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_RELATED_INFORMATION__OWNED_COMMENT = REQUIREMENT_SPECIFICATION_OBJECT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_RELATED_INFORMATION__BASE_PACKAGEABLE_ELEMENT = REQUIREMENT_SPECIFICATION_OBJECT__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_RELATED_INFORMATION__NOTE = REQUIREMENT_SPECIFICATION_OBJECT__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Referencing Container</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_RELATED_INFORMATION__REFERENCING_CONTAINER = REQUIREMENT_SPECIFICATION_OBJECT__REFERENCING_CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_RELATED_INFORMATION__BASE_CLASS = REQUIREMENT_SPECIFICATION_OBJECT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Related Information</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_RELATED_INFORMATION_FEATURE_COUNT = REQUIREMENT_SPECIFICATION_OBJECT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsRelationshipImpl <em>Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsRelationshipImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getRequirementsRelationship()
+ * @generated
+ */
+ int REQUIREMENTS_RELATIONSHIP = 5;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_RELATIONSHIP__NAME = ElementsPackage.RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_RELATIONSHIP__BASE_NAMED_ELEMENT = ElementsPackage.RELATIONSHIP__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_RELATIONSHIP__OWNED_COMMENT = ElementsPackage.RELATIONSHIP__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_RELATIONSHIP__BASE_CLASS = ElementsPackage.RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Relationship</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_RELATIONSHIP_FEATURE_COUNT = ElementsPackage.RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.SatisfyImpl <em>Satisfy</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.SatisfyImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getSatisfy()
+ * @generated
+ */
+ int SATISFY = 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.RefineImpl <em>Refine</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RefineImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getRefine()
+ * @generated
+ */
+ int REFINE = 12;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.DeriveRequirementImpl <em>Derive Requirement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.DeriveRequirementImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getDeriveRequirement()
+ * @generated
+ */
+ int DERIVE_REQUIREMENT = 13;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SATISFY__NAME = REQUIREMENTS_RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SATISFY__BASE_NAMED_ELEMENT = REQUIREMENTS_RELATIONSHIP__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SATISFY__OWNED_COMMENT = REQUIREMENTS_RELATIONSHIP__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SATISFY__BASE_CLASS = REQUIREMENTS_RELATIONSHIP__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Base Abstraction</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SATISFY__BASE_ABSTRACTION = REQUIREMENTS_RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Satisfied Requirement</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SATISFY__SATISFIED_REQUIREMENT = REQUIREMENTS_RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Satisfied By</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SATISFY__SATISFIED_BY = REQUIREMENTS_RELATIONSHIP_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Satisfied By path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SATISFY__SATISFIED_BY_PATH = REQUIREMENTS_RELATIONSHIP_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Satisfied Use Case</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SATISFY__SATISFIED_USE_CASE = REQUIREMENTS_RELATIONSHIP_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Satisfy</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SATISFY_FEATURE_COUNT = REQUIREMENTS_RELATIONSHIP_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.UseCaseImpl <em>Use Case</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.UseCaseImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getUseCase()
+ * @generated
+ */
+ int USE_CASE = 7;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USE_CASE__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USE_CASE__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USE_CASE__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USE_CASE__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USE_CASE__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Use Case</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USE_CASE__BASE_USE_CASE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Include</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USE_CASE__INCLUDE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Extend</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USE_CASE__EXTEND = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Extension Point</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USE_CASE__EXTENSION_POINT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Use Case</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USE_CASE_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.IncludeImpl <em>Include</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.IncludeImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getInclude()
+ * @generated
+ */
+ int INCLUDE = 8;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INCLUDE__NAME = ElementsPackage.RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INCLUDE__BASE_NAMED_ELEMENT = ElementsPackage.RELATIONSHIP__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INCLUDE__OWNED_COMMENT = ElementsPackage.RELATIONSHIP__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Include</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INCLUDE__BASE_INCLUDE = ElementsPackage.RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Addition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INCLUDE__ADDITION = ElementsPackage.RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Include</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INCLUDE_FEATURE_COUNT = ElementsPackage.RELATIONSHIP_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.ExtendImpl <em>Extend</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.ExtendImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getExtend()
+ * @generated
+ */
+ int EXTEND = 9;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTEND__NAME = ElementsPackage.RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTEND__BASE_NAMED_ELEMENT = ElementsPackage.RELATIONSHIP__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTEND__OWNED_COMMENT = ElementsPackage.RELATIONSHIP__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Extend</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTEND__BASE_EXTEND = ElementsPackage.RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Extended Case</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTEND__EXTENDED_CASE = ElementsPackage.RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Extension Location</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTEND__EXTENSION_LOCATION = ElementsPackage.RELATIONSHIP_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Extend</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTEND_FEATURE_COUNT = ElementsPackage.RELATIONSHIP_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.RedefinableElementImpl <em>Redefinable Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RedefinableElementImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getRedefinableElement()
+ * @generated
+ */
+ int REDEFINABLE_ELEMENT = 11;
+
+ /**
+ * The feature id for the '<em><b>Base Redefinable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REDEFINABLE_ELEMENT__BASE_REDEFINABLE_ELEMENT = 0;
+
+ /**
+ * The number of structural features of the '<em>Redefinable Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REDEFINABLE_ELEMENT_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.ExtensionPointImpl <em>Extension Point</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.ExtensionPointImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getExtensionPoint()
+ * @generated
+ */
+ int EXTENSION_POINT = 10;
+
+ /**
+ * The feature id for the '<em><b>Base Redefinable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENSION_POINT__BASE_REDEFINABLE_ELEMENT = REDEFINABLE_ELEMENT__BASE_REDEFINABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Extension Point</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENSION_POINT__BASE_EXTENSION_POINT = REDEFINABLE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Extension Point</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENSION_POINT_FEATURE_COUNT = REDEFINABLE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFINE__NAME = REQUIREMENTS_RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFINE__BASE_NAMED_ELEMENT = REQUIREMENTS_RELATIONSHIP__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFINE__OWNED_COMMENT = REQUIREMENTS_RELATIONSHIP__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFINE__BASE_CLASS = REQUIREMENTS_RELATIONSHIP__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Base Abstraction</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFINE__BASE_ABSTRACTION = REQUIREMENTS_RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Refined Requirement</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFINE__REFINED_REQUIREMENT = REQUIREMENTS_RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Refined By</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFINE__REFINED_BY = REQUIREMENTS_RELATIONSHIP_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Base Dependency</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFINE__BASE_DEPENDENCY = REQUIREMENTS_RELATIONSHIP_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Refined By path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFINE__REFINED_BY_PATH = REQUIREMENTS_RELATIONSHIP_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Refine</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFINE_FEATURE_COUNT = REQUIREMENTS_RELATIONSHIP_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DERIVE_REQUIREMENT__NAME = REQUIREMENTS_RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DERIVE_REQUIREMENT__BASE_NAMED_ELEMENT = REQUIREMENTS_RELATIONSHIP__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DERIVE_REQUIREMENT__OWNED_COMMENT = REQUIREMENTS_RELATIONSHIP__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DERIVE_REQUIREMENT__BASE_CLASS = REQUIREMENTS_RELATIONSHIP__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Base Abstraction</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DERIVE_REQUIREMENT__BASE_ABSTRACTION = REQUIREMENTS_RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Derived</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DERIVE_REQUIREMENT__DERIVED = REQUIREMENTS_RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Derived From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DERIVE_REQUIREMENT__DERIVED_FROM = REQUIREMENTS_RELATIONSHIP_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Derive Requirement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DERIVE_REQUIREMENT_FEATURE_COUNT = REQUIREMENTS_RELATIONSHIP_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsRelationGroupImpl <em>Relation Group</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsRelationGroupImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getRequirementsRelationGroup()
+ * @generated
+ */
+ int REQUIREMENTS_RELATION_GROUP = 14;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_RELATION_GROUP__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_RELATION_GROUP__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_RELATION_GROUP__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_RELATION_GROUP__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_RELATION_GROUP__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Relation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_RELATION_GROUP__RELATION = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_RELATION_GROUP__BASE_CLASS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_RELATION_GROUP__BASE_PACKAGE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Relation Group</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_RELATION_GROUP_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsLinkImpl <em>Link</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsLinkImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getRequirementsLink()
+ * @generated
+ */
+ int REQUIREMENTS_LINK = 15;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_LINK__NAME = REQUIREMENTS_RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_LINK__BASE_NAMED_ELEMENT = REQUIREMENTS_RELATIONSHIP__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_LINK__OWNED_COMMENT = REQUIREMENTS_RELATIONSHIP__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_LINK__BASE_CLASS = REQUIREMENTS_RELATIONSHIP__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Is Bidirectional</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_LINK__IS_BIDIRECTIONAL = REQUIREMENTS_RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Source</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_LINK__SOURCE = REQUIREMENTS_RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Target</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_LINK__TARGET = REQUIREMENTS_RELATIONSHIP_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Link</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_LINK_FEATURE_COUNT = REQUIREMENTS_RELATIONSHIP_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsModelImpl <em>Model</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsModelImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getRequirementsModel()
+ * @generated
+ */
+ int REQUIREMENTS_MODEL = 16;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_MODEL__NAME = ElementsPackage.CONTEXT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_MODEL__BASE_NAMED_ELEMENT = ElementsPackage.CONTEXT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_MODEL__OWNED_COMMENT = ElementsPackage.CONTEXT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_MODEL__TRACEABLE_SPECIFICATION = ElementsPackage.CONTEXT__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_MODEL__OWNED_RELATIONSHIP = ElementsPackage.CONTEXT__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Use Case</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_MODEL__USE_CASE = ElementsPackage.CONTEXT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Requirement</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_MODEL__REQUIREMENT = ElementsPackage.CONTEXT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Requirement Container</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_MODEL__REQUIREMENT_CONTAINER = ElementsPackage.CONTEXT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Operational Situation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_MODEL__OPERATIONAL_SITUATION = ElementsPackage.CONTEXT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_MODEL__BASE_PACKAGE = ElementsPackage.CONTEXT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Model</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REQUIREMENTS_MODEL_FEATURE_COUNT = ElementsPackage.CONTEXT_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.OperationalSituationImpl <em>Operational Situation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.OperationalSituationImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getOperationalSituation()
+ * @generated
+ */
+ int OPERATIONAL_SITUATION = 17;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATIONAL_SITUATION__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATIONAL_SITUATION__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATIONAL_SITUATION__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATIONAL_SITUATION__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATIONAL_SITUATION__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATIONAL_SITUATION__BASE_CLASS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Operational Situation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATIONAL_SITUATION_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.requirements.impl.ActorImpl <em>Actor</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.ActorImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getActor()
+ * @generated
+ */
+ int ACTOR = 18;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Actor</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR__BASE_ACTOR = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Actor</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTOR_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.requirements.QualityRequirementKind <em>Quality Requirement Kind</em>}' enum.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.QualityRequirementKind
+ * @see org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl#getQualityRequirementKind()
+ * @generated
+ */
+ int QUALITY_REQUIREMENT_KIND = 19;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.requirements.DeriveRequirement <em>Derive Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Derive Requirement</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.DeriveRequirement
+ * @generated
+ */
+ EClass getDeriveRequirement();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.DeriveRequirement#getDerived <em>Derived</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Derived</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.DeriveRequirement#getDerived()
+ * @see #getDeriveRequirement()
+ * @generated
+ */
+ EReference getDeriveRequirement_Derived();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.DeriveRequirement#getDerivedFrom <em>Derived From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Derived From</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.DeriveRequirement#getDerivedFrom()
+ * @see #getDeriveRequirement()
+ * @generated
+ */
+ EReference getDeriveRequirement_DerivedFrom();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.requirements.OperationalSituation <em>Operational Situation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Operational Situation</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.OperationalSituation
+ * @generated
+ */
+ EClass getOperationalSituation();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.OperationalSituation#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.eclipse.papyrus.eastadl.requirements.OperationalSituation#getBase_Class()
+ * @see #getOperationalSituation()
+ * @generated
+ */
+ EReference getOperationalSituation_Base_Class();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.requirements.Actor <em>Actor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Actor</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.Actor
+ * @generated
+ */
+ EClass getActor();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.Actor#getBase_Actor <em>Base Actor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Actor</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.Actor#getBase_Actor()
+ * @see #getActor()
+ * @generated
+ */
+ EReference getActor_Base_Actor();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.requirements.QualityRequirement <em>Quality Requirement</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Quality Requirement</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.QualityRequirement
+ * @generated
+ */
+ EClass getQualityRequirement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.requirements.QualityRequirement#getQualityRequirementType <em>Quality Requirement Type</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Quality Requirement Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.QualityRequirement#getQualityRequirementType()
+ * @see #getQualityRequirement()
+ * @generated
+ */
+ EAttribute getQualityRequirement_QualityRequirementType();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.eastadl.requirements.QualityRequirementKind <em>Quality Requirement Kind</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Quality Requirement Kind</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.QualityRequirementKind
+ * @generated
+ */
+ EEnum getQualityRequirementKind();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.requirements.Refine <em>Refine</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Refine</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.Refine
+ * @generated
+ */
+ EClass getRefine();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.Refine#getRefinedBy <em>Refined By</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Refined By</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.Refine#getRefinedBy()
+ * @see #getRefine()
+ * @generated
+ */
+ EReference getRefine_RefinedBy();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.Refine#getBase_Dependency <em>Base Dependency</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Dependency</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.Refine#getBase_Dependency()
+ * @see #getRefine()
+ * @generated
+ */
+ EReference getRefine_Base_Dependency();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.Refine#getRefinedBy_path <em>Refined By path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Refined By path</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.Refine#getRefinedBy_path()
+ * @see #getRefine()
+ * @generated
+ */
+ EReference getRefine_RefinedBy_path();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.Refine#getRefinedRequirement <em>Refined Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Refined Requirement</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.Refine#getRefinedRequirement()
+ * @see #getRefine()
+ * @generated
+ */
+ EReference getRefine_RefinedRequirement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.requirements.Requirement <em>Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Requirement</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.Requirement
+ * @generated
+ */
+ EClass getRequirement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.requirements.Requirement#getFormalism <em>Formalism</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Formalism</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.Requirement#getFormalism()
+ * @see #getRequirement()
+ * @generated
+ */
+ EAttribute getRequirement_Formalism();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.Requirement#getMode <em>Mode</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Mode</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.Requirement#getMode()
+ * @see #getRequirement()
+ * @generated
+ */
+ EReference getRequirement_Mode();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.requirements.Requirement#getUrl <em>Url</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Url</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.Requirement#getUrl()
+ * @see #getRequirement()
+ * @generated
+ */
+ EAttribute getRequirement_Url();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsContainer <em>Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Container</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsContainer
+ * @generated
+ */
+ EClass getRequirementsContainer();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsContainer#getChildContainer <em>Child Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Child Container</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsContainer#getChildContainer()
+ * @see #getRequirementsContainer()
+ * @generated
+ */
+ EReference getRequirementsContainer_ChildContainer();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsContainer#getContainedReqSpecObject <em>Contained Req Spec Object</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Contained Req Spec Object</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsContainer#getContainedReqSpecObject()
+ * @see #getRequirementsContainer()
+ * @generated
+ */
+ EReference getRequirementsContainer_ContainedReqSpecObject();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsContainer#getParentContainer <em>Parent Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Parent Container</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsContainer#getParentContainer()
+ * @see #getRequirementsContainer()
+ * @generated
+ */
+ EReference getRequirementsContainer_ParentContainer();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsContainer#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.eclipse.papyrus.eastadl.requirements.RequirementsContainer#getBase_Class()
+ * @see #getRequirementsContainer()
+ * @generated
+ */
+ EReference getRequirementsContainer_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsContainer#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.eclipse.papyrus.eastadl.requirements.RequirementsContainer#getBase_Package()
+ * @see #getRequirementsContainer()
+ * @generated
+ */
+ EReference getRequirementsContainer_Base_Package();
+
+ /**
+ * 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
+ */
+ RequirementsFactory getRequirementsFactory();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsLink <em>Link</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Link</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsLink
+ * @generated
+ */
+ EClass getRequirementsLink();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsLink#isIsBidirectional <em>Is Bidirectional</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Bidirectional</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsLink#isIsBidirectional()
+ * @see #getRequirementsLink()
+ * @generated
+ */
+ EAttribute getRequirementsLink_IsBidirectional();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsLink#getSource <em>Source</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Source</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsLink#getSource()
+ * @see #getRequirementsLink()
+ * @generated
+ */
+ EReference getRequirementsLink_Source();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsLink#getTarget <em>Target</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Target</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsLink#getTarget()
+ * @see #getRequirementsLink()
+ * @generated
+ */
+ EReference getRequirementsLink_Target();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsModel <em>Model</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Model</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsModel
+ * @generated
+ */
+ EClass getRequirementsModel();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsModel#getOperationalSituation <em>Operational Situation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Operational Situation</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsModel#getOperationalSituation()
+ * @see #getRequirementsModel()
+ * @generated
+ */
+ EReference getRequirementsModel_OperationalSituation();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsModel#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.eclipse.papyrus.eastadl.requirements.RequirementsModel#getBase_Package()
+ * @see #getRequirementsModel()
+ * @generated
+ */
+ EReference getRequirementsModel_Base_Package();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsModel#getRequirement <em>Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Requirement</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsModel#getRequirement()
+ * @see #getRequirementsModel()
+ * @generated
+ */
+ EReference getRequirementsModel_Requirement();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsModel#getRequirementContainer <em>Requirement Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Requirement Container</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsModel#getRequirementContainer()
+ * @see #getRequirementsModel()
+ * @generated
+ */
+ EReference getRequirementsModel_RequirementContainer();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsModel#getUseCase <em>Use Case</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Use Case</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsModel#getUseCase()
+ * @see #getRequirementsModel()
+ * @generated
+ */
+ EReference getRequirementsModel_UseCase();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.requirements.RequirementSpecificationObject <em>Requirement Specification Object</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Requirement Specification Object</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementSpecificationObject
+ * @generated
+ */
+ EClass getRequirementSpecificationObject();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.RequirementSpecificationObject#getReferencingContainer <em>Referencing Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Referencing Container</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementSpecificationObject#getReferencingContainer()
+ * @see #getRequirementSpecificationObject()
+ * @generated
+ */
+ EReference getRequirementSpecificationObject_ReferencingContainer();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsRelatedInformation <em>Related Information</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Related Information</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsRelatedInformation
+ * @generated
+ */
+ EClass getRequirementsRelatedInformation();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsRelatedInformation#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.eclipse.papyrus.eastadl.requirements.RequirementsRelatedInformation#getBase_Class()
+ * @see #getRequirementsRelatedInformation()
+ * @generated
+ */
+ EReference getRequirementsRelatedInformation_Base_Class();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsRelationGroup <em>Relation Group</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Relation Group</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsRelationGroup
+ * @generated
+ */
+ EClass getRequirementsRelationGroup();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsRelationGroup#getRelation <em>Relation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Relation</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsRelationGroup#getRelation()
+ * @see #getRequirementsRelationGroup()
+ * @generated
+ */
+ EReference getRequirementsRelationGroup_Relation();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsRelationGroup#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.eclipse.papyrus.eastadl.requirements.RequirementsRelationGroup#getBase_Class()
+ * @see #getRequirementsRelationGroup()
+ * @generated
+ */
+ EReference getRequirementsRelationGroup_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsRelationGroup#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.eclipse.papyrus.eastadl.requirements.RequirementsRelationGroup#getBase_Package()
+ * @see #getRequirementsRelationGroup()
+ * @generated
+ */
+ EReference getRequirementsRelationGroup_Base_Package();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsRelationship <em>Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Relationship</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsRelationship
+ * @generated
+ */
+ EClass getRequirementsRelationship();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsRelationship#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.eclipse.papyrus.eastadl.requirements.RequirementsRelationship#getBase_Class()
+ * @see #getRequirementsRelationship()
+ * @generated
+ */
+ EReference getRequirementsRelationship_Base_Class();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.requirements.Satisfy <em>Satisfy</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Satisfy</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.Satisfy
+ * @generated
+ */
+ EClass getSatisfy();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.Satisfy#getSatisfiedBy <em>Satisfied By</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Satisfied By</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.Satisfy#getSatisfiedBy()
+ * @see #getSatisfy()
+ * @generated
+ */
+ EReference getSatisfy_SatisfiedBy();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.Satisfy#getSatisfiedBy_path <em>Satisfied By path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Satisfied By path</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.Satisfy#getSatisfiedBy_path()
+ * @see #getSatisfy()
+ * @generated
+ */
+ EReference getSatisfy_SatisfiedBy_path();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.requirements.UseCase <em>Use Case</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Use Case</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.UseCase
+ * @generated
+ */
+ EClass getUseCase();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.UseCase#getBase_UseCase <em>Base Use Case</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Use Case</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.UseCase#getBase_UseCase()
+ * @see #getUseCase()
+ * @generated
+ */
+ EReference getUseCase_Base_UseCase();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.eastadl.requirements.UseCase#getInclude <em>Include</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Include</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.UseCase#getInclude()
+ * @see #getUseCase()
+ * @generated
+ */
+ EReference getUseCase_Include();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.eastadl.requirements.UseCase#getExtend <em>Extend</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Extend</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.UseCase#getExtend()
+ * @see #getUseCase()
+ * @generated
+ */
+ EReference getUseCase_Extend();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.eastadl.requirements.UseCase#getExtensionPoint <em>Extension Point</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Extension Point</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.UseCase#getExtensionPoint()
+ * @see #getUseCase()
+ * @generated
+ */
+ EReference getUseCase_ExtensionPoint();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.requirements.Include <em>Include</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Include</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.Include
+ * @generated
+ */
+ EClass getInclude();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.Include#getBase_Include <em>Base Include</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Include</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.Include#getBase_Include()
+ * @see #getInclude()
+ * @generated
+ */
+ EReference getInclude_Base_Include();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.Include#getAddition <em>Addition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Addition</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.Include#getAddition()
+ * @see #getInclude()
+ * @generated
+ */
+ EReference getInclude_Addition();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.requirements.Extend <em>Extend</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Extend</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.Extend
+ * @generated
+ */
+ EClass getExtend();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.Extend#getBase_Extend <em>Base Extend</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Extend</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.Extend#getBase_Extend()
+ * @see #getExtend()
+ * @generated
+ */
+ EReference getExtend_Base_Extend();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.Extend#getExtendedCase <em>Extended Case</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Extended Case</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.Extend#getExtendedCase()
+ * @see #getExtend()
+ * @generated
+ */
+ EReference getExtend_ExtendedCase();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.Extend#getExtensionLocation <em>Extension Location</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Extension Location</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.Extend#getExtensionLocation()
+ * @see #getExtend()
+ * @generated
+ */
+ EReference getExtend_ExtensionLocation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.requirements.ExtensionPoint <em>Extension Point</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Extension Point</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.ExtensionPoint
+ * @generated
+ */
+ EClass getExtensionPoint();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.ExtensionPoint#getBase_ExtensionPoint <em>Base Extension Point</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Extension Point</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.ExtensionPoint#getBase_ExtensionPoint()
+ * @see #getExtensionPoint()
+ * @generated
+ */
+ EReference getExtensionPoint_Base_ExtensionPoint();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.requirements.RedefinableElement <em>Redefinable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Redefinable Element</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.RedefinableElement
+ * @generated
+ */
+ EClass getRedefinableElement();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.RedefinableElement#getBase_RedefinableElement <em>Base Redefinable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Redefinable Element</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.RedefinableElement#getBase_RedefinableElement()
+ * @see #getRedefinableElement()
+ * @generated
+ */
+ EReference getRedefinableElement_Base_RedefinableElement();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.Satisfy#getSatisfiedRequirement <em>Satisfied Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Satisfied Requirement</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.Satisfy#getSatisfiedRequirement()
+ * @see #getSatisfy()
+ * @generated
+ */
+ EReference getSatisfy_SatisfiedRequirement();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.Satisfy#getSatisfiedUseCase <em>Satisfied Use Case</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Satisfied Use Case</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.Satisfy#getSatisfiedUseCase()
+ * @see #getSatisfy()
+ * @generated
+ */
+ EReference getSatisfy_SatisfiedUseCase();
+
+} // RequirementsPackage
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsRelatedInformation.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsRelatedInformation.java
new file mode 100644
index 00000000000..306aaa94bae
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsRelatedInformation.java
@@ -0,0 +1,69 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Related Information</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * This is a placeholder for all objects which are not Requirements (such as Rational, Explanations, Related Material etc...). E.g. an element of type RequirementsRelatedInformation which is a rational of an element of type Requirement will directly succeeding this requirement as a sibling element (see structuring of requirement elements via RequirementContainer).
+ *
+ * Semantics:
+ * This metaclass can be used to represents information this is not a requirement but is related to requirements and is often provided together with a set of requirements in a requirements specification.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.RequirementsRelatedInformation#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirementsRelatedInformation()
+ * @model
+ * @generated
+ */
+public interface RequirementsRelatedInformation extends RequirementSpecificationObject {
+ /**
+ * 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.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirementsRelatedInformation_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsRelatedInformation#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);
+
+} // RequirementsRelatedInformation
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsRelationGroup.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsRelationGroup.java
new file mode 100644
index 00000000000..a2001fcbcc3
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsRelationGroup.java
@@ -0,0 +1,112 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Relation Group</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * RequirementsRelationGroup represents a group of relations between Requirements.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.RequirementsRelationGroup#getRelation <em>Relation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.RequirementsRelationGroup#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.RequirementsRelationGroup#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirementsRelationGroup()
+ * @model
+ * @generated
+ */
+public interface RequirementsRelationGroup extends TraceableSpecification {
+ /**
+ * Returns the value of the '<em><b>Relation</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.RequirementsLink}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The relations that are grouped by this relation group. Note that this is not a containment association, i.e. a single relation may be grouped by several ReqRelationGroups.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Relation</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirementsRelationGroup_Relation()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<RequirementsLink> getRelation();
+
+ /**
+ * 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.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirementsRelationGroup_Base_Class()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsRelationGroup#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>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.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirementsRelationGroup_Base_Package()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsRelationGroup#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);
+
+} // RequirementsRelationGroup
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsRelationship.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsRelationship.java
new file mode 100644
index 00000000000..426d3909f7f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/RequirementsRelationship.java
@@ -0,0 +1,72 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements;
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Relationship;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A relation between two or more requirements. Source and target requirements of the relation are distinguished, which means that the relation is directed (from source to target). If such a distinction does not make sense, then use a ReqGroup instead.
+ * The standard case will be a relation with one source and one target requirement. However, it is possible to have several source and-or several target requirements so that general n:m relations can be expressed with instances of this class.
+ * The semantic of a concrete requirement relation is not defined by the EAST-ADL2 and therefore needs to be provided by the modeler. In particular, three ways are conceivable:
+ * 1) The user attributes of the relation can be used to specify its meaning, for example with a user attribute called relationType which is set to values such as needs or excludes.
+ * 2) The uaType (user attributeable element type) can be used. Certain types will be used for certain relation semantics.
+ * 3) ReqRelationGroups can be used, i.e. all relations with an excludes meaning are put in one relation group and all with a needs meaning are put in another
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.RequirementsRelationship#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirementsRelationship()
+ * @model abstract="true"
+ * @generated
+ */
+public interface RequirementsRelationship extends Relationship {
+ /**
+ * 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.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getRequirementsRelationship_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsRelationship#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);
+
+} // RequirementsRelationship
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/Satisfy.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/Satisfy.java
new file mode 100644
index 00000000000..1372c416b6c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/Satisfy.java
@@ -0,0 +1,122 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Satisfy</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The Satisfy is a relationship metaclass, which signifies relationship between Requirements and an element intended to satisfy the Requirement.
+ *
+ * Semantics:
+ * The Satisfy metaclass signifies a satisfied requirement/satisfied by relationship between a set of Requirements and a set of satisfying entities, where the modification of the supplier Requirements may impact the satisfying client entities. The Satisfy metaclass implies the semantics that the satisfying client entities are not complete, without the supplier Requirement.
+ *
+ * Constraints:
+ * [1] The EAElement in the association satisfiedBy may not be a Requirement or RequirementContainer.
+ * [2] An element of type Satisfy is only allowed to have associations to either elements of type UseCase (see satisfiedUseCase) or elements of type Requirement (see satisfiedRequirement). Not both at the same time!
+ *
+ * Notation:
+ * A Satisfy relationship is shown as a dashed line with a arrowhead at the end that corresponds to the satisfied Requirement or UseCaseUseCase. The entity at the tail of the arrow (the satisfying EAElement or the satisfying ARElement) depends on the entity at the arrowhead (the satisfied Requirement or UseCaseUseCase).
+ *
+ * Extension:
+ * To specialize SysML::Satisfy, which extends Realization.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.Satisfy#getSatisfiedRequirement <em>Satisfied Requirement</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.Satisfy#getSatisfiedBy <em>Satisfied By</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.Satisfy#getSatisfiedBy_path <em>Satisfied By path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.Satisfy#getSatisfiedUseCase <em>Satisfied Use Case</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getSatisfy()
+ * @model
+ * @generated
+ */
+public interface Satisfy extends RequirementsRelationship, org.eclipse.papyrus.sysml.requirements.Satisfy {
+ /**
+ * Returns the value of the '<em><b>Satisfied By</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.NamedElement}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * List of satisfied ADL use cases, which are satisfied by the client ADL entities or satisfied by the client AUTOSAR elements.
+ * {derived from UML::Dependency::client}
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Satisfied By</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getSatisfy_SatisfiedBy()
+ * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<NamedElement> getSatisfiedBy();
+
+ /**
+ * Returns the value of the '<em><b>Satisfied By path</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.NamedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Satisfied By path</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>Satisfied By path</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getSatisfy_SatisfiedBy_path()
+ * @model
+ * @generated
+ */
+ EList<NamedElement> getSatisfiedBy_path();
+
+ /**
+ * Returns the value of the '<em><b>Satisfied Requirement</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.Requirement}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * List of satisfied ADL requirements, which are satisfied by the client ADL entities.
+ * {derived from UML::DirectedRelationship::target}
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Satisfied Requirement</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getSatisfy_SatisfiedRequirement()
+ * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<Requirement> getSatisfiedRequirement();
+
+ /**
+ * Returns the value of the '<em><b>Satisfied Use Case</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.UseCase}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Satisfied Use Case</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>Satisfied Use Case</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getSatisfy_SatisfiedUseCase()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<org.eclipse.papyrus.eastadl.requirements.UseCase> getSatisfiedUseCase();
+
+} // Satisfy
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/UseCase.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/UseCase.java
new file mode 100644
index 00000000000..2cb1a4c8fd7
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/UseCase.java
@@ -0,0 +1,115 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Use Case</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.UseCase#getBase_UseCase <em>Base Use Case</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.UseCase#getInclude <em>Include</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.UseCase#getExtend <em>Extend</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.UseCase#getExtensionPoint <em>Extension Point</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getUseCase()
+ * @model
+ * @generated
+ */
+public interface UseCase extends TraceableSpecification {
+ /**
+ * Returns the value of the '<em><b>Base Use Case</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Use Case</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 Use Case</em>' reference.
+ * @see #setBase_UseCase(org.eclipse.uml2.uml.UseCase)
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getUseCase_Base_UseCase()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.UseCase getBase_UseCase();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.UseCase#getBase_UseCase <em>Base Use Case</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Use Case</em>' reference.
+ * @see #getBase_UseCase()
+ * @generated
+ */
+ void setBase_UseCase(org.eclipse.uml2.uml.UseCase value);
+
+ /**
+ * Returns the value of the '<em><b>Include</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.Include}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Include</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Include</em>' containment reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getUseCase_Include()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<Include> getInclude();
+
+ /**
+ * Returns the value of the '<em><b>Extend</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.Extend}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Extend</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Extend</em>' containment reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getUseCase_Extend()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<Extend> getExtend();
+
+ /**
+ * Returns the value of the '<em><b>Extension Point</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.ExtensionPoint}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Extension Point</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Extension Point</em>' containment reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.RequirementsPackage#getUseCase_ExtensionPoint()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<ExtensionPoint> getExtensionPoint();
+
+} // UseCase
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/ActorImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/ActorImpl.java
new file mode 100644
index 00000000000..d71695b71b3
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/ActorImpl.java
@@ -0,0 +1,165 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.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.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+import org.eclipse.papyrus.eastadl.requirements.Actor;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Actor</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.ActorImpl#getBase_Actor <em>Base Actor</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ActorImpl extends TraceableSpecificationImpl implements Actor {
+ /**
+ * The cached value of the '{@link #getBase_Actor() <em>Base Actor</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Actor()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.uml2.uml.Actor base_Actor;
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ActorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RequirementsPackage.Literals.ACTOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Actor getBase_Actor() {
+ if (base_Actor != null && base_Actor.eIsProxy()) {
+ InternalEObject oldBase_Actor = (InternalEObject)base_Actor;
+ base_Actor = (org.eclipse.uml2.uml.Actor)eResolveProxy(oldBase_Actor);
+ if (base_Actor != oldBase_Actor) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, RequirementsPackage.ACTOR__BASE_ACTOR, oldBase_Actor, base_Actor));
+ }
+ }
+ return base_Actor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Actor basicGetBase_Actor() {
+ return base_Actor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Actor(org.eclipse.uml2.uml.Actor newBase_Actor) {
+ org.eclipse.uml2.uml.Actor oldBase_Actor = base_Actor;
+ base_Actor = newBase_Actor;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RequirementsPackage.ACTOR__BASE_ACTOR, oldBase_Actor, base_Actor));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case RequirementsPackage.ACTOR__BASE_ACTOR:
+ if (resolve) return getBase_Actor();
+ return basicGetBase_Actor();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case RequirementsPackage.ACTOR__BASE_ACTOR:
+ setBase_Actor((org.eclipse.uml2.uml.Actor)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.ACTOR__BASE_ACTOR:
+ setBase_Actor((org.eclipse.uml2.uml.Actor)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.ACTOR__BASE_ACTOR:
+ return base_Actor != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ActorImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/DeriveRequirementImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/DeriveRequirementImpl.java
new file mode 100644
index 00000000000..5bfcb239b99
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/DeriveRequirementImpl.java
@@ -0,0 +1,275 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.impl;
+
+import java.util.Iterator;
+
+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.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.BasicInternalEList;
+import org.eclipse.papyrus.eastadl.requirements.DeriveRequirement;
+import org.eclipse.papyrus.eastadl.requirements.Requirement;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml.requirements.DeriveReqt;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.profile.l2.L2Package;
+import org.eclipse.uml2.uml.profile.l2.Trace;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Derive Requirement</b></em> '. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.DeriveRequirementImpl#getBase_Abstraction <em>Base Abstraction</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.DeriveRequirementImpl#getDerived <em>Derived</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.DeriveRequirementImpl#getDerivedFrom <em>Derived From</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DeriveRequirementImpl extends RequirementsRelationshipImpl implements DeriveRequirement {
+
+ /**
+ * 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;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected DeriveRequirementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Abstraction basicGetBase_Abstraction() {
+ return base_Abstraction;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == Trace.class) {
+ switch (derivedFeatureID) {
+ case RequirementsPackage.DERIVE_REQUIREMENT__BASE_ABSTRACTION: return L2Package.TRACE__BASE_ABSTRACTION;
+ default: return -1;
+ }
+ }
+ if (baseClass == DeriveReqt.class) {
+ switch (derivedFeatureID) {
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == Trace.class) {
+ switch (baseFeatureID) {
+ case L2Package.TRACE__BASE_ABSTRACTION: return RequirementsPackage.DERIVE_REQUIREMENT__BASE_ABSTRACTION;
+ default: return -1;
+ }
+ }
+ if (baseClass == DeriveReqt.class) {
+ switch (baseFeatureID) {
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case RequirementsPackage.DERIVE_REQUIREMENT__BASE_ABSTRACTION:
+ if (resolve) return getBase_Abstraction();
+ return basicGetBase_Abstraction();
+ case RequirementsPackage.DERIVE_REQUIREMENT__DERIVED:
+ return getDerived();
+ case RequirementsPackage.DERIVE_REQUIREMENT__DERIVED_FROM:
+ return getDerivedFrom();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.DERIVE_REQUIREMENT__BASE_ABSTRACTION:
+ return base_Abstraction != null;
+ case RequirementsPackage.DERIVE_REQUIREMENT__DERIVED:
+ return !getDerived().isEmpty();
+ case RequirementsPackage.DERIVE_REQUIREMENT__DERIVED_FROM:
+ return !getDerivedFrom().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case RequirementsPackage.DERIVE_REQUIREMENT__BASE_ABSTRACTION:
+ setBase_Abstraction((Abstraction)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RequirementsPackage.Literals.DERIVE_REQUIREMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.DERIVE_REQUIREMENT__BASE_ABSTRACTION:
+ setBase_Abstraction((Abstraction)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- 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, RequirementsPackage.DERIVE_REQUIREMENT__BASE_ABSTRACTION, oldBase_Abstraction, base_Abstraction));
+ }
+ }
+ return base_Abstraction;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<Requirement> getDerived() {
+
+ EList<Requirement> results = new BasicEList<Requirement>();
+ Requirement requirement;
+
+ if(getBase_Abstraction() != null) {
+ // Parse owned Properties
+ Iterator<Element> it = getBase_Abstraction().getSources().iterator();
+ while(it.hasNext()) {
+ Element current = it.next();
+
+ // Test if currentProperty is stereotyped ADLRequirement
+ requirement = (Requirement)UMLUtil.getStereotypeApplication(current, Requirement.class);
+
+ if(requirement != null) {
+ results.add(requirement);
+ }
+ }
+ }
+
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<Requirement>(Requirement.class, results.size(), results.toArray());
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<Requirement> getDerivedFrom() {
+
+ EList<Requirement> results = new BasicEList<Requirement>();
+ Requirement requirement;
+
+ if(getBase_Abstraction() != null) {
+ // Parse owned Properties
+ Iterator<Element> it = getBase_Abstraction().getTargets().iterator();
+ while(it.hasNext()) {
+ Element current = it.next();
+
+ // Test if currentProperty is stereotyped ADLRequirement
+ requirement = (Requirement)UMLUtil.getStereotypeApplication(current, Requirement.class);
+
+ if(requirement != null) {
+ results.add(requirement);
+ }
+ }
+ }
+
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<Requirement>(Requirement.class, results.size(), results.toArray());
+ }
+
+ /**
+ * <!-- 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, RequirementsPackage.DERIVE_REQUIREMENT__BASE_ABSTRACTION, oldBase_Abstraction, base_Abstraction));
+ }
+
+} // DeriveRequirementImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/ExtendImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/ExtendImpl.java
new file mode 100644
index 00000000000..6b947836601
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/ExtendImpl.java
@@ -0,0 +1,267 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.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.eastadl.infrastructure.elements.impl.RelationshipImpl;
+import org.eclipse.papyrus.eastadl.requirements.Extend;
+import org.eclipse.papyrus.eastadl.requirements.ExtensionPoint;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.UseCase;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Extend</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.ExtendImpl#getBase_Extend <em>Base Extend</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.ExtendImpl#getExtendedCase <em>Extended Case</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.ExtendImpl#getExtensionLocation <em>Extension Location</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ExtendImpl extends RelationshipImpl implements Extend {
+ /**
+ * The cached value of the '{@link #getBase_Extend() <em>Base Extend</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Extend()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.uml2.uml.Extend base_Extend;
+
+ /**
+ * The cached value of the '{@link #getExtendedCase() <em>Extended Case</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExtendedCase()
+ * @generated
+ * @ordered
+ */
+ protected UseCase extendedCase;
+
+ /**
+ * The cached value of the '{@link #getExtensionLocation() <em>Extension Location</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExtensionLocation()
+ * @generated
+ * @ordered
+ */
+ protected EList<ExtensionPoint> extensionLocation;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtendImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RequirementsPackage.Literals.EXTEND;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Extend getBase_Extend() {
+ if (base_Extend != null && base_Extend.eIsProxy()) {
+ InternalEObject oldBase_Extend = (InternalEObject)base_Extend;
+ base_Extend = (org.eclipse.uml2.uml.Extend)eResolveProxy(oldBase_Extend);
+ if (base_Extend != oldBase_Extend) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, RequirementsPackage.EXTEND__BASE_EXTEND, oldBase_Extend, base_Extend));
+ }
+ }
+ return base_Extend;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Extend basicGetBase_Extend() {
+ return base_Extend;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Extend(org.eclipse.uml2.uml.Extend newBase_Extend) {
+ org.eclipse.uml2.uml.Extend oldBase_Extend = base_Extend;
+ base_Extend = newBase_Extend;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RequirementsPackage.EXTEND__BASE_EXTEND, oldBase_Extend, base_Extend));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UseCase getExtendedCase() {
+ if (extendedCase != null && extendedCase.eIsProxy()) {
+ InternalEObject oldExtendedCase = (InternalEObject)extendedCase;
+ extendedCase = (UseCase)eResolveProxy(oldExtendedCase);
+ if (extendedCase != oldExtendedCase) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, RequirementsPackage.EXTEND__EXTENDED_CASE, oldExtendedCase, extendedCase));
+ }
+ }
+ return extendedCase;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UseCase basicGetExtendedCase() {
+ return extendedCase;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExtendedCase(UseCase newExtendedCase) {
+ UseCase oldExtendedCase = extendedCase;
+ extendedCase = newExtendedCase;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RequirementsPackage.EXTEND__EXTENDED_CASE, oldExtendedCase, extendedCase));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ExtensionPoint> getExtensionLocation() {
+ if (extensionLocation == null) {
+ extensionLocation = new EObjectResolvingEList<ExtensionPoint>(ExtensionPoint.class, this, RequirementsPackage.EXTEND__EXTENSION_LOCATION);
+ }
+ return extensionLocation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case RequirementsPackage.EXTEND__BASE_EXTEND:
+ if (resolve) return getBase_Extend();
+ return basicGetBase_Extend();
+ case RequirementsPackage.EXTEND__EXTENDED_CASE:
+ if (resolve) return getExtendedCase();
+ return basicGetExtendedCase();
+ case RequirementsPackage.EXTEND__EXTENSION_LOCATION:
+ return getExtensionLocation();
+ }
+ 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 RequirementsPackage.EXTEND__BASE_EXTEND:
+ setBase_Extend((org.eclipse.uml2.uml.Extend)newValue);
+ return;
+ case RequirementsPackage.EXTEND__EXTENDED_CASE:
+ setExtendedCase((UseCase)newValue);
+ return;
+ case RequirementsPackage.EXTEND__EXTENSION_LOCATION:
+ getExtensionLocation().clear();
+ getExtensionLocation().addAll((Collection<? extends ExtensionPoint>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.EXTEND__BASE_EXTEND:
+ setBase_Extend((org.eclipse.uml2.uml.Extend)null);
+ return;
+ case RequirementsPackage.EXTEND__EXTENDED_CASE:
+ setExtendedCase((UseCase)null);
+ return;
+ case RequirementsPackage.EXTEND__EXTENSION_LOCATION:
+ getExtensionLocation().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.EXTEND__BASE_EXTEND:
+ return base_Extend != null;
+ case RequirementsPackage.EXTEND__EXTENDED_CASE:
+ return extendedCase != null;
+ case RequirementsPackage.EXTEND__EXTENSION_LOCATION:
+ return extensionLocation != null && !extensionLocation.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ExtendImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/ExtensionPointImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/ExtensionPointImpl.java
new file mode 100644
index 00000000000..2658a76586f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/ExtensionPointImpl.java
@@ -0,0 +1,164 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.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.eastadl.requirements.ExtensionPoint;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Extension Point</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.ExtensionPointImpl#getBase_ExtensionPoint <em>Base Extension Point</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ExtensionPointImpl extends RedefinableElementImpl implements ExtensionPoint {
+ /**
+ * The cached value of the '{@link #getBase_ExtensionPoint() <em>Base Extension Point</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_ExtensionPoint()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.uml2.uml.ExtensionPoint base_ExtensionPoint;
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtensionPointImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RequirementsPackage.Literals.EXTENSION_POINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.ExtensionPoint getBase_ExtensionPoint() {
+ if (base_ExtensionPoint != null && base_ExtensionPoint.eIsProxy()) {
+ InternalEObject oldBase_ExtensionPoint = (InternalEObject)base_ExtensionPoint;
+ base_ExtensionPoint = (org.eclipse.uml2.uml.ExtensionPoint)eResolveProxy(oldBase_ExtensionPoint);
+ if (base_ExtensionPoint != oldBase_ExtensionPoint) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, RequirementsPackage.EXTENSION_POINT__BASE_EXTENSION_POINT, oldBase_ExtensionPoint, base_ExtensionPoint));
+ }
+ }
+ return base_ExtensionPoint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.ExtensionPoint basicGetBase_ExtensionPoint() {
+ return base_ExtensionPoint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_ExtensionPoint(org.eclipse.uml2.uml.ExtensionPoint newBase_ExtensionPoint) {
+ org.eclipse.uml2.uml.ExtensionPoint oldBase_ExtensionPoint = base_ExtensionPoint;
+ base_ExtensionPoint = newBase_ExtensionPoint;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RequirementsPackage.EXTENSION_POINT__BASE_EXTENSION_POINT, oldBase_ExtensionPoint, base_ExtensionPoint));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case RequirementsPackage.EXTENSION_POINT__BASE_EXTENSION_POINT:
+ if (resolve) return getBase_ExtensionPoint();
+ return basicGetBase_ExtensionPoint();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case RequirementsPackage.EXTENSION_POINT__BASE_EXTENSION_POINT:
+ setBase_ExtensionPoint((org.eclipse.uml2.uml.ExtensionPoint)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.EXTENSION_POINT__BASE_EXTENSION_POINT:
+ setBase_ExtensionPoint((org.eclipse.uml2.uml.ExtensionPoint)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.EXTENSION_POINT__BASE_EXTENSION_POINT:
+ return base_ExtensionPoint != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ExtensionPointImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/IncludeImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/IncludeImpl.java
new file mode 100644
index 00000000000..811fc9f5c3a
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/IncludeImpl.java
@@ -0,0 +1,227 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.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.eastadl.infrastructure.elements.impl.RelationshipImpl;
+import org.eclipse.papyrus.eastadl.requirements.Include;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.UseCase;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Include</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.IncludeImpl#getBase_Include <em>Base Include</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.IncludeImpl#getAddition <em>Addition</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class IncludeImpl extends RelationshipImpl implements Include {
+ /**
+ * The cached value of the '{@link #getBase_Include() <em>Base Include</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Include()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.uml2.uml.Include base_Include;
+
+ /**
+ * The cached value of the '{@link #getAddition() <em>Addition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAddition()
+ * @generated
+ * @ordered
+ */
+ protected UseCase addition;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IncludeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RequirementsPackage.Literals.INCLUDE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Include getBase_Include() {
+ if (base_Include != null && base_Include.eIsProxy()) {
+ InternalEObject oldBase_Include = (InternalEObject)base_Include;
+ base_Include = (org.eclipse.uml2.uml.Include)eResolveProxy(oldBase_Include);
+ if (base_Include != oldBase_Include) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, RequirementsPackage.INCLUDE__BASE_INCLUDE, oldBase_Include, base_Include));
+ }
+ }
+ return base_Include;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Include basicGetBase_Include() {
+ return base_Include;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Include(org.eclipse.uml2.uml.Include newBase_Include) {
+ org.eclipse.uml2.uml.Include oldBase_Include = base_Include;
+ base_Include = newBase_Include;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RequirementsPackage.INCLUDE__BASE_INCLUDE, oldBase_Include, base_Include));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UseCase getAddition() {
+ if (addition != null && addition.eIsProxy()) {
+ InternalEObject oldAddition = (InternalEObject)addition;
+ addition = (UseCase)eResolveProxy(oldAddition);
+ if (addition != oldAddition) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, RequirementsPackage.INCLUDE__ADDITION, oldAddition, addition));
+ }
+ }
+ return addition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UseCase basicGetAddition() {
+ return addition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAddition(UseCase newAddition) {
+ UseCase oldAddition = addition;
+ addition = newAddition;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RequirementsPackage.INCLUDE__ADDITION, oldAddition, addition));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case RequirementsPackage.INCLUDE__BASE_INCLUDE:
+ if (resolve) return getBase_Include();
+ return basicGetBase_Include();
+ case RequirementsPackage.INCLUDE__ADDITION:
+ if (resolve) return getAddition();
+ return basicGetAddition();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case RequirementsPackage.INCLUDE__BASE_INCLUDE:
+ setBase_Include((org.eclipse.uml2.uml.Include)newValue);
+ return;
+ case RequirementsPackage.INCLUDE__ADDITION:
+ setAddition((UseCase)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.INCLUDE__BASE_INCLUDE:
+ setBase_Include((org.eclipse.uml2.uml.Include)null);
+ return;
+ case RequirementsPackage.INCLUDE__ADDITION:
+ setAddition((UseCase)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.INCLUDE__BASE_INCLUDE:
+ return base_Include != null;
+ case RequirementsPackage.INCLUDE__ADDITION:
+ return addition != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //IncludeImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/OperationalSituationImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/OperationalSituationImpl.java
new file mode 100644
index 00000000000..f54e109e2b1
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/OperationalSituationImpl.java
@@ -0,0 +1,166 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.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.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+import org.eclipse.papyrus.eastadl.requirements.OperationalSituation;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Operational Situation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.OperationalSituationImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class OperationalSituationImpl extends TraceableSpecificationImpl implements OperationalSituation {
+ /**
+ * 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 OperationalSituationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case RequirementsPackage.OPERATIONAL_SITUATION__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 boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.OPERATIONAL_SITUATION__BASE_CLASS:
+ return base_Class != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case RequirementsPackage.OPERATIONAL_SITUATION__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RequirementsPackage.Literals.OPERATIONAL_SITUATION;
+ }
+
+ /**
+ * <!-- 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, RequirementsPackage.OPERATIONAL_SITUATION__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, RequirementsPackage.OPERATIONAL_SITUATION__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.OPERATIONAL_SITUATION__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+} //OperationalSituationImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/QualityRequirementImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/QualityRequirementImpl.java
new file mode 100644
index 00000000000..20e6c67b0ac
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/QualityRequirementImpl.java
@@ -0,0 +1,163 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.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.eastadl.requirements.QualityRequirement;
+import org.eclipse.papyrus.eastadl.requirements.QualityRequirementKind;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Quality Requirement</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.QualityRequirementImpl#getQualityRequirementType <em>Quality Requirement Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class QualityRequirementImpl extends RequirementImpl implements QualityRequirement {
+
+ /**
+ * The default value of the '{@link #getQualityRequirementType() <em>Quality Requirement Type</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getQualityRequirementType()
+ * @generated
+ * @ordered
+ */
+ protected static final QualityRequirementKind QUALITY_REQUIREMENT_TYPE_EDEFAULT = QualityRequirementKind.ERGONOMY;
+
+ /**
+ * The cached value of the '{@link #getQualityRequirementType() <em>Quality Requirement Type</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getQualityRequirementType()
+ * @generated
+ * @ordered
+ */
+ protected QualityRequirementKind qualityRequirementType = QUALITY_REQUIREMENT_TYPE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected QualityRequirementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case RequirementsPackage.QUALITY_REQUIREMENT__QUALITY_REQUIREMENT_TYPE:
+ return getQualityRequirementType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.QUALITY_REQUIREMENT__QUALITY_REQUIREMENT_TYPE:
+ return qualityRequirementType != QUALITY_REQUIREMENT_TYPE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case RequirementsPackage.QUALITY_REQUIREMENT__QUALITY_REQUIREMENT_TYPE:
+ setQualityRequirementType((QualityRequirementKind)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RequirementsPackage.Literals.QUALITY_REQUIREMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.QUALITY_REQUIREMENT__QUALITY_REQUIREMENT_TYPE:
+ setQualityRequirementType(QUALITY_REQUIREMENT_TYPE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public QualityRequirementKind getQualityRequirementType() {
+ return qualityRequirementType;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setQualityRequirementType(QualityRequirementKind newQualityRequirementType) {
+ QualityRequirementKind oldQualityRequirementType = qualityRequirementType;
+ qualityRequirementType = newQualityRequirementType == null ? QUALITY_REQUIREMENT_TYPE_EDEFAULT : newQualityRequirementType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RequirementsPackage.QUALITY_REQUIREMENT__QUALITY_REQUIREMENT_TYPE, oldQualityRequirementType, qualityRequirementType));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (qualityRequirementType: ");
+ result.append(qualityRequirementType);
+ result.append(')');
+ return result.toString();
+ }
+
+} // QualityRequirementImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RedefinableElementImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RedefinableElementImpl.java
new file mode 100644
index 00000000000..ddc1a795262
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RedefinableElementImpl.java
@@ -0,0 +1,165 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.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.papyrus.eastadl.requirements.RedefinableElement;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Redefinable Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RedefinableElementImpl#getBase_RedefinableElement <em>Base Redefinable Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class RedefinableElementImpl extends EObjectImpl implements RedefinableElement {
+ /**
+ * The cached value of the '{@link #getBase_RedefinableElement() <em>Base Redefinable Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_RedefinableElement()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.uml2.uml.RedefinableElement base_RedefinableElement;
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RedefinableElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RequirementsPackage.Literals.REDEFINABLE_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.RedefinableElement getBase_RedefinableElement() {
+ if (base_RedefinableElement != null && base_RedefinableElement.eIsProxy()) {
+ InternalEObject oldBase_RedefinableElement = (InternalEObject)base_RedefinableElement;
+ base_RedefinableElement = (org.eclipse.uml2.uml.RedefinableElement)eResolveProxy(oldBase_RedefinableElement);
+ if (base_RedefinableElement != oldBase_RedefinableElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, RequirementsPackage.REDEFINABLE_ELEMENT__BASE_REDEFINABLE_ELEMENT, oldBase_RedefinableElement, base_RedefinableElement));
+ }
+ }
+ return base_RedefinableElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.RedefinableElement basicGetBase_RedefinableElement() {
+ return base_RedefinableElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_RedefinableElement(org.eclipse.uml2.uml.RedefinableElement newBase_RedefinableElement) {
+ org.eclipse.uml2.uml.RedefinableElement oldBase_RedefinableElement = base_RedefinableElement;
+ base_RedefinableElement = newBase_RedefinableElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RequirementsPackage.REDEFINABLE_ELEMENT__BASE_REDEFINABLE_ELEMENT, oldBase_RedefinableElement, base_RedefinableElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case RequirementsPackage.REDEFINABLE_ELEMENT__BASE_REDEFINABLE_ELEMENT:
+ if (resolve) return getBase_RedefinableElement();
+ return basicGetBase_RedefinableElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case RequirementsPackage.REDEFINABLE_ELEMENT__BASE_REDEFINABLE_ELEMENT:
+ setBase_RedefinableElement((org.eclipse.uml2.uml.RedefinableElement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.REDEFINABLE_ELEMENT__BASE_REDEFINABLE_ELEMENT:
+ setBase_RedefinableElement((org.eclipse.uml2.uml.RedefinableElement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.REDEFINABLE_ELEMENT__BASE_REDEFINABLE_ELEMENT:
+ return base_RedefinableElement != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //RedefinableElementImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RefineImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RefineImpl.java
new file mode 100644
index 00000000000..8ff5b73e5a1
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RefineImpl.java
@@ -0,0 +1,360 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.impl;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+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.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.BasicInternalEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.eastadl.requirements.Refine;
+import org.eclipse.papyrus.eastadl.requirements.Requirement;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+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.profile.l2.L2Package;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Refine</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RefineImpl#getBase_Abstraction <em>Base Abstraction</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RefineImpl#getRefinedRequirement <em>Refined Requirement</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RefineImpl#getRefinedBy <em>Refined By</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RefineImpl#getBase_Dependency <em>Base Dependency</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RefineImpl#getRefinedBy_path <em>Refined By path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RefineImpl extends RequirementsRelationshipImpl implements Refine {
+
+ /**
+ * 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_Dependency() <em>Base Dependency</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Dependency()
+ * @generated
+ * @ordered
+ */
+ protected Dependency base_Dependency;
+
+ /**
+ * The cached value of the '{@link #getRefinedBy_path() <em>Refined By path</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRefinedBy_path()
+ * @generated
+ * @ordered
+ */
+ protected EList<NamedElement> refinedBy_path;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected RefineImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Abstraction basicGetBase_Abstraction() {
+ return base_Abstraction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == org.eclipse.uml2.uml.profile.l2.Refine.class) {
+ switch (derivedFeatureID) {
+ case RequirementsPackage.REFINE__BASE_ABSTRACTION: return L2Package.REFINE__BASE_ABSTRACTION;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == org.eclipse.uml2.uml.profile.l2.Refine.class) {
+ switch (baseFeatureID) {
+ case L2Package.REFINE__BASE_ABSTRACTION: return RequirementsPackage.REFINE__BASE_ABSTRACTION;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case RequirementsPackage.REFINE__BASE_ABSTRACTION:
+ if (resolve) return getBase_Abstraction();
+ return basicGetBase_Abstraction();
+ case RequirementsPackage.REFINE__REFINED_REQUIREMENT:
+ return getRefinedRequirement();
+ case RequirementsPackage.REFINE__REFINED_BY:
+ return getRefinedBy();
+ case RequirementsPackage.REFINE__BASE_DEPENDENCY:
+ if (resolve) return getBase_Dependency();
+ return basicGetBase_Dependency();
+ case RequirementsPackage.REFINE__REFINED_BY_PATH:
+ return getRefinedBy_path();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.REFINE__BASE_ABSTRACTION:
+ return base_Abstraction != null;
+ case RequirementsPackage.REFINE__REFINED_REQUIREMENT:
+ return !getRefinedRequirement().isEmpty();
+ case RequirementsPackage.REFINE__REFINED_BY:
+ return !getRefinedBy().isEmpty();
+ case RequirementsPackage.REFINE__BASE_DEPENDENCY:
+ return base_Dependency != null;
+ case RequirementsPackage.REFINE__REFINED_BY_PATH:
+ return refinedBy_path != null && !refinedBy_path.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case RequirementsPackage.REFINE__BASE_ABSTRACTION:
+ setBase_Abstraction((Abstraction)newValue);
+ return;
+ case RequirementsPackage.REFINE__BASE_DEPENDENCY:
+ setBase_Dependency((Dependency)newValue);
+ return;
+ case RequirementsPackage.REFINE__REFINED_BY_PATH:
+ getRefinedBy_path().clear();
+ getRefinedBy_path().addAll((Collection<? extends NamedElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RequirementsPackage.Literals.REFINE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.REFINE__BASE_ABSTRACTION:
+ setBase_Abstraction((Abstraction)null);
+ return;
+ case RequirementsPackage.REFINE__BASE_DEPENDENCY:
+ setBase_Dependency((Dependency)null);
+ return;
+ case RequirementsPackage.REFINE__REFINED_BY_PATH:
+ getRefinedBy_path().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- 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, RequirementsPackage.REFINE__BASE_ABSTRACTION, oldBase_Abstraction, base_Abstraction));
+ }
+ }
+ return base_Abstraction;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<NamedElement> getRefinedBy() {
+ EList<NamedElement> results = new BasicEList<NamedElement>();
+
+ if(getBase_Dependency() != null) {
+ // Parse owned Properties
+ Iterator<NamedElement> it = getBase_Dependency().getClients().iterator();
+ while(it.hasNext()) {
+ NamedElement current = it.next();
+ results.add(current);
+ }
+ }
+
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<NamedElement>(NamedElement.class, results.size(), results.toArray());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency getBase_Dependency() {
+ if (base_Dependency != null && base_Dependency.eIsProxy()) {
+ InternalEObject oldBase_Dependency = (InternalEObject)base_Dependency;
+ base_Dependency = (Dependency)eResolveProxy(oldBase_Dependency);
+ if (base_Dependency != oldBase_Dependency) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, RequirementsPackage.REFINE__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+ }
+ }
+ return base_Dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency basicGetBase_Dependency() {
+ return base_Dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Dependency(Dependency newBase_Dependency) {
+ Dependency oldBase_Dependency = base_Dependency;
+ base_Dependency = newBase_Dependency;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RequirementsPackage.REFINE__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<NamedElement> getRefinedBy_path() {
+ if (refinedBy_path == null) {
+ refinedBy_path = new EObjectResolvingEList<NamedElement>(NamedElement.class, this, RequirementsPackage.REFINE__REFINED_BY_PATH);
+ }
+ return refinedBy_path;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<Requirement> getRefinedRequirement() {
+ EList<Requirement> results = new BasicEList<Requirement>();
+ Requirement requirement;
+
+ if(getBase_Dependency() != null) {
+ // Parse owned Properties
+ Iterator<Element> it = getBase_Dependency().getTargets().iterator();
+ while(it.hasNext()) {
+ Element current = it.next();
+
+ // Test if current is stereotyped Requirement
+ requirement = (Requirement)UMLUtil.getStereotypeApplication(current, Requirement.class);
+
+ if(requirement != null) {
+ results.add(requirement);
+ }
+ }
+ }
+
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<Requirement>(Requirement.class, results.size(), results.toArray());
+ }
+
+ /**
+ * <!-- 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, RequirementsPackage.REFINE__BASE_ABSTRACTION, oldBase_Abstraction, base_Abstraction));
+ }
+
+} // RefineImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementImpl.java
new file mode 100644
index 00000000000..8d15d9d6192
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementImpl.java
@@ -0,0 +1,723 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.impl;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+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.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.BasicInternalEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.eastadl.behavior.Mode;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Comment;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+import org.eclipse.papyrus.eastadl.requirements.Refine;
+import org.eclipse.papyrus.eastadl.requirements.Requirement;
+import org.eclipse.papyrus.eastadl.requirements.RequirementSpecificationObject;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsContainer;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml.requirements.Copy;
+import org.eclipse.papyrus.sysml.requirements.DeriveReqt;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DirectedRelationship;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Requirement</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementImpl#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementImpl#getOwnedComment <em>Owned Comment</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementImpl#getBase_PackageableElement <em>Base Packageable Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementImpl#getNote <em>Note</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementImpl#getReferencingContainer <em>Referencing Container</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementImpl#getFormalism <em>Formalism</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementImpl#getUrl <em>Url</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementImpl#getMode <em>Mode</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RequirementImpl extends org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementImpl implements
+ Requirement {
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getBase_NamedElement() <em>Base Named Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_NamedElement()
+ * @generated
+ * @ordered
+ */
+ protected NamedElement base_NamedElement;
+
+ /**
+ * The cached value of the '{@link #getOwnedComment() <em>Owned Comment</em>}' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getOwnedComment()
+ * @generated
+ * @ordered
+ */
+ protected EList<Comment> ownedComment;
+
+ /**
+ * The cached value of the '{@link #getBase_PackageableElement() <em>Base Packageable Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_PackageableElement()
+ * @generated
+ * @ordered
+ */
+ protected PackageableElement base_PackageableElement;
+
+ /**
+ * The default value of the '{@link #getNote() <em>Note</em>}' attribute.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @see #getNote()
+ * @generated
+ * @ordered
+ */
+ protected static final String NOTE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getNote() <em>Note</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNote()
+ * @generated
+ * @ordered
+ */
+ protected String note = NOTE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getReferencingContainer() <em>Referencing Container</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReferencingContainer()
+ * @generated
+ * @ordered
+ */
+ protected EList<RequirementsContainer> referencingContainer;
+
+ /**
+ * The default value of the '{@link #getFormalism() <em>Formalism</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getFormalism()
+ * @generated
+ * @ordered
+ */
+ protected static final String FORMALISM_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFormalism() <em>Formalism</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getFormalism()
+ * @generated
+ * @ordered
+ */
+ protected String formalism = FORMALISM_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUrl() <em>Url</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUrl()
+ * @generated
+ * @ordered
+ */
+ protected static final String URL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUrl() <em>Url</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUrl()
+ * @generated
+ * @ordered
+ */
+ protected String url = URL_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getMode() <em>Mode</em>}' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getMode()
+ * @generated
+ * @ordered
+ */
+ protected EList<Mode> mode;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected RequirementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public Requirement basicGetMaster() {
+ // The Requirement is the supplier of the Copy link between the master Requirement and
+ // current
+ // This should return the TestCase verifying current Requirement
+ Requirement master = null;
+ Copy currentCopy = null;
+
+ if(getBase_Class() != null) {
+ Iterator<Dependency> itDep = getBase_Class().getClientDependencies().iterator();
+
+ // Find Copy link
+ while(itDep.hasNext()) {
+ Dependency currentDep = itDep.next();
+ currentCopy = (Copy)UMLUtil.getStereotypeApplication(currentDep, Copy.class);
+
+ if(currentCopy != null) {
+ EList<NamedElement> suppliers = currentCopy.getBase_Abstraction().getSuppliers();
+ Iterator<NamedElement> it = suppliers.iterator();
+ while(it.hasNext() && (master == null)) {
+ Requirement currentRequirement = (Requirement)UMLUtil.getStereotypeApplication(it.next(), Requirement.class);
+ if(currentRequirement != null) {
+ master = currentRequirement;
+ }
+ }
+ }
+ }
+ }
+ return master;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == EAElement.class) {
+ switch (derivedFeatureID) {
+ case RequirementsPackage.REQUIREMENT__NAME: return ElementsPackage.EA_ELEMENT__NAME;
+ case RequirementsPackage.REQUIREMENT__BASE_NAMED_ELEMENT: return ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+ case RequirementsPackage.REQUIREMENT__OWNED_COMMENT: return ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+ default: return -1;
+ }
+ }
+ if (baseClass == EAPackageableElement.class) {
+ switch (derivedFeatureID) {
+ case RequirementsPackage.REQUIREMENT__BASE_PACKAGEABLE_ELEMENT: return ElementsPackage.EA_PACKAGEABLE_ELEMENT__BASE_PACKAGEABLE_ELEMENT;
+ default: return -1;
+ }
+ }
+ if (baseClass == TraceableSpecification.class) {
+ switch (derivedFeatureID) {
+ case RequirementsPackage.REQUIREMENT__NOTE: return ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+ default: return -1;
+ }
+ }
+ if (baseClass == RequirementSpecificationObject.class) {
+ switch (derivedFeatureID) {
+ case RequirementsPackage.REQUIREMENT__REFERENCING_CONTAINER: return RequirementsPackage.REQUIREMENT_SPECIFICATION_OBJECT__REFERENCING_CONTAINER;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == EAElement.class) {
+ switch (baseFeatureID) {
+ case ElementsPackage.EA_ELEMENT__NAME: return RequirementsPackage.REQUIREMENT__NAME;
+ case ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT: return RequirementsPackage.REQUIREMENT__BASE_NAMED_ELEMENT;
+ case ElementsPackage.EA_ELEMENT__OWNED_COMMENT: return RequirementsPackage.REQUIREMENT__OWNED_COMMENT;
+ default: return -1;
+ }
+ }
+ if (baseClass == EAPackageableElement.class) {
+ switch (baseFeatureID) {
+ case ElementsPackage.EA_PACKAGEABLE_ELEMENT__BASE_PACKAGEABLE_ELEMENT: return RequirementsPackage.REQUIREMENT__BASE_PACKAGEABLE_ELEMENT;
+ default: return -1;
+ }
+ }
+ if (baseClass == TraceableSpecification.class) {
+ switch (baseFeatureID) {
+ case ElementsPackage.TRACEABLE_SPECIFICATION__NOTE: return RequirementsPackage.REQUIREMENT__NOTE;
+ default: return -1;
+ }
+ }
+ if (baseClass == RequirementSpecificationObject.class) {
+ switch (baseFeatureID) {
+ case RequirementsPackage.REQUIREMENT_SPECIFICATION_OBJECT__REFERENCING_CONTAINER: return RequirementsPackage.REQUIREMENT__REFERENCING_CONTAINER;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENT__NAME:
+ return getName();
+ case RequirementsPackage.REQUIREMENT__BASE_NAMED_ELEMENT:
+ if (resolve) return getBase_NamedElement();
+ return basicGetBase_NamedElement();
+ case RequirementsPackage.REQUIREMENT__OWNED_COMMENT:
+ return getOwnedComment();
+ case RequirementsPackage.REQUIREMENT__BASE_PACKAGEABLE_ELEMENT:
+ if (resolve) return getBase_PackageableElement();
+ return basicGetBase_PackageableElement();
+ case RequirementsPackage.REQUIREMENT__NOTE:
+ return getNote();
+ case RequirementsPackage.REQUIREMENT__REFERENCING_CONTAINER:
+ return getReferencingContainer();
+ case RequirementsPackage.REQUIREMENT__FORMALISM:
+ return getFormalism();
+ case RequirementsPackage.REQUIREMENT__URL:
+ return getUrl();
+ case RequirementsPackage.REQUIREMENT__MODE:
+ return getMode();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENT__NAME:
+ return NAME_EDEFAULT == null ? getName() != null : !NAME_EDEFAULT.equals(getName());
+ case RequirementsPackage.REQUIREMENT__BASE_NAMED_ELEMENT:
+ return base_NamedElement != null;
+ case RequirementsPackage.REQUIREMENT__OWNED_COMMENT:
+ return ownedComment != null && !ownedComment.isEmpty();
+ case RequirementsPackage.REQUIREMENT__BASE_PACKAGEABLE_ELEMENT:
+ return base_PackageableElement != null;
+ case RequirementsPackage.REQUIREMENT__NOTE:
+ return NOTE_EDEFAULT == null ? note != null : !NOTE_EDEFAULT.equals(note);
+ case RequirementsPackage.REQUIREMENT__REFERENCING_CONTAINER:
+ return referencingContainer != null && !referencingContainer.isEmpty();
+ case RequirementsPackage.REQUIREMENT__FORMALISM:
+ return FORMALISM_EDEFAULT == null ? formalism != null : !FORMALISM_EDEFAULT.equals(formalism);
+ case RequirementsPackage.REQUIREMENT__URL:
+ return URL_EDEFAULT == null ? url != null : !URL_EDEFAULT.equals(url);
+ case RequirementsPackage.REQUIREMENT__MODE:
+ return mode != null && !mode.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENT__NAME:
+ setName((String)newValue);
+ return;
+ case RequirementsPackage.REQUIREMENT__BASE_NAMED_ELEMENT:
+ setBase_NamedElement((NamedElement)newValue);
+ return;
+ case RequirementsPackage.REQUIREMENT__OWNED_COMMENT:
+ getOwnedComment().clear();
+ getOwnedComment().addAll((Collection<? extends Comment>)newValue);
+ return;
+ case RequirementsPackage.REQUIREMENT__BASE_PACKAGEABLE_ELEMENT:
+ setBase_PackageableElement((PackageableElement)newValue);
+ return;
+ case RequirementsPackage.REQUIREMENT__NOTE:
+ setNote((String)newValue);
+ return;
+ case RequirementsPackage.REQUIREMENT__REFERENCING_CONTAINER:
+ getReferencingContainer().clear();
+ getReferencingContainer().addAll((Collection<? extends RequirementsContainer>)newValue);
+ return;
+ case RequirementsPackage.REQUIREMENT__FORMALISM:
+ setFormalism((String)newValue);
+ return;
+ case RequirementsPackage.REQUIREMENT__URL:
+ setUrl((String)newValue);
+ return;
+ case RequirementsPackage.REQUIREMENT__MODE:
+ getMode().clear();
+ getMode().addAll((Collection<? extends Mode>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RequirementsPackage.Literals.REQUIREMENT;
+ }
+
+
+
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case RequirementsPackage.REQUIREMENT__BASE_NAMED_ELEMENT:
+ setBase_NamedElement((NamedElement)null);
+ return;
+ case RequirementsPackage.REQUIREMENT__OWNED_COMMENT:
+ getOwnedComment().clear();
+ return;
+ case RequirementsPackage.REQUIREMENT__BASE_PACKAGEABLE_ELEMENT:
+ setBase_PackageableElement((PackageableElement)null);
+ return;
+ case RequirementsPackage.REQUIREMENT__NOTE:
+ setNote(NOTE_EDEFAULT);
+ return;
+ case RequirementsPackage.REQUIREMENT__REFERENCING_CONTAINER:
+ getReferencingContainer().clear();
+ return;
+ case RequirementsPackage.REQUIREMENT__FORMALISM:
+ setFormalism(FORMALISM_EDEFAULT);
+ return;
+ case RequirementsPackage.REQUIREMENT__URL:
+ setUrl(URL_EDEFAULT);
+ return;
+ case RequirementsPackage.REQUIREMENT__MODE:
+ getMode().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<org.eclipse.papyrus.sysml.requirements.Requirement> getDerived() {
+ // This should return the Requirement(s) derived from current
+ EList<Requirement> derived = new BasicEList<Requirement>();
+ DeriveReqt currentDeriveReqt = null;
+
+ if(getBase_Class() != null) {
+ Iterator<DirectedRelationship> itDep = getBase_Class().getTargetDirectedRelationships().iterator();
+
+ // Find DeriveReqt link
+ while(itDep.hasNext()) {
+ DirectedRelationship currentDirectedRelationship = itDep.next();
+ currentDeriveReqt = (DeriveReqt)UMLUtil.getStereotypeApplication(currentDirectedRelationship,
+ DeriveReqt.class);
+
+ if(currentDeriveReqt != null) {
+ EList<NamedElement> clients = currentDeriveReqt.getBase_Abstraction().getClients();
+ Iterator<NamedElement> it = clients.iterator();
+ while(it.hasNext()) {
+ Requirement currentRequirement = (Requirement)UMLUtil.getStereotypeApplication(it.next(),
+ Requirement.class);
+ if(currentRequirement != null) {
+ derived.add(currentRequirement);
+ }
+ }
+ }
+ }
+ }
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<org.eclipse.papyrus.sysml.requirements.Requirement>(
+ org.eclipse.papyrus.sysml.requirements.Requirement.class, derived.size(), derived.toArray());
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getFormalism() {
+ return formalism;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Mode> getMode() {
+ if (mode == null) {
+ mode = new EObjectResolvingEList<Mode>(Mode.class, this, RequirementsPackage.REQUIREMENT__MODE);
+ }
+ return mode;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public String getName() {
+ return getBase_Class().getName();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getNote() {
+ return note;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Comment> getOwnedComment() {
+ if (ownedComment == null) {
+ ownedComment = new EObjectResolvingEList<Comment>(Comment.class, this, RequirementsPackage.REQUIREMENT__OWNED_COMMENT);
+ }
+ return ownedComment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageableElement getBase_PackageableElement() {
+ if (base_PackageableElement != null && base_PackageableElement.eIsProxy()) {
+ InternalEObject oldBase_PackageableElement = (InternalEObject)base_PackageableElement;
+ base_PackageableElement = (PackageableElement)eResolveProxy(oldBase_PackageableElement);
+ if (base_PackageableElement != oldBase_PackageableElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, RequirementsPackage.REQUIREMENT__BASE_PACKAGEABLE_ELEMENT, oldBase_PackageableElement, base_PackageableElement));
+ }
+ }
+ return base_PackageableElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageableElement basicGetBase_PackageableElement() {
+ return base_PackageableElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_PackageableElement(PackageableElement newBase_PackageableElement) {
+ PackageableElement oldBase_PackageableElement = base_PackageableElement;
+ base_PackageableElement = newBase_PackageableElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RequirementsPackage.REQUIREMENT__BASE_PACKAGEABLE_ELEMENT, oldBase_PackageableElement, base_PackageableElement));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<NamedElement> getRefinedBy() {
+ // This should return the NamedElement(s) that refine current Requirement
+ EList<NamedElement> refinedBy = new BasicEList<NamedElement>();
+ Refine currentRefine = null;
+
+ if(getBase_Class() != null) {
+ Iterator<DirectedRelationship> itDep = getBase_Class().getTargetDirectedRelationships().iterator();
+
+ // Find Refine link
+ while(itDep.hasNext()) {
+ DirectedRelationship currentDRelationship = itDep.next();
+ currentRefine = (Refine)UMLUtil.getStereotypeApplication(currentDRelationship, Refine.class);
+
+ if(currentRefine != null) {
+ refinedBy.addAll(currentRefine.getBase_Dependency().getClients());
+ }
+ }
+ }
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<NamedElement>(NamedElement.class, refinedBy.size(), refinedBy.toArray());
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getUrl() {
+ return url;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFormalism(String newFormalism) {
+ String oldFormalism = formalism;
+ formalism = newFormalism;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RequirementsPackage.REQUIREMENT__FORMALISM, oldFormalism, formalism));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public void setName(String newName) {
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getBase_NamedElement() {
+ if (base_NamedElement != null && base_NamedElement.eIsProxy()) {
+ InternalEObject oldBase_NamedElement = (InternalEObject)base_NamedElement;
+ base_NamedElement = (NamedElement)eResolveProxy(oldBase_NamedElement);
+ if (base_NamedElement != oldBase_NamedElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, RequirementsPackage.REQUIREMENT__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+ }
+ }
+ return base_NamedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement basicGetBase_NamedElement() {
+ return base_NamedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_NamedElement(NamedElement newBase_NamedElement) {
+ NamedElement oldBase_NamedElement = base_NamedElement;
+ base_NamedElement = newBase_NamedElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RequirementsPackage.REQUIREMENT__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNote(String newNote) {
+ String oldNote = note;
+ note = newNote;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RequirementsPackage.REQUIREMENT__NOTE, oldNote, note));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<RequirementsContainer> getReferencingContainer() {
+ if (referencingContainer == null) {
+ referencingContainer = new EObjectResolvingEList<RequirementsContainer>(RequirementsContainer.class, this, RequirementsPackage.REQUIREMENT__REFERENCING_CONTAINER);
+ }
+ return referencingContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUrl(String newUrl) {
+ String oldUrl = url;
+ url = newUrl;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RequirementsPackage.REQUIREMENT__URL, oldUrl, url));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (note: ");
+ result.append(note);
+ result.append(", formalism: ");
+ result.append(formalism);
+ result.append(", url: ");
+ result.append(url);
+ result.append(')');
+ return result.toString();
+ }
+
+} // RequirementImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementSpecificationObjectImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementSpecificationObjectImpl.java
new file mode 100644
index 00000000000..3c0e2a3de10
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementSpecificationObjectImpl.java
@@ -0,0 +1,144 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.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.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementSpecificationObject;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsContainer;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Requirement Specification Object</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementSpecificationObjectImpl#getReferencingContainer <em>Referencing Container</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class RequirementSpecificationObjectImpl extends TraceableSpecificationImpl implements RequirementSpecificationObject {
+ /**
+ * The cached value of the '{@link #getReferencingContainer() <em>Referencing Container</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReferencingContainer()
+ * @generated
+ * @ordered
+ */
+ protected EList<RequirementsContainer> referencingContainer;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RequirementSpecificationObjectImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RequirementsPackage.Literals.REQUIREMENT_SPECIFICATION_OBJECT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<RequirementsContainer> getReferencingContainer() {
+ if (referencingContainer == null) {
+ referencingContainer = new EObjectResolvingEList<RequirementsContainer>(RequirementsContainer.class, this, RequirementsPackage.REQUIREMENT_SPECIFICATION_OBJECT__REFERENCING_CONTAINER);
+ }
+ return referencingContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENT_SPECIFICATION_OBJECT__REFERENCING_CONTAINER:
+ return getReferencingContainer();
+ }
+ 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 RequirementsPackage.REQUIREMENT_SPECIFICATION_OBJECT__REFERENCING_CONTAINER:
+ getReferencingContainer().clear();
+ getReferencingContainer().addAll((Collection<? extends RequirementsContainer>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENT_SPECIFICATION_OBJECT__REFERENCING_CONTAINER:
+ getReferencingContainer().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENT_SPECIFICATION_OBJECT__REFERENCING_CONTAINER:
+ return referencingContainer != null && !referencingContainer.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //RequirementSpecificationObjectImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsContainerImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsContainerImpl.java
new file mode 100644
index 00000000000..497dc884dc1
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsContainerImpl.java
@@ -0,0 +1,446 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.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.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementSpecificationObject;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsContainer;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Container</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsContainerImpl#getChildContainer <em>Child Container</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsContainerImpl#getParentContainer <em>Parent Container</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsContainerImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsContainerImpl#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsContainerImpl#getContainedReqSpecObject <em>Contained Req Spec Object</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RequirementsContainerImpl extends TraceableSpecificationImpl implements RequirementsContainer {
+ /**
+ * The cached value of the '{@link #getChildContainer() <em>Child Container</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getChildContainer()
+ * @generated
+ * @ordered
+ */
+ protected EList<RequirementsContainer> childContainer;
+
+ /**
+ * The cached value of the '{@link #getParentContainer() <em>Parent Container</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParentContainer()
+ * @generated
+ * @ordered
+ */
+ protected RequirementsContainer parentContainer;
+
+ /**
+ * 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 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 #getContainedReqSpecObject() <em>Contained Req Spec Object</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContainedReqSpecObject()
+ * @generated
+ * @ordered
+ */
+ protected RequirementSpecificationObject containedReqSpecObject;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RequirementsContainerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RequirementSpecificationObject basicGetContainedReqSpecObject() {
+ return containedReqSpecObject;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RequirementsContainer basicGetParentContainer() {
+ return parentContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetParentContainer(RequirementsContainer newParentContainer, NotificationChain msgs) {
+ RequirementsContainer oldParentContainer = parentContainer;
+ parentContainer = newParentContainer;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RequirementsPackage.REQUIREMENTS_CONTAINER__PARENT_CONTAINER, oldParentContainer, newParentContainer);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENTS_CONTAINER__CHILD_CONTAINER:
+ return getChildContainer();
+ case RequirementsPackage.REQUIREMENTS_CONTAINER__PARENT_CONTAINER:
+ if (resolve) return getParentContainer();
+ return basicGetParentContainer();
+ case RequirementsPackage.REQUIREMENTS_CONTAINER__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case RequirementsPackage.REQUIREMENTS_CONTAINER__BASE_PACKAGE:
+ if (resolve) return getBase_Package();
+ return basicGetBase_Package();
+ case RequirementsPackage.REQUIREMENTS_CONTAINER__CONTAINED_REQ_SPEC_OBJECT:
+ if (resolve) return getContainedReqSpecObject();
+ return basicGetContainedReqSpecObject();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENTS_CONTAINER__CHILD_CONTAINER:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getChildContainer()).basicAdd(otherEnd, msgs);
+ case RequirementsPackage.REQUIREMENTS_CONTAINER__PARENT_CONTAINER:
+ if (parentContainer != null)
+ msgs = ((InternalEObject)parentContainer).eInverseRemove(this, RequirementsPackage.REQUIREMENTS_CONTAINER__CHILD_CONTAINER, RequirementsContainer.class, msgs);
+ return basicSetParentContainer((RequirementsContainer)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENTS_CONTAINER__CHILD_CONTAINER:
+ return ((InternalEList<?>)getChildContainer()).basicRemove(otherEnd, msgs);
+ case RequirementsPackage.REQUIREMENTS_CONTAINER__PARENT_CONTAINER:
+ return basicSetParentContainer(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENTS_CONTAINER__CHILD_CONTAINER:
+ return childContainer != null && !childContainer.isEmpty();
+ case RequirementsPackage.REQUIREMENTS_CONTAINER__PARENT_CONTAINER:
+ return parentContainer != null;
+ case RequirementsPackage.REQUIREMENTS_CONTAINER__BASE_CLASS:
+ return base_Class != null;
+ case RequirementsPackage.REQUIREMENTS_CONTAINER__BASE_PACKAGE:
+ return base_Package != null;
+ case RequirementsPackage.REQUIREMENTS_CONTAINER__CONTAINED_REQ_SPEC_OBJECT:
+ return containedReqSpecObject != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENTS_CONTAINER__CHILD_CONTAINER:
+ getChildContainer().clear();
+ getChildContainer().addAll((Collection<? extends RequirementsContainer>)newValue);
+ return;
+ case RequirementsPackage.REQUIREMENTS_CONTAINER__PARENT_CONTAINER:
+ setParentContainer((RequirementsContainer)newValue);
+ return;
+ case RequirementsPackage.REQUIREMENTS_CONTAINER__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case RequirementsPackage.REQUIREMENTS_CONTAINER__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+ return;
+ case RequirementsPackage.REQUIREMENTS_CONTAINER__CONTAINED_REQ_SPEC_OBJECT:
+ setContainedReqSpecObject((RequirementSpecificationObject)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RequirementsPackage.Literals.REQUIREMENTS_CONTAINER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENTS_CONTAINER__CHILD_CONTAINER:
+ getChildContainer().clear();
+ return;
+ case RequirementsPackage.REQUIREMENTS_CONTAINER__PARENT_CONTAINER:
+ setParentContainer((RequirementsContainer)null);
+ return;
+ case RequirementsPackage.REQUIREMENTS_CONTAINER__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case RequirementsPackage.REQUIREMENTS_CONTAINER__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)null);
+ return;
+ case RequirementsPackage.REQUIREMENTS_CONTAINER__CONTAINED_REQ_SPEC_OBJECT:
+ setContainedReqSpecObject((RequirementSpecificationObject)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<RequirementsContainer> getChildContainer() {
+ if (childContainer == null) {
+ childContainer = new EObjectWithInverseResolvingEList<RequirementsContainer>(RequirementsContainer.class, this, RequirementsPackage.REQUIREMENTS_CONTAINER__CHILD_CONTAINER, RequirementsPackage.REQUIREMENTS_CONTAINER__PARENT_CONTAINER);
+ }
+ return childContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RequirementSpecificationObject getContainedReqSpecObject() {
+ if (containedReqSpecObject != null && containedReqSpecObject.eIsProxy()) {
+ InternalEObject oldContainedReqSpecObject = (InternalEObject)containedReqSpecObject;
+ containedReqSpecObject = (RequirementSpecificationObject)eResolveProxy(oldContainedReqSpecObject);
+ if (containedReqSpecObject != oldContainedReqSpecObject) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, RequirementsPackage.REQUIREMENTS_CONTAINER__CONTAINED_REQ_SPEC_OBJECT, oldContainedReqSpecObject, containedReqSpecObject));
+ }
+ }
+ return containedReqSpecObject;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RequirementsContainer getParentContainer() {
+ if (parentContainer != null && parentContainer.eIsProxy()) {
+ InternalEObject oldParentContainer = (InternalEObject)parentContainer;
+ parentContainer = (RequirementsContainer)eResolveProxy(oldParentContainer);
+ if (parentContainer != oldParentContainer) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, RequirementsPackage.REQUIREMENTS_CONTAINER__PARENT_CONTAINER, oldParentContainer, parentContainer));
+ }
+ }
+ return parentContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setContainedReqSpecObject(RequirementSpecificationObject newContainedReqSpecObject) {
+ RequirementSpecificationObject oldContainedReqSpecObject = containedReqSpecObject;
+ containedReqSpecObject = newContainedReqSpecObject;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RequirementsPackage.REQUIREMENTS_CONTAINER__CONTAINED_REQ_SPEC_OBJECT, oldContainedReqSpecObject, containedReqSpecObject));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParentContainer(RequirementsContainer newParentContainer) {
+ if (newParentContainer != parentContainer) {
+ NotificationChain msgs = null;
+ if (parentContainer != null)
+ msgs = ((InternalEObject)parentContainer).eInverseRemove(this, RequirementsPackage.REQUIREMENTS_CONTAINER__CHILD_CONTAINER, RequirementsContainer.class, msgs);
+ if (newParentContainer != null)
+ msgs = ((InternalEObject)newParentContainer).eInverseAdd(this, RequirementsPackage.REQUIREMENTS_CONTAINER__CHILD_CONTAINER, RequirementsContainer.class, msgs);
+ msgs = basicSetParentContainer(newParentContainer, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RequirementsPackage.REQUIREMENTS_CONTAINER__PARENT_CONTAINER, newParentContainer, newParentContainer));
+ }
+
+ /**
+ * <!-- 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, RequirementsPackage.REQUIREMENTS_CONTAINER__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, RequirementsPackage.REQUIREMENTS_CONTAINER__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- 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, RequirementsPackage.REQUIREMENTS_CONTAINER__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, RequirementsPackage.REQUIREMENTS_CONTAINER__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+
+} //RequirementsContainerImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsFactoryImpl.java
new file mode 100644
index 00000000000..5225cab2b82
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsFactoryImpl.java
@@ -0,0 +1,329 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.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.eclipse.papyrus.eastadl.requirements.Actor;
+import org.eclipse.papyrus.eastadl.requirements.DeriveRequirement;
+import org.eclipse.papyrus.eastadl.requirements.Extend;
+import org.eclipse.papyrus.eastadl.requirements.ExtensionPoint;
+import org.eclipse.papyrus.eastadl.requirements.Include;
+import org.eclipse.papyrus.eastadl.requirements.OperationalSituation;
+import org.eclipse.papyrus.eastadl.requirements.QualityRequirement;
+import org.eclipse.papyrus.eastadl.requirements.QualityRequirementKind;
+import org.eclipse.papyrus.eastadl.requirements.Refine;
+import org.eclipse.papyrus.eastadl.requirements.Requirement;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsContainer;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsFactory;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsLink;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsModel;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsRelatedInformation;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsRelationGroup;
+import org.eclipse.papyrus.eastadl.requirements.Satisfy;
+import org.eclipse.papyrus.eastadl.requirements.UseCase;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!-- end-user-doc -->
+ * @generated
+ */
+public class RequirementsFactoryImpl extends EFactoryImpl implements RequirementsFactory {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static RequirementsPackage getPackage() {
+ return RequirementsPackage.eINSTANCE;
+ }
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public static RequirementsFactory init() {
+ try {
+ RequirementsFactory theRequirementsFactory = (RequirementsFactory)EPackage.Registry.INSTANCE.getEFactory(RequirementsPackage.eNS_URI);
+ if (theRequirementsFactory != null) {
+ return theRequirementsFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new RequirementsFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public RequirementsFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertQualityRequirementKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case RequirementsPackage.QUALITY_REQUIREMENT_KIND:
+ return convertQualityRequirementKindToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case RequirementsPackage.QUALITY_REQUIREMENT: return createQualityRequirement();
+ case RequirementsPackage.REQUIREMENT: return createRequirement();
+ case RequirementsPackage.REQUIREMENTS_CONTAINER: return createRequirementsContainer();
+ case RequirementsPackage.REQUIREMENTS_RELATED_INFORMATION: return createRequirementsRelatedInformation();
+ case RequirementsPackage.SATISFY: return createSatisfy();
+ case RequirementsPackage.USE_CASE: return createUseCase();
+ case RequirementsPackage.INCLUDE: return createInclude();
+ case RequirementsPackage.EXTEND: return createExtend();
+ case RequirementsPackage.EXTENSION_POINT: return createExtensionPoint();
+ case RequirementsPackage.REFINE: return createRefine();
+ case RequirementsPackage.DERIVE_REQUIREMENT: return createDeriveRequirement();
+ case RequirementsPackage.REQUIREMENTS_RELATION_GROUP: return createRequirementsRelationGroup();
+ case RequirementsPackage.REQUIREMENTS_LINK: return createRequirementsLink();
+ case RequirementsPackage.REQUIREMENTS_MODEL: return createRequirementsModel();
+ case RequirementsPackage.OPERATIONAL_SITUATION: return createOperationalSituation();
+ case RequirementsPackage.ACTOR: return createActor();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DeriveRequirement createDeriveRequirement() {
+ DeriveRequirementImpl deriveRequirement = new DeriveRequirementImpl();
+ return deriveRequirement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case RequirementsPackage.QUALITY_REQUIREMENT_KIND:
+ return createQualityRequirementKindFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OperationalSituation createOperationalSituation() {
+ OperationalSituationImpl operationalSituation = new OperationalSituationImpl();
+ return operationalSituation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Actor createActor() {
+ ActorImpl actor = new ActorImpl();
+ return actor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public QualityRequirement createQualityRequirement() {
+ QualityRequirementImpl qualityRequirement = new QualityRequirementImpl();
+ return qualityRequirement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public QualityRequirementKind createQualityRequirementKindFromString(EDataType eDataType, String initialValue) {
+ QualityRequirementKind result = QualityRequirementKind.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 Refine createRefine() {
+ RefineImpl refine = new RefineImpl();
+ return refine;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Requirement createRequirement() {
+ RequirementImpl requirement = new RequirementImpl();
+ return requirement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RequirementsContainer createRequirementsContainer() {
+ RequirementsContainerImpl requirementsContainer = new RequirementsContainerImpl();
+ return requirementsContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RequirementsLink createRequirementsLink() {
+ RequirementsLinkImpl requirementsLink = new RequirementsLinkImpl();
+ return requirementsLink;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RequirementsModel createRequirementsModel() {
+ RequirementsModelImpl requirementsModel = new RequirementsModelImpl();
+ return requirementsModel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RequirementsRelatedInformation createRequirementsRelatedInformation() {
+ RequirementsRelatedInformationImpl requirementsRelatedInformation = new RequirementsRelatedInformationImpl();
+ return requirementsRelatedInformation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RequirementsRelationGroup createRequirementsRelationGroup() {
+ RequirementsRelationGroupImpl requirementsRelationGroup = new RequirementsRelationGroupImpl();
+ return requirementsRelationGroup;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Satisfy createSatisfy() {
+ SatisfyImpl satisfy = new SatisfyImpl();
+ return satisfy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UseCase createUseCase() {
+ UseCaseImpl useCase = new UseCaseImpl();
+ return useCase;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Include createInclude() {
+ IncludeImpl include = new IncludeImpl();
+ return include;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Extend createExtend() {
+ ExtendImpl extend = new ExtendImpl();
+ return extend;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtensionPoint createExtensionPoint() {
+ ExtensionPointImpl extensionPoint = new ExtensionPointImpl();
+ return extensionPoint;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public RequirementsPackage getRequirementsPackage() {
+ return (RequirementsPackage)getEPackage();
+ }
+
+} // RequirementsFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsLinkImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsLinkImpl.java
new file mode 100644
index 00000000000..949aeb352ed
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsLinkImpl.java
@@ -0,0 +1,247 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.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.eastadl.requirements.Requirement;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsLink;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Link</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsLinkImpl#isIsBidirectional <em>Is Bidirectional</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsLinkImpl#getSource <em>Source</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsLinkImpl#getTarget <em>Target</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RequirementsLinkImpl extends RequirementsRelationshipImpl implements RequirementsLink {
+ /**
+ * The default value of the '{@link #isIsBidirectional() <em>Is Bidirectional</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsBidirectional()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_BIDIRECTIONAL_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsBidirectional() <em>Is Bidirectional</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsBidirectional()
+ * @generated
+ * @ordered
+ */
+ protected boolean isBidirectional = IS_BIDIRECTIONAL_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getSource() <em>Source</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSource()
+ * @generated
+ * @ordered
+ */
+ protected EList<Requirement> source;
+
+ /**
+ * The cached value of the '{@link #getTarget() <em>Target</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTarget()
+ * @generated
+ * @ordered
+ */
+ protected EList<Requirement> target;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RequirementsLinkImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENTS_LINK__IS_BIDIRECTIONAL:
+ return isIsBidirectional();
+ case RequirementsPackage.REQUIREMENTS_LINK__SOURCE:
+ return getSource();
+ case RequirementsPackage.REQUIREMENTS_LINK__TARGET:
+ return getTarget();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENTS_LINK__IS_BIDIRECTIONAL:
+ return isBidirectional != IS_BIDIRECTIONAL_EDEFAULT;
+ case RequirementsPackage.REQUIREMENTS_LINK__SOURCE:
+ return source != null && !source.isEmpty();
+ case RequirementsPackage.REQUIREMENTS_LINK__TARGET:
+ return target != null && !target.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENTS_LINK__IS_BIDIRECTIONAL:
+ setIsBidirectional((Boolean)newValue);
+ return;
+ case RequirementsPackage.REQUIREMENTS_LINK__SOURCE:
+ getSource().clear();
+ getSource().addAll((Collection<? extends Requirement>)newValue);
+ return;
+ case RequirementsPackage.REQUIREMENTS_LINK__TARGET:
+ getTarget().clear();
+ getTarget().addAll((Collection<? extends Requirement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RequirementsPackage.Literals.REQUIREMENTS_LINK;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENTS_LINK__IS_BIDIRECTIONAL:
+ setIsBidirectional(IS_BIDIRECTIONAL_EDEFAULT);
+ return;
+ case RequirementsPackage.REQUIREMENTS_LINK__SOURCE:
+ getSource().clear();
+ return;
+ case RequirementsPackage.REQUIREMENTS_LINK__TARGET:
+ getTarget().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Requirement> getSource() {
+ if (source == null) {
+ source = new EObjectResolvingEList<Requirement>(Requirement.class, this, RequirementsPackage.REQUIREMENTS_LINK__SOURCE);
+ }
+ return source;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Requirement> getTarget() {
+ if (target == null) {
+ target = new EObjectResolvingEList<Requirement>(Requirement.class, this, RequirementsPackage.REQUIREMENTS_LINK__TARGET);
+ }
+ return target;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsBidirectional() {
+ return isBidirectional;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsBidirectional(boolean newIsBidirectional) {
+ boolean oldIsBidirectional = isBidirectional;
+ isBidirectional = newIsBidirectional;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RequirementsPackage.REQUIREMENTS_LINK__IS_BIDIRECTIONAL, oldIsBidirectional, isBidirectional));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (isBidirectional: ");
+ result.append(isBidirectional);
+ result.append(')');
+ return result.toString();
+ }
+
+} //RequirementsLinkImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsModelImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsModelImpl.java
new file mode 100644
index 00000000000..293133ddc95
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsModelImpl.java
@@ -0,0 +1,312 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.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.eastadl.infrastructure.elements.impl.ContextImpl;
+import org.eclipse.papyrus.eastadl.requirements.OperationalSituation;
+import org.eclipse.papyrus.eastadl.requirements.RequirementSpecificationObject;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsContainer;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsModel;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.uml2.uml.UseCase;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Model</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsModelImpl#getUseCase <em>Use Case</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsModelImpl#getRequirement <em>Requirement</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsModelImpl#getRequirementContainer <em>Requirement Container</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsModelImpl#getOperationalSituation <em>Operational Situation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsModelImpl#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RequirementsModelImpl extends ContextImpl implements RequirementsModel {
+ /**
+ * The cached value of the '{@link #getUseCase() <em>Use Case</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUseCase()
+ * @generated
+ * @ordered
+ */
+ protected EList<UseCase> useCase;
+
+ /**
+ * The cached value of the '{@link #getRequirement() <em>Requirement</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRequirement()
+ * @generated
+ * @ordered
+ */
+ protected EList<RequirementSpecificationObject> requirement;
+
+ /**
+ * The cached value of the '{@link #getRequirementContainer() <em>Requirement Container</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRequirementContainer()
+ * @generated
+ * @ordered
+ */
+ protected EList<RequirementsContainer> requirementContainer;
+
+ /**
+ * The cached value of the '{@link #getOperationalSituation() <em>Operational Situation</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOperationalSituation()
+ * @generated
+ * @ordered
+ */
+ protected EList<OperationalSituation> operationalSituation;
+
+ /**
+ * 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 RequirementsModelImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENTS_MODEL__USE_CASE:
+ return getUseCase();
+ case RequirementsPackage.REQUIREMENTS_MODEL__REQUIREMENT:
+ return getRequirement();
+ case RequirementsPackage.REQUIREMENTS_MODEL__REQUIREMENT_CONTAINER:
+ return getRequirementContainer();
+ case RequirementsPackage.REQUIREMENTS_MODEL__OPERATIONAL_SITUATION:
+ return getOperationalSituation();
+ case RequirementsPackage.REQUIREMENTS_MODEL__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 boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENTS_MODEL__USE_CASE:
+ return useCase != null && !useCase.isEmpty();
+ case RequirementsPackage.REQUIREMENTS_MODEL__REQUIREMENT:
+ return requirement != null && !requirement.isEmpty();
+ case RequirementsPackage.REQUIREMENTS_MODEL__REQUIREMENT_CONTAINER:
+ return requirementContainer != null && !requirementContainer.isEmpty();
+ case RequirementsPackage.REQUIREMENTS_MODEL__OPERATIONAL_SITUATION:
+ return operationalSituation != null && !operationalSituation.isEmpty();
+ case RequirementsPackage.REQUIREMENTS_MODEL__BASE_PACKAGE:
+ return base_Package != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENTS_MODEL__USE_CASE:
+ getUseCase().clear();
+ getUseCase().addAll((Collection<? extends UseCase>)newValue);
+ return;
+ case RequirementsPackage.REQUIREMENTS_MODEL__REQUIREMENT:
+ getRequirement().clear();
+ getRequirement().addAll((Collection<? extends RequirementSpecificationObject>)newValue);
+ return;
+ case RequirementsPackage.REQUIREMENTS_MODEL__REQUIREMENT_CONTAINER:
+ getRequirementContainer().clear();
+ getRequirementContainer().addAll((Collection<? extends RequirementsContainer>)newValue);
+ return;
+ case RequirementsPackage.REQUIREMENTS_MODEL__OPERATIONAL_SITUATION:
+ getOperationalSituation().clear();
+ getOperationalSituation().addAll((Collection<? extends OperationalSituation>)newValue);
+ return;
+ case RequirementsPackage.REQUIREMENTS_MODEL__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RequirementsPackage.Literals.REQUIREMENTS_MODEL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENTS_MODEL__USE_CASE:
+ getUseCase().clear();
+ return;
+ case RequirementsPackage.REQUIREMENTS_MODEL__REQUIREMENT:
+ getRequirement().clear();
+ return;
+ case RequirementsPackage.REQUIREMENTS_MODEL__REQUIREMENT_CONTAINER:
+ getRequirementContainer().clear();
+ return;
+ case RequirementsPackage.REQUIREMENTS_MODEL__OPERATIONAL_SITUATION:
+ getOperationalSituation().clear();
+ return;
+ case RequirementsPackage.REQUIREMENTS_MODEL__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<OperationalSituation> getOperationalSituation() {
+ if (operationalSituation == null) {
+ operationalSituation = new EObjectResolvingEList<OperationalSituation>(OperationalSituation.class, this, RequirementsPackage.REQUIREMENTS_MODEL__OPERATIONAL_SITUATION);
+ }
+ return operationalSituation;
+ }
+
+ /**
+ * <!-- 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, RequirementsPackage.REQUIREMENTS_MODEL__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, RequirementsPackage.REQUIREMENTS_MODEL__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<RequirementSpecificationObject> getRequirement() {
+ if (requirement == null) {
+ requirement = new EObjectResolvingEList<RequirementSpecificationObject>(RequirementSpecificationObject.class, this, RequirementsPackage.REQUIREMENTS_MODEL__REQUIREMENT);
+ }
+ return requirement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<RequirementsContainer> getRequirementContainer() {
+ if (requirementContainer == null) {
+ requirementContainer = new EObjectResolvingEList<RequirementsContainer>(RequirementsContainer.class, this, RequirementsPackage.REQUIREMENTS_MODEL__REQUIREMENT_CONTAINER);
+ }
+ return requirementContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<UseCase> getUseCase() {
+ if (useCase == null) {
+ useCase = new EObjectResolvingEList<UseCase>(UseCase.class, this, RequirementsPackage.REQUIREMENTS_MODEL__USE_CASE);
+ }
+ return useCase;
+ }
+
+} //RequirementsModelImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsPackageImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsPackageImpl.java
new file mode 100644
index 00000000000..34d3c95bd73
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsPackageImpl.java
@@ -0,0 +1,1260 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.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.eastadl.EastadlPackage;
+import org.eclipse.papyrus.eastadl.annex.AnnexPackage;
+import org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.Actor;
+import org.eclipse.papyrus.eastadl.requirements.DeriveRequirement;
+import org.eclipse.papyrus.eastadl.requirements.Extend;
+import org.eclipse.papyrus.eastadl.requirements.ExtensionPoint;
+import org.eclipse.papyrus.eastadl.requirements.Include;
+import org.eclipse.papyrus.eastadl.requirements.OperationalSituation;
+import org.eclipse.papyrus.eastadl.requirements.QualityRequirement;
+import org.eclipse.papyrus.eastadl.requirements.QualityRequirementKind;
+import org.eclipse.papyrus.eastadl.requirements.RedefinableElement;
+import org.eclipse.papyrus.eastadl.requirements.Refine;
+import org.eclipse.papyrus.eastadl.requirements.Requirement;
+import org.eclipse.papyrus.eastadl.requirements.RequirementSpecificationObject;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsContainer;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsFactory;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsLink;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsModel;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsRelatedInformation;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsRelationGroup;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsRelationship;
+import org.eclipse.papyrus.eastadl.requirements.Satisfy;
+import org.eclipse.papyrus.eastadl.requirements.UseCase;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.StructurePackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.profile.l2.L2Package;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc -->
+ * @generated
+ */
+public class RequirementsPackageImpl extends EPackageImpl implements RequirementsPackage {
+
+ /**
+ * <!-- 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 RequirementsPackage#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 RequirementsPackage init() {
+ if (isInited) return (RequirementsPackage)EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI);
+
+ // Obtain or create and register package
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new RequirementsPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ SysmlPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EastadlPackageImpl theEastadlPackage = (EastadlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) instanceof EastadlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) : EastadlPackage.eINSTANCE);
+ VariabilityPackageImpl theVariabilityPackage = (VariabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) instanceof VariabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) : VariabilityPackage.eINSTANCE);
+ InfrastructurePackageImpl theInfrastructurePackage = (InfrastructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) instanceof InfrastructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) : InfrastructurePackage.eINSTANCE);
+ DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) instanceof DatatypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) : DatatypesPackage.eINSTANCE);
+ UserattributesPackageImpl theUserattributesPackage = (UserattributesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) instanceof UserattributesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) : UserattributesPackage.eINSTANCE);
+ ElementsPackageImpl theElementsPackage = (ElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) instanceof ElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) : ElementsPackage.eINSTANCE);
+ StructurePackageImpl theStructurePackage = (StructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) instanceof StructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) : StructurePackage.eINSTANCE);
+ FunctionmodelingPackageImpl theFunctionmodelingPackage = (FunctionmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) instanceof FunctionmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) : FunctionmodelingPackage.eINSTANCE);
+ HardwaremodelingPackageImpl theHardwaremodelingPackage = (HardwaremodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) instanceof HardwaremodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) : HardwaremodelingPackage.eINSTANCE);
+ SystemmodelingPackageImpl theSystemmodelingPackage = (SystemmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) instanceof SystemmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) : SystemmodelingPackage.eINSTANCE);
+ VehiclefeaturemodelingPackageImpl theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) instanceof VehiclefeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) : VehiclefeaturemodelingPackage.eINSTANCE);
+ FeaturemodelingPackageImpl theFeaturemodelingPackage = (FeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) instanceof FeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) : FeaturemodelingPackage.eINSTANCE);
+ BehaviorPackageImpl theBehaviorPackage = (BehaviorPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) instanceof BehaviorPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) : BehaviorPackage.eINSTANCE);
+ VerificationvalidationPackageImpl theVerificationvalidationPackage = (VerificationvalidationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) instanceof VerificationvalidationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) : VerificationvalidationPackage.eINSTANCE);
+ TimingPackageImpl theTimingPackage = (TimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) instanceof TimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) : TimingPackage.eINSTANCE);
+ TimingconstraintsPackageImpl theTimingconstraintsPackage = (TimingconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) instanceof TimingconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) : TimingconstraintsPackage.eINSTANCE);
+ EventsPackageImpl theEventsPackage = (EventsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+ InterchangePackageImpl theInterchangePackage = (InterchangePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) instanceof InterchangePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) : InterchangePackage.eINSTANCE);
+ EnvironmentPackageImpl theEnvironmentPackage = (EnvironmentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) instanceof EnvironmentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) : EnvironmentPackage.eINSTANCE);
+ DependabilityPackageImpl theDependabilityPackage = (DependabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) instanceof DependabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) : DependabilityPackage.eINSTANCE);
+ ErrormodelPackageImpl theErrormodelPackage = (ErrormodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) instanceof ErrormodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) : ErrormodelPackage.eINSTANCE);
+ SafetyrequirementPackageImpl theSafetyrequirementPackage = (SafetyrequirementPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) instanceof SafetyrequirementPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) : SafetyrequirementPackage.eINSTANCE);
+ SafetyconstraintsPackageImpl theSafetyconstraintsPackage = (SafetyconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) instanceof SafetyconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) : SafetyconstraintsPackage.eINSTANCE);
+ SafetycasePackageImpl theSafetycasePackage = (SafetycasePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) instanceof SafetycasePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) : SafetycasePackage.eINSTANCE);
+ AnnexPackageImpl theAnnexPackage = (AnnexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) instanceof AnnexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) : AnnexPackage.eINSTANCE);
+ NeedsPackageImpl theNeedsPackage = (NeedsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) instanceof NeedsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) : NeedsPackage.eINSTANCE);
+ GenericconstraintsPackageImpl theGenericconstraintsPackage = (GenericconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) instanceof GenericconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) : GenericconstraintsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theRequirementsPackage.createPackageContents();
+ theEastadlPackage.createPackageContents();
+ theVariabilityPackage.createPackageContents();
+ theInfrastructurePackage.createPackageContents();
+ theDatatypesPackage.createPackageContents();
+ theUserattributesPackage.createPackageContents();
+ theElementsPackage.createPackageContents();
+ theStructurePackage.createPackageContents();
+ theFunctionmodelingPackage.createPackageContents();
+ theHardwaremodelingPackage.createPackageContents();
+ theSystemmodelingPackage.createPackageContents();
+ theVehiclefeaturemodelingPackage.createPackageContents();
+ theFeaturemodelingPackage.createPackageContents();
+ theBehaviorPackage.createPackageContents();
+ theVerificationvalidationPackage.createPackageContents();
+ theTimingPackage.createPackageContents();
+ theTimingconstraintsPackage.createPackageContents();
+ theEventsPackage.createPackageContents();
+ theInterchangePackage.createPackageContents();
+ theEnvironmentPackage.createPackageContents();
+ theDependabilityPackage.createPackageContents();
+ theErrormodelPackage.createPackageContents();
+ theSafetyrequirementPackage.createPackageContents();
+ theSafetyconstraintsPackage.createPackageContents();
+ theSafetycasePackage.createPackageContents();
+ theAnnexPackage.createPackageContents();
+ theNeedsPackage.createPackageContents();
+ theGenericconstraintsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theRequirementsPackage.initializePackageContents();
+ theEastadlPackage.initializePackageContents();
+ theVariabilityPackage.initializePackageContents();
+ theInfrastructurePackage.initializePackageContents();
+ theDatatypesPackage.initializePackageContents();
+ theUserattributesPackage.initializePackageContents();
+ theElementsPackage.initializePackageContents();
+ theStructurePackage.initializePackageContents();
+ theFunctionmodelingPackage.initializePackageContents();
+ theHardwaremodelingPackage.initializePackageContents();
+ theSystemmodelingPackage.initializePackageContents();
+ theVehiclefeaturemodelingPackage.initializePackageContents();
+ theFeaturemodelingPackage.initializePackageContents();
+ theBehaviorPackage.initializePackageContents();
+ theVerificationvalidationPackage.initializePackageContents();
+ theTimingPackage.initializePackageContents();
+ theTimingconstraintsPackage.initializePackageContents();
+ theEventsPackage.initializePackageContents();
+ theInterchangePackage.initializePackageContents();
+ theEnvironmentPackage.initializePackageContents();
+ theDependabilityPackage.initializePackageContents();
+ theErrormodelPackage.initializePackageContents();
+ theSafetyrequirementPackage.initializePackageContents();
+ theSafetyconstraintsPackage.initializePackageContents();
+ theSafetycasePackage.initializePackageContents();
+ theAnnexPackage.initializePackageContents();
+ theNeedsPackage.initializePackageContents();
+ theGenericconstraintsPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theRequirementsPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(RequirementsPackage.eNS_URI, theRequirementsPackage);
+ return theRequirementsPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass qualityRequirementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass requirementSpecificationObjectEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass requirementsContainerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass requirementsRelatedInformationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass requirementsRelationshipEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass satisfyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass useCaseEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass includeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass extendEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass extensionPointEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass redefinableElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass refineEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass deriveRequirementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass requirementsRelationGroupEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass requirementsLinkEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass requirementsModelEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass operationalSituationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass actorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass requirementEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum qualityRequirementKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * 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.eclipse.papyrus.eastadl.requirements.RequirementsPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private RequirementsPackageImpl() {
+ super(eNS_URI, RequirementsFactory.eINSTANCE);
+ }
+
+ /**
+ * 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
+ qualityRequirementEClass = createEClass(QUALITY_REQUIREMENT);
+ createEAttribute(qualityRequirementEClass, QUALITY_REQUIREMENT__QUALITY_REQUIREMENT_TYPE);
+
+ requirementEClass = createEClass(REQUIREMENT);
+ createEAttribute(requirementEClass, REQUIREMENT__FORMALISM);
+ createEAttribute(requirementEClass, REQUIREMENT__URL);
+ createEReference(requirementEClass, REQUIREMENT__MODE);
+
+ requirementSpecificationObjectEClass = createEClass(REQUIREMENT_SPECIFICATION_OBJECT);
+ createEReference(requirementSpecificationObjectEClass, REQUIREMENT_SPECIFICATION_OBJECT__REFERENCING_CONTAINER);
+
+ requirementsContainerEClass = createEClass(REQUIREMENTS_CONTAINER);
+ createEReference(requirementsContainerEClass, REQUIREMENTS_CONTAINER__CHILD_CONTAINER);
+ createEReference(requirementsContainerEClass, REQUIREMENTS_CONTAINER__PARENT_CONTAINER);
+ createEReference(requirementsContainerEClass, REQUIREMENTS_CONTAINER__BASE_CLASS);
+ createEReference(requirementsContainerEClass, REQUIREMENTS_CONTAINER__BASE_PACKAGE);
+ createEReference(requirementsContainerEClass, REQUIREMENTS_CONTAINER__CONTAINED_REQ_SPEC_OBJECT);
+
+ requirementsRelatedInformationEClass = createEClass(REQUIREMENTS_RELATED_INFORMATION);
+ createEReference(requirementsRelatedInformationEClass, REQUIREMENTS_RELATED_INFORMATION__BASE_CLASS);
+
+ requirementsRelationshipEClass = createEClass(REQUIREMENTS_RELATIONSHIP);
+ createEReference(requirementsRelationshipEClass, REQUIREMENTS_RELATIONSHIP__BASE_CLASS);
+
+ satisfyEClass = createEClass(SATISFY);
+ createEReference(satisfyEClass, SATISFY__SATISFIED_REQUIREMENT);
+ createEReference(satisfyEClass, SATISFY__SATISFIED_BY);
+ createEReference(satisfyEClass, SATISFY__SATISFIED_BY_PATH);
+ createEReference(satisfyEClass, SATISFY__SATISFIED_USE_CASE);
+
+ useCaseEClass = createEClass(USE_CASE);
+ createEReference(useCaseEClass, USE_CASE__BASE_USE_CASE);
+ createEReference(useCaseEClass, USE_CASE__INCLUDE);
+ createEReference(useCaseEClass, USE_CASE__EXTEND);
+ createEReference(useCaseEClass, USE_CASE__EXTENSION_POINT);
+
+ includeEClass = createEClass(INCLUDE);
+ createEReference(includeEClass, INCLUDE__BASE_INCLUDE);
+ createEReference(includeEClass, INCLUDE__ADDITION);
+
+ extendEClass = createEClass(EXTEND);
+ createEReference(extendEClass, EXTEND__BASE_EXTEND);
+ createEReference(extendEClass, EXTEND__EXTENDED_CASE);
+ createEReference(extendEClass, EXTEND__EXTENSION_LOCATION);
+
+ extensionPointEClass = createEClass(EXTENSION_POINT);
+ createEReference(extensionPointEClass, EXTENSION_POINT__BASE_EXTENSION_POINT);
+
+ redefinableElementEClass = createEClass(REDEFINABLE_ELEMENT);
+ createEReference(redefinableElementEClass, REDEFINABLE_ELEMENT__BASE_REDEFINABLE_ELEMENT);
+
+ refineEClass = createEClass(REFINE);
+ createEReference(refineEClass, REFINE__REFINED_REQUIREMENT);
+ createEReference(refineEClass, REFINE__REFINED_BY);
+ createEReference(refineEClass, REFINE__BASE_DEPENDENCY);
+ createEReference(refineEClass, REFINE__REFINED_BY_PATH);
+
+ deriveRequirementEClass = createEClass(DERIVE_REQUIREMENT);
+ createEReference(deriveRequirementEClass, DERIVE_REQUIREMENT__DERIVED);
+ createEReference(deriveRequirementEClass, DERIVE_REQUIREMENT__DERIVED_FROM);
+
+ requirementsRelationGroupEClass = createEClass(REQUIREMENTS_RELATION_GROUP);
+ createEReference(requirementsRelationGroupEClass, REQUIREMENTS_RELATION_GROUP__RELATION);
+ createEReference(requirementsRelationGroupEClass, REQUIREMENTS_RELATION_GROUP__BASE_CLASS);
+ createEReference(requirementsRelationGroupEClass, REQUIREMENTS_RELATION_GROUP__BASE_PACKAGE);
+
+ requirementsLinkEClass = createEClass(REQUIREMENTS_LINK);
+ createEAttribute(requirementsLinkEClass, REQUIREMENTS_LINK__IS_BIDIRECTIONAL);
+ createEReference(requirementsLinkEClass, REQUIREMENTS_LINK__SOURCE);
+ createEReference(requirementsLinkEClass, REQUIREMENTS_LINK__TARGET);
+
+ requirementsModelEClass = createEClass(REQUIREMENTS_MODEL);
+ createEReference(requirementsModelEClass, REQUIREMENTS_MODEL__USE_CASE);
+ createEReference(requirementsModelEClass, REQUIREMENTS_MODEL__REQUIREMENT);
+ createEReference(requirementsModelEClass, REQUIREMENTS_MODEL__REQUIREMENT_CONTAINER);
+ createEReference(requirementsModelEClass, REQUIREMENTS_MODEL__OPERATIONAL_SITUATION);
+ createEReference(requirementsModelEClass, REQUIREMENTS_MODEL__BASE_PACKAGE);
+
+ operationalSituationEClass = createEClass(OPERATIONAL_SITUATION);
+ createEReference(operationalSituationEClass, OPERATIONAL_SITUATION__BASE_CLASS);
+
+ actorEClass = createEClass(ACTOR);
+ createEReference(actorEClass, ACTOR__BASE_ACTOR);
+
+ // Create enums
+ qualityRequirementKindEEnum = createEEnum(QUALITY_REQUIREMENT_KIND);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDeriveRequirement() {
+ return deriveRequirementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDeriveRequirement_Derived() {
+ return (EReference)deriveRequirementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDeriveRequirement_DerivedFrom() {
+ return (EReference)deriveRequirementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOperationalSituation() {
+ return operationalSituationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOperationalSituation_Base_Class() {
+ return (EReference)operationalSituationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getActor() {
+ return actorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActor_Base_Actor() {
+ return (EReference)actorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getQualityRequirement() {
+ return qualityRequirementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getQualityRequirement_QualityRequirementType() {
+ return (EAttribute)qualityRequirementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getQualityRequirementKind() {
+ return qualityRequirementKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRefine() {
+ return refineEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRefine_RefinedBy() {
+ return (EReference)refineEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRefine_Base_Dependency() {
+ return (EReference)refineEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRefine_RefinedBy_path() {
+ return (EReference)refineEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRefine_RefinedRequirement() {
+ return (EReference)refineEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRequirement() {
+ return requirementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRequirement_Formalism() {
+ return (EAttribute)requirementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRequirement_Mode() {
+ return (EReference)requirementEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRequirement_Url() {
+ return (EAttribute)requirementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRequirementsContainer() {
+ return requirementsContainerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRequirementsContainer_ChildContainer() {
+ return (EReference)requirementsContainerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRequirementsContainer_ContainedReqSpecObject() {
+ return (EReference)requirementsContainerEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRequirementsContainer_ParentContainer() {
+ return (EReference)requirementsContainerEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRequirementsContainer_Base_Class() {
+ return (EReference)requirementsContainerEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRequirementsContainer_Base_Package() {
+ return (EReference)requirementsContainerEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public RequirementsFactory getRequirementsFactory() {
+ return (RequirementsFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRequirementsLink() {
+ return requirementsLinkEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRequirementsLink_IsBidirectional() {
+ return (EAttribute)requirementsLinkEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRequirementsLink_Source() {
+ return (EReference)requirementsLinkEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRequirementsLink_Target() {
+ return (EReference)requirementsLinkEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRequirementsModel() {
+ return requirementsModelEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRequirementsModel_OperationalSituation() {
+ return (EReference)requirementsModelEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRequirementsModel_Base_Package() {
+ return (EReference)requirementsModelEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRequirementsModel_Requirement() {
+ return (EReference)requirementsModelEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRequirementsModel_RequirementContainer() {
+ return (EReference)requirementsModelEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRequirementsModel_UseCase() {
+ return (EReference)requirementsModelEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRequirementSpecificationObject() {
+ return requirementSpecificationObjectEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRequirementSpecificationObject_ReferencingContainer() {
+ return (EReference)requirementSpecificationObjectEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRequirementsRelatedInformation() {
+ return requirementsRelatedInformationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRequirementsRelatedInformation_Base_Class() {
+ return (EReference)requirementsRelatedInformationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRequirementsRelationGroup() {
+ return requirementsRelationGroupEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRequirementsRelationGroup_Relation() {
+ return (EReference)requirementsRelationGroupEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRequirementsRelationGroup_Base_Class() {
+ return (EReference)requirementsRelationGroupEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRequirementsRelationGroup_Base_Package() {
+ return (EReference)requirementsRelationGroupEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRequirementsRelationship() {
+ return requirementsRelationshipEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRequirementsRelationship_Base_Class() {
+ return (EReference)requirementsRelationshipEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSatisfy() {
+ return satisfyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSatisfy_SatisfiedBy() {
+ return (EReference)satisfyEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSatisfy_SatisfiedBy_path() {
+ return (EReference)satisfyEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getUseCase() {
+ return useCaseEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUseCase_Base_UseCase() {
+ return (EReference)useCaseEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUseCase_Include() {
+ return (EReference)useCaseEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUseCase_Extend() {
+ return (EReference)useCaseEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUseCase_ExtensionPoint() {
+ return (EReference)useCaseEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInclude() {
+ return includeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInclude_Base_Include() {
+ return (EReference)includeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInclude_Addition() {
+ return (EReference)includeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExtend() {
+ return extendEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExtend_Base_Extend() {
+ return (EReference)extendEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExtend_ExtendedCase() {
+ return (EReference)extendEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExtend_ExtensionLocation() {
+ return (EReference)extendEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExtensionPoint() {
+ return extensionPointEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExtensionPoint_Base_ExtensionPoint() {
+ return (EReference)extensionPointEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRedefinableElement() {
+ return redefinableElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRedefinableElement_Base_RedefinableElement() {
+ return (EReference)redefinableElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSatisfy_SatisfiedRequirement() {
+ return (EReference)satisfyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSatisfy_SatisfiedUseCase() {
+ return (EReference)satisfyEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * 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
+ VerificationvalidationPackage theVerificationvalidationPackage = (VerificationvalidationPackage)EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI);
+ org.eclipse.papyrus.sysml.requirements.RequirementsPackage theRequirementsPackage_1 = (org.eclipse.papyrus.sysml.requirements.RequirementsPackage)EPackage.Registry.INSTANCE.getEPackage(org.eclipse.papyrus.sysml.requirements.RequirementsPackage.eNS_URI);
+ TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+ BehaviorPackage theBehaviorPackage = (BehaviorPackage)EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI);
+ ElementsPackage theElementsPackage = (ElementsPackage)EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI);
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+ L2Package theL2Package = (L2Package)EPackage.Registry.INSTANCE.getEPackage(L2Package.eNS_URI);
+
+ // Add subpackages
+ getESubpackages().add(theVerificationvalidationPackage);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ qualityRequirementEClass.getESuperTypes().add(this.getRequirement());
+ requirementEClass.getESuperTypes().add(theRequirementsPackage_1.getRequirement());
+ requirementEClass.getESuperTypes().add(this.getRequirementSpecificationObject());
+ requirementSpecificationObjectEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+ requirementsContainerEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+ requirementsRelatedInformationEClass.getESuperTypes().add(this.getRequirementSpecificationObject());
+ requirementsRelationshipEClass.getESuperTypes().add(theElementsPackage.getRelationship());
+ satisfyEClass.getESuperTypes().add(this.getRequirementsRelationship());
+ satisfyEClass.getESuperTypes().add(theRequirementsPackage_1.getSatisfy());
+ useCaseEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+ includeEClass.getESuperTypes().add(theElementsPackage.getRelationship());
+ extendEClass.getESuperTypes().add(theElementsPackage.getRelationship());
+ extensionPointEClass.getESuperTypes().add(this.getRedefinableElement());
+ refineEClass.getESuperTypes().add(this.getRequirementsRelationship());
+ refineEClass.getESuperTypes().add(theL2Package.getRefine());
+ deriveRequirementEClass.getESuperTypes().add(this.getRequirementsRelationship());
+ deriveRequirementEClass.getESuperTypes().add(theRequirementsPackage_1.getDeriveReqt());
+ requirementsRelationGroupEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+ requirementsLinkEClass.getESuperTypes().add(this.getRequirementsRelationship());
+ requirementsModelEClass.getESuperTypes().add(theElementsPackage.getContext());
+ operationalSituationEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+ actorEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(qualityRequirementEClass, QualityRequirement.class, "QualityRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getQualityRequirement_QualityRequirementType(), this.getQualityRequirementKind(), "qualityRequirementType", null, 1, 1, QualityRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(requirementEClass, Requirement.class, "Requirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getRequirement_Formalism(), theTypesPackage.getString(), "formalism", null, 0, 1, Requirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getRequirement_Url(), theTypesPackage.getString(), "url", null, 0, 1, Requirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getRequirement_Mode(), theBehaviorPackage.getMode(), null, "mode", null, 0, -1, Requirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(requirementSpecificationObjectEClass, RequirementSpecificationObject.class, "RequirementSpecificationObject", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRequirementSpecificationObject_ReferencingContainer(), this.getRequirementsContainer(), null, "referencingContainer", null, 1, -1, RequirementSpecificationObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(requirementsContainerEClass, RequirementsContainer.class, "RequirementsContainer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRequirementsContainer_ChildContainer(), this.getRequirementsContainer(), this.getRequirementsContainer_ParentContainer(), "childContainer", null, 0, -1, RequirementsContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRequirementsContainer_ParentContainer(), this.getRequirementsContainer(), this.getRequirementsContainer_ChildContainer(), "parentContainer", null, 0, 1, RequirementsContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getRequirementsContainer_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, RequirementsContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getRequirementsContainer_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, RequirementsContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getRequirementsContainer_ContainedReqSpecObject(), this.getRequirementSpecificationObject(), null, "containedReqSpecObject", null, 0, 1, RequirementsContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(requirementsRelatedInformationEClass, RequirementsRelatedInformation.class, "RequirementsRelatedInformation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRequirementsRelatedInformation_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, RequirementsRelatedInformation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(requirementsRelationshipEClass, RequirementsRelationship.class, "RequirementsRelationship", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRequirementsRelationship_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, RequirementsRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(satisfyEClass, Satisfy.class, "Satisfy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getSatisfy_SatisfiedRequirement(), this.getRequirement(), null, "satisfiedRequirement", null, 0, -1, Satisfy.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getSatisfy_SatisfiedBy(), theUMLPackage.getNamedElement(), null, "satisfiedBy", null, 0, -1, Satisfy.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getSatisfy_SatisfiedBy_path(), theUMLPackage.getNamedElement(), null, "satisfiedBy_path", null, 0, -1, Satisfy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSatisfy_SatisfiedUseCase(), this.getUseCase(), null, "satisfiedUseCase", null, 0, -1, Satisfy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(useCaseEClass, UseCase.class, "UseCase", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getUseCase_Base_UseCase(), theUMLPackage.getUseCase(), null, "base_UseCase", null, 1, 1, UseCase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getUseCase_Include(), this.getInclude(), null, "include", null, 0, -1, UseCase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getUseCase_Extend(), this.getExtend(), null, "extend", null, 0, -1, UseCase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getUseCase_ExtensionPoint(), this.getExtensionPoint(), null, "extensionPoint", null, 0, -1, UseCase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(includeEClass, Include.class, "Include", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getInclude_Base_Include(), theUMLPackage.getInclude(), null, "base_Include", null, 1, 1, Include.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getInclude_Addition(), this.getUseCase(), null, "addition", null, 1, 1, Include.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(extendEClass, Extend.class, "Extend", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getExtend_Base_Extend(), theUMLPackage.getExtend(), null, "base_Extend", null, 1, 1, Extend.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getExtend_ExtendedCase(), this.getUseCase(), null, "extendedCase", null, 1, 1, Extend.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getExtend_ExtensionLocation(), this.getExtensionPoint(), null, "extensionLocation", null, 1, -1, Extend.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(extensionPointEClass, ExtensionPoint.class, "ExtensionPoint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getExtensionPoint_Base_ExtensionPoint(), theUMLPackage.getExtensionPoint(), null, "base_ExtensionPoint", null, 1, 1, ExtensionPoint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(redefinableElementEClass, RedefinableElement.class, "RedefinableElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRedefinableElement_Base_RedefinableElement(), theUMLPackage.getRedefinableElement(), null, "base_RedefinableElement", null, 1, 1, RedefinableElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(refineEClass, Refine.class, "Refine", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRefine_RefinedRequirement(), this.getRequirement(), null, "refinedRequirement", null, 1, -1, Refine.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getRefine_RefinedBy(), theUMLPackage.getNamedElement(), null, "refinedBy", null, 1, -1, Refine.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getRefine_Base_Dependency(), theUMLPackage.getDependency(), null, "base_Dependency", null, 1, 1, Refine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getRefine_RefinedBy_path(), theUMLPackage.getNamedElement(), null, "refinedBy_path", null, 0, -1, Refine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(deriveRequirementEClass, DeriveRequirement.class, "DeriveRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDeriveRequirement_Derived(), this.getRequirement(), null, "derived", null, 1, -1, DeriveRequirement.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getDeriveRequirement_DerivedFrom(), this.getRequirement(), null, "derivedFrom", null, 1, -1, DeriveRequirement.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+
+ initEClass(requirementsRelationGroupEClass, RequirementsRelationGroup.class, "RequirementsRelationGroup", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRequirementsRelationGroup_Relation(), this.getRequirementsLink(), null, "relation", null, 0, -1, RequirementsRelationGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getRequirementsRelationGroup_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, RequirementsRelationGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getRequirementsRelationGroup_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, RequirementsRelationGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(requirementsLinkEClass, RequirementsLink.class, "RequirementsLink", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getRequirementsLink_IsBidirectional(), theTypesPackage.getBoolean(), "isBidirectional", null, 1, 1, RequirementsLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getRequirementsLink_Source(), this.getRequirement(), null, "source", null, 1, -1, RequirementsLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getRequirementsLink_Target(), this.getRequirement(), null, "target", null, 1, -1, RequirementsLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(requirementsModelEClass, RequirementsModel.class, "RequirementsModel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRequirementsModel_UseCase(), theUMLPackage.getUseCase(), null, "useCase", null, 0, -1, RequirementsModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getRequirementsModel_Requirement(), this.getRequirementSpecificationObject(), null, "requirement", null, 0, -1, RequirementsModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getRequirementsModel_RequirementContainer(), this.getRequirementsContainer(), null, "requirementContainer", null, 0, -1, RequirementsModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getRequirementsModel_OperationalSituation(), this.getOperationalSituation(), null, "operationalSituation", null, 0, -1, RequirementsModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getRequirementsModel_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 1, 1, RequirementsModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(operationalSituationEClass, OperationalSituation.class, "OperationalSituation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getOperationalSituation_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, OperationalSituation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(actorEClass, Actor.class, "Actor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getActor_Base_Actor(), theUMLPackage.getActor(), null, "base_Actor", null, 1, 1, Actor.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(qualityRequirementKindEEnum, QualityRequirementKind.class, "QualityRequirementKind");
+ addEEnumLiteral(qualityRequirementKindEEnum, QualityRequirementKind.ERGONOMY);
+ addEEnumLiteral(qualityRequirementKindEEnum, QualityRequirementKind.CONFIGURABILITY);
+ addEEnumLiteral(qualityRequirementKindEEnum, QualityRequirementKind.INTEGRITY);
+ addEEnumLiteral(qualityRequirementKindEEnum, QualityRequirementKind.SAFETY);
+ addEEnumLiteral(qualityRequirementKindEEnum, QualityRequirementKind.OTHER);
+ addEEnumLiteral(qualityRequirementKindEEnum, QualityRequirementKind.SECURITY);
+ addEEnumLiteral(qualityRequirementKindEEnum, QualityRequirementKind.HUMAN_MACHINE_INTERFACE);
+ addEEnumLiteral(qualityRequirementKindEEnum, QualityRequirementKind.TIMING);
+ addEEnumLiteral(qualityRequirementKindEEnum, QualityRequirementKind.AVAILABILITY);
+ addEEnumLiteral(qualityRequirementKindEEnum, QualityRequirementKind.RELIABILITY);
+ addEEnumLiteral(qualityRequirementKindEEnum, QualityRequirementKind.CONFIDENTIALITY);
+ addEEnumLiteral(qualityRequirementKindEEnum, QualityRequirementKind.MAINTAINABILITY);
+ }
+
+} // RequirementsPackageImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsRelatedInformationImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsRelatedInformationImpl.java
new file mode 100644
index 00000000000..0bed5488730
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsRelatedInformationImpl.java
@@ -0,0 +1,165 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.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.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsRelatedInformation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Related Information</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsRelatedInformationImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RequirementsRelatedInformationImpl extends RequirementSpecificationObjectImpl implements RequirementsRelatedInformation {
+ /**
+ * 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 RequirementsRelatedInformationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENTS_RELATED_INFORMATION__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 boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENTS_RELATED_INFORMATION__BASE_CLASS:
+ return base_Class != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENTS_RELATED_INFORMATION__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RequirementsPackage.Literals.REQUIREMENTS_RELATED_INFORMATION;
+ }
+
+ /**
+ * <!-- 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, RequirementsPackage.REQUIREMENTS_RELATED_INFORMATION__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, RequirementsPackage.REQUIREMENTS_RELATED_INFORMATION__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENTS_RELATED_INFORMATION__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+} //RequirementsRelatedInformationImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsRelationGroupImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsRelationGroupImpl.java
new file mode 100644
index 00000000000..3216288b57c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsRelationGroupImpl.java
@@ -0,0 +1,267 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.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.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsLink;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsRelationGroup;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Relation Group</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsRelationGroupImpl#getRelation <em>Relation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsRelationGroupImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsRelationGroupImpl#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RequirementsRelationGroupImpl extends TraceableSpecificationImpl implements RequirementsRelationGroup {
+ /**
+ * The cached value of the '{@link #getRelation() <em>Relation</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRelation()
+ * @generated
+ * @ordered
+ */
+ protected EList<RequirementsLink> relation;
+
+ /**
+ * 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 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 RequirementsRelationGroupImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENTS_RELATION_GROUP__RELATION:
+ return getRelation();
+ case RequirementsPackage.REQUIREMENTS_RELATION_GROUP__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case RequirementsPackage.REQUIREMENTS_RELATION_GROUP__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 boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENTS_RELATION_GROUP__RELATION:
+ return relation != null && !relation.isEmpty();
+ case RequirementsPackage.REQUIREMENTS_RELATION_GROUP__BASE_CLASS:
+ return base_Class != null;
+ case RequirementsPackage.REQUIREMENTS_RELATION_GROUP__BASE_PACKAGE:
+ return base_Package != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENTS_RELATION_GROUP__RELATION:
+ getRelation().clear();
+ getRelation().addAll((Collection<? extends RequirementsLink>)newValue);
+ return;
+ case RequirementsPackage.REQUIREMENTS_RELATION_GROUP__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case RequirementsPackage.REQUIREMENTS_RELATION_GROUP__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RequirementsPackage.Literals.REQUIREMENTS_RELATION_GROUP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENTS_RELATION_GROUP__RELATION:
+ getRelation().clear();
+ return;
+ case RequirementsPackage.REQUIREMENTS_RELATION_GROUP__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case RequirementsPackage.REQUIREMENTS_RELATION_GROUP__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<RequirementsLink> getRelation() {
+ if (relation == null) {
+ relation = new EObjectResolvingEList<RequirementsLink>(RequirementsLink.class, this, RequirementsPackage.REQUIREMENTS_RELATION_GROUP__RELATION);
+ }
+ return relation;
+ }
+
+ /**
+ * <!-- 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, RequirementsPackage.REQUIREMENTS_RELATION_GROUP__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, RequirementsPackage.REQUIREMENTS_RELATION_GROUP__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- 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, RequirementsPackage.REQUIREMENTS_RELATION_GROUP__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, RequirementsPackage.REQUIREMENTS_RELATION_GROUP__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+
+} //RequirementsRelationGroupImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsRelationshipImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsRelationshipImpl.java
new file mode 100644
index 00000000000..7a568d2b2ee
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/RequirementsRelationshipImpl.java
@@ -0,0 +1,167 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.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.eastadl.infrastructure.elements.impl.RelationshipImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsRelationship;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.RequirementsRelationshipImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class RequirementsRelationshipImpl extends RelationshipImpl implements RequirementsRelationship {
+ /**
+ * 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 RequirementsRelationshipImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENTS_RELATIONSHIP__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 boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENTS_RELATIONSHIP__BASE_CLASS:
+ return base_Class != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENTS_RELATIONSHIP__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RequirementsPackage.Literals.REQUIREMENTS_RELATIONSHIP;
+ }
+
+ /**
+ * <!-- 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, RequirementsPackage.REQUIREMENTS_RELATIONSHIP__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, RequirementsPackage.REQUIREMENTS_RELATIONSHIP__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.REQUIREMENTS_RELATIONSHIP__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+} //RequirementsRelationshipImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/SatisfyImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/SatisfyImpl.java
new file mode 100644
index 00000000000..f643bc12366
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/SatisfyImpl.java
@@ -0,0 +1,345 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.impl;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+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.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.BasicInternalEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.eastadl.requirements.Requirement;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.Satisfy;
+import org.eclipse.papyrus.eastadl.requirements.UseCase;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.profile.l2.L2Package;
+import org.eclipse.uml2.uml.profile.l2.Trace;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Satisfy</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.SatisfyImpl#getBase_Abstraction <em>Base Abstraction</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.SatisfyImpl#getSatisfiedRequirement <em>Satisfied Requirement</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.SatisfyImpl#getSatisfiedBy <em>Satisfied By</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.SatisfyImpl#getSatisfiedBy_path <em>Satisfied By path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.SatisfyImpl#getSatisfiedUseCase <em>Satisfied Use Case</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SatisfyImpl extends RequirementsRelationshipImpl implements Satisfy {
+
+ /**
+ * 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 #getSatisfiedBy_path() <em>Satisfied By path</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSatisfiedBy_path()
+ * @generated
+ * @ordered
+ */
+ protected EList<NamedElement> satisfiedBy_path;
+
+ /**
+ * The cached value of the '{@link #getSatisfiedUseCase() <em>Satisfied Use Case</em>}' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getSatisfiedUseCase()
+ * @generated
+ * @ordered
+ */
+ protected EList<UseCase> satisfiedUseCase;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected SatisfyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Abstraction basicGetBase_Abstraction() {
+ return base_Abstraction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == Trace.class) {
+ switch (derivedFeatureID) {
+ case RequirementsPackage.SATISFY__BASE_ABSTRACTION: return L2Package.TRACE__BASE_ABSTRACTION;
+ default: return -1;
+ }
+ }
+ if (baseClass == org.eclipse.papyrus.sysml.requirements.Satisfy.class) {
+ switch (derivedFeatureID) {
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == Trace.class) {
+ switch (baseFeatureID) {
+ case L2Package.TRACE__BASE_ABSTRACTION: return RequirementsPackage.SATISFY__BASE_ABSTRACTION;
+ default: return -1;
+ }
+ }
+ if (baseClass == org.eclipse.papyrus.sysml.requirements.Satisfy.class) {
+ switch (baseFeatureID) {
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case RequirementsPackage.SATISFY__BASE_ABSTRACTION:
+ if (resolve) return getBase_Abstraction();
+ return basicGetBase_Abstraction();
+ case RequirementsPackage.SATISFY__SATISFIED_REQUIREMENT:
+ return getSatisfiedRequirement();
+ case RequirementsPackage.SATISFY__SATISFIED_BY:
+ return getSatisfiedBy();
+ case RequirementsPackage.SATISFY__SATISFIED_BY_PATH:
+ return getSatisfiedBy_path();
+ case RequirementsPackage.SATISFY__SATISFIED_USE_CASE:
+ return getSatisfiedUseCase();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.SATISFY__BASE_ABSTRACTION:
+ return base_Abstraction != null;
+ case RequirementsPackage.SATISFY__SATISFIED_REQUIREMENT:
+ return !getSatisfiedRequirement().isEmpty();
+ case RequirementsPackage.SATISFY__SATISFIED_BY:
+ return !getSatisfiedBy().isEmpty();
+ case RequirementsPackage.SATISFY__SATISFIED_BY_PATH:
+ return satisfiedBy_path != null && !satisfiedBy_path.isEmpty();
+ case RequirementsPackage.SATISFY__SATISFIED_USE_CASE:
+ return satisfiedUseCase != null && !satisfiedUseCase.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case RequirementsPackage.SATISFY__BASE_ABSTRACTION:
+ setBase_Abstraction((Abstraction)newValue);
+ return;
+ case RequirementsPackage.SATISFY__SATISFIED_BY_PATH:
+ getSatisfiedBy_path().clear();
+ getSatisfiedBy_path().addAll((Collection<? extends NamedElement>)newValue);
+ return;
+ case RequirementsPackage.SATISFY__SATISFIED_USE_CASE:
+ getSatisfiedUseCase().clear();
+ getSatisfiedUseCase().addAll((Collection<? extends UseCase>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RequirementsPackage.Literals.SATISFY;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.SATISFY__BASE_ABSTRACTION:
+ setBase_Abstraction((Abstraction)null);
+ return;
+ case RequirementsPackage.SATISFY__SATISFIED_BY_PATH:
+ getSatisfiedBy_path().clear();
+ return;
+ case RequirementsPackage.SATISFY__SATISFIED_USE_CASE:
+ getSatisfiedUseCase().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- 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, RequirementsPackage.SATISFY__BASE_ABSTRACTION, oldBase_Abstraction, base_Abstraction));
+ }
+ }
+ return base_Abstraction;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<NamedElement> getSatisfiedBy() {
+ EList<NamedElement> results = new BasicEList<NamedElement>();
+
+ if(getBase_Abstraction() != null) {
+ // Parse owned Properties
+ Iterator<NamedElement> it = getBase_Abstraction().getClients().iterator();
+ while(it.hasNext()) {
+ NamedElement current = it.next();
+ results.add(current);
+ }
+ }
+
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<NamedElement>(NamedElement.class, results.size(), results.toArray());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<NamedElement> getSatisfiedBy_path() {
+ if (satisfiedBy_path == null) {
+ satisfiedBy_path = new EObjectResolvingEList<NamedElement>(NamedElement.class, this, RequirementsPackage.SATISFY__SATISFIED_BY_PATH);
+ }
+ return satisfiedBy_path;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<Requirement> getSatisfiedRequirement() {
+ EList<Requirement> results = new BasicEList<Requirement>();
+ Requirement requirement;
+
+ if(getBase_Abstraction() != null) {
+ // Parse owned Properties
+ Iterator<Element> it = getBase_Abstraction().getTargets().iterator();
+ while(it.hasNext()) {
+ Element current = it.next();
+
+ // Test if currentProperty is stereotyped ADLRequirement
+ requirement = (Requirement)UMLUtil
+ .getStereotypeApplication(current,
+ Requirement.class);
+
+ if(requirement != null) {
+ results.add(requirement);
+ }
+ }
+ }
+
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<Requirement>(Requirement.class, results.size(), results.toArray());
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<UseCase> getSatisfiedUseCase() {
+ if (satisfiedUseCase == null) {
+ satisfiedUseCase = new EObjectResolvingEList<UseCase>(UseCase.class, this, RequirementsPackage.SATISFY__SATISFIED_USE_CASE);
+ }
+ return satisfiedUseCase;
+ }
+
+ /**
+ * <!-- 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, RequirementsPackage.SATISFY__BASE_ABSTRACTION, oldBase_Abstraction, base_Abstraction));
+ }
+
+} // SatisfyImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/UseCaseImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/UseCaseImpl.java
new file mode 100644
index 00000000000..1663f478e85
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/impl/UseCaseImpl.java
@@ -0,0 +1,296 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.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.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+import org.eclipse.papyrus.eastadl.requirements.Extend;
+import org.eclipse.papyrus.eastadl.requirements.ExtensionPoint;
+import org.eclipse.papyrus.eastadl.requirements.Include;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.UseCase;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Use Case</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.UseCaseImpl#getBase_UseCase <em>Base Use Case</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.UseCaseImpl#getInclude <em>Include</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.UseCaseImpl#getExtend <em>Extend</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.impl.UseCaseImpl#getExtensionPoint <em>Extension Point</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class UseCaseImpl extends TraceableSpecificationImpl implements UseCase {
+ /**
+ * The cached value of the '{@link #getBase_UseCase() <em>Base Use Case</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_UseCase()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.uml2.uml.UseCase base_UseCase;
+
+ /**
+ * The cached value of the '{@link #getInclude() <em>Include</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInclude()
+ * @generated
+ * @ordered
+ */
+ protected EList<Include> include;
+
+ /**
+ * The cached value of the '{@link #getExtend() <em>Extend</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExtend()
+ * @generated
+ * @ordered
+ */
+ protected EList<Extend> extend;
+
+ /**
+ * The cached value of the '{@link #getExtensionPoint() <em>Extension Point</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExtensionPoint()
+ * @generated
+ * @ordered
+ */
+ protected EList<ExtensionPoint> extensionPoint;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UseCaseImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RequirementsPackage.Literals.USE_CASE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.UseCase getBase_UseCase() {
+ if (base_UseCase != null && base_UseCase.eIsProxy()) {
+ InternalEObject oldBase_UseCase = (InternalEObject)base_UseCase;
+ base_UseCase = (org.eclipse.uml2.uml.UseCase)eResolveProxy(oldBase_UseCase);
+ if (base_UseCase != oldBase_UseCase) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, RequirementsPackage.USE_CASE__BASE_USE_CASE, oldBase_UseCase, base_UseCase));
+ }
+ }
+ return base_UseCase;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.UseCase basicGetBase_UseCase() {
+ return base_UseCase;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_UseCase(org.eclipse.uml2.uml.UseCase newBase_UseCase) {
+ org.eclipse.uml2.uml.UseCase oldBase_UseCase = base_UseCase;
+ base_UseCase = newBase_UseCase;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RequirementsPackage.USE_CASE__BASE_USE_CASE, oldBase_UseCase, base_UseCase));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Include> getInclude() {
+ if (include == null) {
+ include = new EObjectContainmentEList<Include>(Include.class, this, RequirementsPackage.USE_CASE__INCLUDE);
+ }
+ return include;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Extend> getExtend() {
+ if (extend == null) {
+ extend = new EObjectContainmentEList<Extend>(Extend.class, this, RequirementsPackage.USE_CASE__EXTEND);
+ }
+ return extend;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ExtensionPoint> getExtensionPoint() {
+ if (extensionPoint == null) {
+ extensionPoint = new EObjectContainmentEList<ExtensionPoint>(ExtensionPoint.class, this, RequirementsPackage.USE_CASE__EXTENSION_POINT);
+ }
+ return extensionPoint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case RequirementsPackage.USE_CASE__INCLUDE:
+ return ((InternalEList<?>)getInclude()).basicRemove(otherEnd, msgs);
+ case RequirementsPackage.USE_CASE__EXTEND:
+ return ((InternalEList<?>)getExtend()).basicRemove(otherEnd, msgs);
+ case RequirementsPackage.USE_CASE__EXTENSION_POINT:
+ return ((InternalEList<?>)getExtensionPoint()).basicRemove(otherEnd, 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 RequirementsPackage.USE_CASE__BASE_USE_CASE:
+ if (resolve) return getBase_UseCase();
+ return basicGetBase_UseCase();
+ case RequirementsPackage.USE_CASE__INCLUDE:
+ return getInclude();
+ case RequirementsPackage.USE_CASE__EXTEND:
+ return getExtend();
+ case RequirementsPackage.USE_CASE__EXTENSION_POINT:
+ return getExtensionPoint();
+ }
+ 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 RequirementsPackage.USE_CASE__BASE_USE_CASE:
+ setBase_UseCase((org.eclipse.uml2.uml.UseCase)newValue);
+ return;
+ case RequirementsPackage.USE_CASE__INCLUDE:
+ getInclude().clear();
+ getInclude().addAll((Collection<? extends Include>)newValue);
+ return;
+ case RequirementsPackage.USE_CASE__EXTEND:
+ getExtend().clear();
+ getExtend().addAll((Collection<? extends Extend>)newValue);
+ return;
+ case RequirementsPackage.USE_CASE__EXTENSION_POINT:
+ getExtensionPoint().clear();
+ getExtensionPoint().addAll((Collection<? extends ExtensionPoint>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.USE_CASE__BASE_USE_CASE:
+ setBase_UseCase((org.eclipse.uml2.uml.UseCase)null);
+ return;
+ case RequirementsPackage.USE_CASE__INCLUDE:
+ getInclude().clear();
+ return;
+ case RequirementsPackage.USE_CASE__EXTEND:
+ getExtend().clear();
+ return;
+ case RequirementsPackage.USE_CASE__EXTENSION_POINT:
+ getExtensionPoint().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RequirementsPackage.USE_CASE__BASE_USE_CASE:
+ return base_UseCase != null;
+ case RequirementsPackage.USE_CASE__INCLUDE:
+ return include != null && !include.isEmpty();
+ case RequirementsPackage.USE_CASE__EXTEND:
+ return extend != null && !extend.isEmpty();
+ case RequirementsPackage.USE_CASE__EXTENSION_POINT:
+ return extensionPoint != null && !extensionPoint.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //UseCaseImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/util/RequirementsAdapterFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/util/RequirementsAdapterFactory.java
new file mode 100644
index 00000000000..c7f07718513
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/util/RequirementsAdapterFactory.java
@@ -0,0 +1,653 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.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.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Relationship;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+import org.eclipse.papyrus.eastadl.requirements.Actor;
+import org.eclipse.papyrus.eastadl.requirements.DeriveRequirement;
+import org.eclipse.papyrus.eastadl.requirements.Extend;
+import org.eclipse.papyrus.eastadl.requirements.ExtensionPoint;
+import org.eclipse.papyrus.eastadl.requirements.Include;
+import org.eclipse.papyrus.eastadl.requirements.OperationalSituation;
+import org.eclipse.papyrus.eastadl.requirements.QualityRequirement;
+import org.eclipse.papyrus.eastadl.requirements.RedefinableElement;
+import org.eclipse.papyrus.eastadl.requirements.Refine;
+import org.eclipse.papyrus.eastadl.requirements.Requirement;
+import org.eclipse.papyrus.eastadl.requirements.RequirementSpecificationObject;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsContainer;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsLink;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsModel;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsRelatedInformation;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsRelationGroup;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsRelationship;
+import org.eclipse.papyrus.eastadl.requirements.Satisfy;
+import org.eclipse.papyrus.eastadl.requirements.UseCase;
+import org.eclipse.papyrus.sysml.requirements.DeriveReqt;
+import org.eclipse.uml2.uml.profile.l2.Trace;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.requirements.RequirementsPackage
+ * @generated
+ */
+public class RequirementsAdapterFactory extends AdapterFactoryImpl {
+
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected static RequirementsPackage modelPackage;
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ protected RequirementsSwitch<Adapter> modelSwitch = new RequirementsSwitch<Adapter>() {
+ @Override
+ public Adapter caseQualityRequirement(QualityRequirement object) {
+ return createQualityRequirementAdapter();
+ }
+ @Override
+ public Adapter caseRequirement(Requirement object) {
+ return createRequirementAdapter();
+ }
+ @Override
+ public Adapter caseRequirementSpecificationObject(RequirementSpecificationObject object) {
+ return createRequirementSpecificationObjectAdapter();
+ }
+ @Override
+ public Adapter caseRequirementsContainer(RequirementsContainer object) {
+ return createRequirementsContainerAdapter();
+ }
+ @Override
+ public Adapter caseRequirementsRelatedInformation(RequirementsRelatedInformation object) {
+ return createRequirementsRelatedInformationAdapter();
+ }
+ @Override
+ public Adapter caseRequirementsRelationship(RequirementsRelationship object) {
+ return createRequirementsRelationshipAdapter();
+ }
+ @Override
+ public Adapter caseSatisfy(Satisfy object) {
+ return createSatisfyAdapter();
+ }
+ @Override
+ public Adapter caseUseCase(UseCase object) {
+ return createUseCaseAdapter();
+ }
+ @Override
+ public Adapter caseInclude(Include object) {
+ return createIncludeAdapter();
+ }
+ @Override
+ public Adapter caseExtend(Extend object) {
+ return createExtendAdapter();
+ }
+ @Override
+ public Adapter caseExtensionPoint(ExtensionPoint object) {
+ return createExtensionPointAdapter();
+ }
+ @Override
+ public Adapter caseRedefinableElement(RedefinableElement object) {
+ return createRedefinableElementAdapter();
+ }
+ @Override
+ public Adapter caseRefine(Refine object) {
+ return createRefineAdapter();
+ }
+ @Override
+ public Adapter caseDeriveRequirement(DeriveRequirement object) {
+ return createDeriveRequirementAdapter();
+ }
+ @Override
+ public Adapter caseRequirementsRelationGroup(RequirementsRelationGroup object) {
+ return createRequirementsRelationGroupAdapter();
+ }
+ @Override
+ public Adapter caseRequirementsLink(RequirementsLink object) {
+ return createRequirementsLinkAdapter();
+ }
+ @Override
+ public Adapter caseRequirementsModel(RequirementsModel object) {
+ return createRequirementsModelAdapter();
+ }
+ @Override
+ public Adapter caseOperationalSituation(OperationalSituation object) {
+ return createOperationalSituationAdapter();
+ }
+ @Override
+ public Adapter caseActor(Actor object) {
+ return createActorAdapter();
+ }
+ @Override
+ public Adapter caseRequirements_Requirement(org.eclipse.papyrus.sysml.requirements.Requirement object) {
+ return createRequirements_RequirementAdapter();
+ }
+ @Override
+ public Adapter caseEAElement(EAElement object) {
+ return createEAElementAdapter();
+ }
+ @Override
+ public Adapter caseEAPackageableElement(EAPackageableElement object) {
+ return createEAPackageableElementAdapter();
+ }
+ @Override
+ public Adapter caseTraceableSpecification(TraceableSpecification object) {
+ return createTraceableSpecificationAdapter();
+ }
+ @Override
+ public Adapter caseRelationship(Relationship object) {
+ return createRelationshipAdapter();
+ }
+ @Override
+ public Adapter caseTrace(Trace object) {
+ return createTraceAdapter();
+ }
+ @Override
+ public Adapter caseRequirements_Satisfy(org.eclipse.papyrus.sysml.requirements.Satisfy object) {
+ return createRequirements_SatisfyAdapter();
+ }
+ @Override
+ public Adapter caseL2_Refine(org.eclipse.uml2.uml.profile.l2.Refine object) {
+ return createL2_RefineAdapter();
+ }
+ @Override
+ public Adapter caseDeriveReqt(DeriveReqt object) {
+ return createDeriveReqtAdapter();
+ }
+ @Override
+ public Adapter caseContext(Context object) {
+ return createContextAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public RequirementsAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = RequirementsPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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.eclipse.papyrus.eastadl.infrastructure.elements.Context <em>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.eastadl.infrastructure.elements.Context
+ * @generated
+ */
+ public Adapter createContextAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.requirements.DeriveReqt <em>Derive Reqt</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.sysml.requirements.DeriveReqt
+ * @generated
+ */
+ public Adapter createDeriveReqtAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.requirements.DeriveRequirement <em>Derive Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.requirements.DeriveRequirement
+ * @generated
+ */
+ public Adapter createDeriveRequirementAdapter() {
+ 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;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.requirements.OperationalSituation <em>Operational Situation</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.requirements.OperationalSituation
+ * @generated
+ */
+ public Adapter createOperationalSituationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.requirements.Actor <em>Actor</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.requirements.Actor
+ * @generated
+ */
+ public Adapter createActorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.requirements.QualityRequirement <em>Quality Requirement</em>}'.
+ * <!-- begin-user-doc --> This default implementation returns
+ * null so that we can easily ignore cases; 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.eastadl.requirements.QualityRequirement
+ * @generated
+ */
+ public Adapter createQualityRequirementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.requirements.Refine <em>Refine</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.requirements.Refine
+ * @generated
+ */
+ public Adapter createRefineAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Relationship <em>Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.Relationship
+ * @generated
+ */
+ public Adapter createRelationshipAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.requirements.Requirement <em>Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.requirements.Requirement
+ * @generated
+ */
+ public Adapter createRequirementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.requirements.Requirement <em>Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.sysml.requirements.Requirement
+ * @generated
+ */
+ public Adapter createRequirements_RequirementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement <em>EA Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAElement
+ * @generated
+ */
+ public Adapter createEAElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement <em>EA Packageable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAPackageableElement
+ * @generated
+ */
+ public Adapter createEAPackageableElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.requirements.Satisfy <em>Satisfy</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.sysml.requirements.Satisfy
+ * @generated
+ */
+ public Adapter createRequirements_SatisfyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.uml2.uml.profile.l2.Refine <em>Refine</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.uml2.uml.profile.l2.Refine
+ * @generated
+ */
+ public Adapter createL2_RefineAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsContainer <em>Container</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.requirements.RequirementsContainer
+ * @generated
+ */
+ public Adapter createRequirementsContainerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsLink <em>Link</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.requirements.RequirementsLink
+ * @generated
+ */
+ public Adapter createRequirementsLinkAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsModel <em>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.eclipse.papyrus.eastadl.requirements.RequirementsModel
+ * @generated
+ */
+ public Adapter createRequirementsModelAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.requirements.RequirementSpecificationObject <em>Requirement Specification Object</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.requirements.RequirementSpecificationObject
+ * @generated
+ */
+ public Adapter createRequirementSpecificationObjectAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsRelatedInformation <em>Related Information</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.requirements.RequirementsRelatedInformation
+ * @generated
+ */
+ public Adapter createRequirementsRelatedInformationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsRelationGroup <em>Relation Group</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.requirements.RequirementsRelationGroup
+ * @generated
+ */
+ public Adapter createRequirementsRelationGroupAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsRelationship <em>Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.requirements.RequirementsRelationship
+ * @generated
+ */
+ public Adapter createRequirementsRelationshipAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.requirements.Satisfy <em>Satisfy</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.requirements.Satisfy
+ * @generated
+ */
+ public Adapter createSatisfyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.requirements.UseCase <em>Use Case</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.requirements.UseCase
+ * @generated
+ */
+ public Adapter createUseCaseAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.requirements.Include <em>Include</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.requirements.Include
+ * @generated
+ */
+ public Adapter createIncludeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.requirements.Extend <em>Extend</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.requirements.Extend
+ * @generated
+ */
+ public Adapter createExtendAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.requirements.ExtensionPoint <em>Extension Point</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.requirements.ExtensionPoint
+ * @generated
+ */
+ public Adapter createExtensionPointAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.requirements.RedefinableElement <em>Redefinable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.requirements.RedefinableElement
+ * @generated
+ */
+ public Adapter createRedefinableElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification <em>Traceable 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.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification
+ * @generated
+ */
+ public Adapter createTraceableSpecificationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.uml2.uml.profile.l2.Trace <em>Trace</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.uml2.uml.profile.l2.Trace
+ * @generated
+ */
+ public Adapter createTraceAdapter() {
+ return null;
+ }
+
+ /**
+ * 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;
+ }
+
+} // RequirementsAdapterFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/util/RequirementsResourceFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/util/RequirementsResourceFactoryImpl.java
new file mode 100644
index 00000000000..46e1613e05b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/util/RequirementsResourceFactoryImpl.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.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.eclipse.papyrus.eastadl.requirements.util.RequirementsResourceImpl
+ * @generated
+ */
+public class RequirementsResourceFactoryImpl extends ResourceFactoryImpl {
+
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public RequirementsResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new RequirementsResourceImpl(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;
+ }
+
+} // RequirementsResourceFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/util/RequirementsResourceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/util/RequirementsResourceImpl.java
new file mode 100644
index 00000000000..500cbd7f233
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/util/RequirementsResourceImpl.java
@@ -0,0 +1,38 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.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.eclipse.papyrus.eastadl.requirements.util.RequirementsResourceFactoryImpl
+ * @generated
+ */
+public class RequirementsResourceImpl extends XMLResourceImpl {
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public RequirementsResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} // RequirementsResourceImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/util/RequirementsSwitch.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/util/RequirementsSwitch.java
new file mode 100644
index 00000000000..27461ec3820
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/util/RequirementsSwitch.java
@@ -0,0 +1,727 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Relationship;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+import org.eclipse.papyrus.eastadl.requirements.Actor;
+import org.eclipse.papyrus.eastadl.requirements.DeriveRequirement;
+import org.eclipse.papyrus.eastadl.requirements.Extend;
+import org.eclipse.papyrus.eastadl.requirements.ExtensionPoint;
+import org.eclipse.papyrus.eastadl.requirements.Include;
+import org.eclipse.papyrus.eastadl.requirements.OperationalSituation;
+import org.eclipse.papyrus.eastadl.requirements.QualityRequirement;
+import org.eclipse.papyrus.eastadl.requirements.RedefinableElement;
+import org.eclipse.papyrus.eastadl.requirements.Refine;
+import org.eclipse.papyrus.eastadl.requirements.Requirement;
+import org.eclipse.papyrus.eastadl.requirements.RequirementSpecificationObject;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsContainer;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsLink;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsModel;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsRelatedInformation;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsRelationGroup;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsRelationship;
+import org.eclipse.papyrus.eastadl.requirements.Satisfy;
+import org.eclipse.papyrus.eastadl.requirements.UseCase;
+import org.eclipse.papyrus.sysml.requirements.DeriveReqt;
+import org.eclipse.uml2.uml.profile.l2.Trace;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.requirements.RequirementsPackage
+ * @generated
+ */
+public class RequirementsSwitch<T> extends Switch<T> {
+
+ /**
+ * The cached model package
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected static RequirementsPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public RequirementsSwitch() {
+ if (modelPackage == null) {
+ modelPackage = RequirementsPackage.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;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>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>Context</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseContext(Context object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Derive Reqt</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Derive Reqt</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDeriveReqt(DeriveReqt object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Derive Requirement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Derive Requirement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDeriveRequirement(DeriveRequirement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Operational Situation</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Operational Situation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOperationalSituation(OperationalSituation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Actor</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Actor</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseActor(Actor object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Quality Requirement</em>'.
+ * <!-- begin-user-doc --> This implementation returns null; returning a non-null result will
+ * terminate the switch. <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Quality Requirement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseQualityRequirement(QualityRequirement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Refine</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Refine</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRefine(Refine object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Relationship</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Relationship</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRelationship(Relationship object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Requirement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate 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</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRequirement(Requirement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Requirement</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate 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</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRequirements_Requirement(org.eclipse.papyrus.sysml.requirements.Requirement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAElement(EAElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Packageable Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Packageable Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAPackageableElement(EAPackageableElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Satisfy</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Satisfy</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRequirements_Satisfy(org.eclipse.papyrus.sysml.requirements.Satisfy object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Refine</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Refine</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseL2_Refine(org.eclipse.uml2.uml.profile.l2.Refine object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Container</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRequirementsContainer(RequirementsContainer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Link</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Link</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRequirementsLink(RequirementsLink object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>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>Model</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRequirementsModel(RequirementsModel object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Requirement Specification Object</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate 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 Specification Object</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRequirementSpecificationObject(RequirementSpecificationObject object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Related Information</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Related Information</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRequirementsRelatedInformation(RequirementsRelatedInformation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Relation Group</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Relation Group</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRequirementsRelationGroup(RequirementsRelationGroup object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Relationship</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Relationship</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRequirementsRelationship(RequirementsRelationship object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Satisfy</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Satisfy</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSatisfy(Satisfy object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Use Case</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Use Case</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUseCase(UseCase object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Include</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Include</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseInclude(Include object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Extend</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Extend</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseExtend(Extend object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Extension Point</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Extension Point</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseExtensionPoint(ExtensionPoint object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Redefinable Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Redefinable Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRedefinableElement(RedefinableElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Trace</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Trace</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTrace(Trace object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Traceable 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>Traceable Specification</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTraceableSpecification(TraceableSpecification 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;
+ }
+
+ /**
+ * 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 RequirementsPackage.QUALITY_REQUIREMENT: {
+ QualityRequirement qualityRequirement = (QualityRequirement)theEObject;
+ T result = caseQualityRequirement(qualityRequirement);
+ if (result == null) result = caseRequirement(qualityRequirement);
+ if (result == null) result = caseRequirements_Requirement(qualityRequirement);
+ if (result == null) result = caseRequirementSpecificationObject(qualityRequirement);
+ if (result == null) result = caseTraceableSpecification(qualityRequirement);
+ if (result == null) result = caseEAPackageableElement(qualityRequirement);
+ if (result == null) result = caseEAElement(qualityRequirement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case RequirementsPackage.REQUIREMENT: {
+ Requirement requirement = (Requirement)theEObject;
+ T result = caseRequirement(requirement);
+ if (result == null) result = caseRequirements_Requirement(requirement);
+ if (result == null) result = caseRequirementSpecificationObject(requirement);
+ if (result == null) result = caseTraceableSpecification(requirement);
+ if (result == null) result = caseEAPackageableElement(requirement);
+ if (result == null) result = caseEAElement(requirement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case RequirementsPackage.REQUIREMENT_SPECIFICATION_OBJECT: {
+ RequirementSpecificationObject requirementSpecificationObject = (RequirementSpecificationObject)theEObject;
+ T result = caseRequirementSpecificationObject(requirementSpecificationObject);
+ if (result == null) result = caseTraceableSpecification(requirementSpecificationObject);
+ if (result == null) result = caseEAPackageableElement(requirementSpecificationObject);
+ if (result == null) result = caseEAElement(requirementSpecificationObject);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case RequirementsPackage.REQUIREMENTS_CONTAINER: {
+ RequirementsContainer requirementsContainer = (RequirementsContainer)theEObject;
+ T result = caseRequirementsContainer(requirementsContainer);
+ if (result == null) result = caseTraceableSpecification(requirementsContainer);
+ if (result == null) result = caseEAPackageableElement(requirementsContainer);
+ if (result == null) result = caseEAElement(requirementsContainer);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case RequirementsPackage.REQUIREMENTS_RELATED_INFORMATION: {
+ RequirementsRelatedInformation requirementsRelatedInformation = (RequirementsRelatedInformation)theEObject;
+ T result = caseRequirementsRelatedInformation(requirementsRelatedInformation);
+ if (result == null) result = caseRequirementSpecificationObject(requirementsRelatedInformation);
+ if (result == null) result = caseTraceableSpecification(requirementsRelatedInformation);
+ if (result == null) result = caseEAPackageableElement(requirementsRelatedInformation);
+ if (result == null) result = caseEAElement(requirementsRelatedInformation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case RequirementsPackage.REQUIREMENTS_RELATIONSHIP: {
+ RequirementsRelationship requirementsRelationship = (RequirementsRelationship)theEObject;
+ T result = caseRequirementsRelationship(requirementsRelationship);
+ if (result == null) result = caseRelationship(requirementsRelationship);
+ if (result == null) result = caseEAElement(requirementsRelationship);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case RequirementsPackage.SATISFY: {
+ Satisfy satisfy = (Satisfy)theEObject;
+ T result = caseSatisfy(satisfy);
+ if (result == null) result = caseRequirementsRelationship(satisfy);
+ if (result == null) result = caseRequirements_Satisfy(satisfy);
+ if (result == null) result = caseRelationship(satisfy);
+ if (result == null) result = caseTrace(satisfy);
+ if (result == null) result = caseEAElement(satisfy);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case RequirementsPackage.USE_CASE: {
+ UseCase useCase = (UseCase)theEObject;
+ T result = caseUseCase(useCase);
+ if (result == null) result = caseTraceableSpecification(useCase);
+ if (result == null) result = caseEAPackageableElement(useCase);
+ if (result == null) result = caseEAElement(useCase);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case RequirementsPackage.INCLUDE: {
+ Include include = (Include)theEObject;
+ T result = caseInclude(include);
+ if (result == null) result = caseRelationship(include);
+ if (result == null) result = caseEAElement(include);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case RequirementsPackage.EXTEND: {
+ Extend extend = (Extend)theEObject;
+ T result = caseExtend(extend);
+ if (result == null) result = caseRelationship(extend);
+ if (result == null) result = caseEAElement(extend);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case RequirementsPackage.EXTENSION_POINT: {
+ ExtensionPoint extensionPoint = (ExtensionPoint)theEObject;
+ T result = caseExtensionPoint(extensionPoint);
+ if (result == null) result = caseRedefinableElement(extensionPoint);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case RequirementsPackage.REDEFINABLE_ELEMENT: {
+ RedefinableElement redefinableElement = (RedefinableElement)theEObject;
+ T result = caseRedefinableElement(redefinableElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case RequirementsPackage.REFINE: {
+ Refine refine = (Refine)theEObject;
+ T result = caseRefine(refine);
+ if (result == null) result = caseRequirementsRelationship(refine);
+ if (result == null) result = caseL2_Refine(refine);
+ if (result == null) result = caseRelationship(refine);
+ if (result == null) result = caseEAElement(refine);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case RequirementsPackage.DERIVE_REQUIREMENT: {
+ DeriveRequirement deriveRequirement = (DeriveRequirement)theEObject;
+ T result = caseDeriveRequirement(deriveRequirement);
+ if (result == null) result = caseRequirementsRelationship(deriveRequirement);
+ if (result == null) result = caseDeriveReqt(deriveRequirement);
+ if (result == null) result = caseRelationship(deriveRequirement);
+ if (result == null) result = caseTrace(deriveRequirement);
+ if (result == null) result = caseEAElement(deriveRequirement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case RequirementsPackage.REQUIREMENTS_RELATION_GROUP: {
+ RequirementsRelationGroup requirementsRelationGroup = (RequirementsRelationGroup)theEObject;
+ T result = caseRequirementsRelationGroup(requirementsRelationGroup);
+ if (result == null) result = caseTraceableSpecification(requirementsRelationGroup);
+ if (result == null) result = caseEAPackageableElement(requirementsRelationGroup);
+ if (result == null) result = caseEAElement(requirementsRelationGroup);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case RequirementsPackage.REQUIREMENTS_LINK: {
+ RequirementsLink requirementsLink = (RequirementsLink)theEObject;
+ T result = caseRequirementsLink(requirementsLink);
+ if (result == null) result = caseRequirementsRelationship(requirementsLink);
+ if (result == null) result = caseRelationship(requirementsLink);
+ if (result == null) result = caseEAElement(requirementsLink);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case RequirementsPackage.REQUIREMENTS_MODEL: {
+ RequirementsModel requirementsModel = (RequirementsModel)theEObject;
+ T result = caseRequirementsModel(requirementsModel);
+ if (result == null) result = caseContext(requirementsModel);
+ if (result == null) result = caseEAElement(requirementsModel);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case RequirementsPackage.OPERATIONAL_SITUATION: {
+ OperationalSituation operationalSituation = (OperationalSituation)theEObject;
+ T result = caseOperationalSituation(operationalSituation);
+ if (result == null) result = caseTraceableSpecification(operationalSituation);
+ if (result == null) result = caseEAPackageableElement(operationalSituation);
+ if (result == null) result = caseEAElement(operationalSituation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case RequirementsPackage.ACTOR: {
+ Actor actor = (Actor)theEObject;
+ T result = caseActor(actor);
+ if (result == null) result = caseTraceableSpecification(actor);
+ if (result == null) result = caseEAPackageableElement(actor);
+ if (result == null) result = caseEAElement(actor);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+} // RequirementsSwitch
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/util/RequirementsXMLProcessor.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/util/RequirementsXMLProcessor.java
new file mode 100644
index 00000000000..9019bf789f0
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/util/RequirementsXMLProcessor.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.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.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ */
+public class RequirementsXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public RequirementsXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ RequirementsPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the RequirementsResourceFactoryImpl 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 RequirementsResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new RequirementsResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} // RequirementsXMLProcessor
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VVActualOutcome.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VVActualOutcome.java
new file mode 100644
index 00000000000..025b688bd0f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VVActualOutcome.java
@@ -0,0 +1,96 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.verificationvalidation;
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>VV Actual Outcome</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * VVActualOutcome represents the actual output of the testing environment represented by VVTarget when triggered by the VVStimuli of the ConcreteVVProcedure which is defined by the association 'performedVVProcedure' of the containing VVLog. It should be equivalent to the VVIntendedOutcome defined by association 'intendedOutcome'
+ *
+ *
+ * Extension: Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVActualOutcome#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVActualOutcome#getIntendedOutcome <em>Intended Outcome</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVVActualOutcome()
+ * @model
+ * @generated
+ */
+public interface VVActualOutcome extends TraceableSpecification {
+ /**
+ * 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.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVVActualOutcome_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Returns the value of the '<em><b>Intended Outcome</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Denotes the VVIntendedOutcome that must be matched by this actual outcome.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Intended Outcome</em>' reference.
+ * @see #setIntendedOutcome(VVIntendedOutcome)
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVVActualOutcome_IntendedOutcome()
+ * @model ordered="false"
+ * @generated
+ */
+ VVIntendedOutcome getIntendedOutcome();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVActualOutcome#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);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVActualOutcome#getIntendedOutcome <em>Intended Outcome</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Intended Outcome</em>' reference.
+ * @see #getIntendedOutcome()
+ * @generated
+ */
+ void setIntendedOutcome(VVIntendedOutcome value);
+
+} // VVActualOutcome
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VVCase.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VVCase.java
new file mode 100644
index 00000000000..6c8aa6f22ce
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VVCase.java
@@ -0,0 +1,181 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.verificationvalidation;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+import org.eclipse.uml2.uml.NamedElement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>VV Case</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * VVCase represents a V&V effort, i.e. it specifies concrete test subjects and targets and provides stimuli and the expected outcome on a concrete technical level.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase#getVvCase <em>Vv Case</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase#getAbstractVVCase <em>Abstract VV Case</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase#getVvTarget <em>Vv Target</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase#getVvSubject <em>Vv Subject</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase#getVvLog <em>Vv Log</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase#getVvProcedure <em>Vv Procedure</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVVCase()
+ * @model
+ * @generated
+ */
+public interface VVCase extends TraceableSpecification {
+ /**
+ * Returns the value of the '<em><b>Abstract VV Case</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Abstract VV Case</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Abstract VV Case</em>' reference.
+ * @see #setAbstractVVCase(VVCase)
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVVCase_AbstractVVCase()
+ * @model ordered="false"
+ * @generated
+ */
+ VVCase getAbstractVVCase();
+
+ /**
+ * 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.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVVCase_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Returns the value of the '<em><b>Vv Case</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Vv Case</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>Vv Case</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVVCase_VvCase()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<VVCase> getVvCase();
+
+ /**
+ * Returns the value of the '<em><b>Vv Log</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVLog}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Vv Log</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Vv Log</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVVCase_VvLog()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<VVLog> getVvLog();
+
+ /**
+ * Returns the value of the '<em><b>Vv Procedure</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The abstract VV procedures for this AbstractVVCase.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Vv Procedure</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVVCase_VvProcedure()
+ * @model
+ * @generated
+ */
+ EList<VVProcedure> getVvProcedure();
+
+ /**
+ * Returns the value of the '<em><b>Vv Subject</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.NamedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Vv Subject</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>Vv Subject</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVVCase_VvSubject()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<NamedElement> getVvSubject();
+
+ /**
+ * Returns the value of the '<em><b>Vv Target</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVTarget}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Vv Target</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>Vv Target</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVVCase_VvTarget()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<VVTarget> getVvTarget();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase#getAbstractVVCase <em>Abstract VV Case</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Abstract VV Case</em>' reference.
+ * @see #getAbstractVVCase()
+ * @generated
+ */
+ void setAbstractVVCase(VVCase value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase#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);
+
+} // VVCase
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VVIntendedOutcome.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VVIntendedOutcome.java
new file mode 100644
index 00000000000..381d3301b20
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VVIntendedOutcome.java
@@ -0,0 +1,68 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.verificationvalidation;
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>VV Intended Outcome</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Expected output of the testing environment represented by VVTarget when triggered by the corresponding VVStimuli of the containing ConcreteVVProcedure.
+ * Since this entity only occurs on the concrete level (i.e. within the context of a ConcreteVVCase), the output must be provided in a form such that it can directly be compared to the output of the VVTarget(s) defined for the containing ConcreteVVCase.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVIntendedOutcome#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVVIntendedOutcome()
+ * @model
+ * @generated
+ */
+public interface VVIntendedOutcome extends TraceableSpecification {
+ /**
+ * 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.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVVIntendedOutcome_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVIntendedOutcome#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);
+
+} // VVIntendedOutcome
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VVLog.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VVLog.java
new file mode 100644
index 00000000000..3b1eaf3a69d
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VVLog.java
@@ -0,0 +1,141 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.verificationvalidation;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>VV Log</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * ConcreteVVCase represents the precise description of a V&V effort on a concrete technical level and thus provides all necessary information to actually perform this V&V effort. However, it does not represent the actual execution of the effort.
+ *
+ * This is the purpose of the VVLog. Each VVLog metaclass represents a certain execution of a ConcreteVVCase.
+ *
+ * For example, if the HIL test of the wiper system with a certain set of stimuli was performed on Friday afternoon and, for checkup, again on Monday, then there will be one ConcreteVVCase describing the HIL test and two VVLogs describing the test result from Friday and Monday respectively.
+ *
+ *
+ * Extension: Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVLog#getDate <em>Date</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVLog#getVvActualOutcome <em>Vv Actual Outcome</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVLog#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVLog#getPerformedVVProcedure <em>Performed VV Procedure</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVVLog()
+ * @model
+ * @generated
+ */
+public interface VVLog extends TraceableSpecification {
+ /**
+ * 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.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVVLog_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Returns the value of the '<em><b>Date</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Date and time when this log was captured.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Date</em>' attribute.
+ * @see #setDate(String)
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVVLog_Date()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getDate();
+
+ /**
+ * Returns the value of the '<em><b>Performed VV Procedure</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Performed VV Procedure</em>' reference.
+ * @see #setPerformedVVProcedure(VVProcedure)
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVVLog_PerformedVVProcedure()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ VVProcedure getPerformedVVProcedure();
+
+ /**
+ * Returns the value of the '<em><b>Vv Actual Outcome</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVActualOutcome}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Set of outcome results.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Vv Actual Outcome</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVVLog_VvActualOutcome()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<VVActualOutcome> getVvActualOutcome();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVLog#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);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVLog#getDate <em>Date</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Date</em>' attribute.
+ * @see #getDate()
+ * @generated
+ */
+ void setDate(String value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVLog#getPerformedVVProcedure <em>Performed VV Procedure</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Performed VV Procedure</em>' reference.
+ * @see #getPerformedVVProcedure()
+ * @generated
+ */
+ void setPerformedVVProcedure(VVProcedure value);
+
+} // VVLog
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VVProcedure.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VVProcedure.java
new file mode 100644
index 00000000000..886bf46b6eb
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VVProcedure.java
@@ -0,0 +1,151 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.verificationvalidation;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>VV Procedure</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * VVProcedure represents an individual task in the context of an overall V&V effort (represented by a VVCase), which has to be performed in order to achieve that effort's overall objective. Just as is the case for VVCases, the definition of VVProcedures is separated in two levels: an abstract and a concrete level represented by the entities AbstractVVProcedure and ConcreteVVProcedure.
+ *
+ * The concreteVVProcedure metaclass represents such a task on a concrete level, i.e. it is defined with a concrete testing environment in mind and provides stimuli and an expected outcome of the procedure in a form which is directly applicable to this testing environment.
+ *
+ * Extension: Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure#getAbstractVVProcedure <em>Abstract VV Procedure</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure#getConcreteVVProcedure <em>Concrete VV Procedure</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure#getVvIntendedOutcome <em>Vv Intended Outcome</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure#getVvStimuli <em>Vv Stimuli</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVVProcedure()
+ * @model
+ * @generated
+ */
+public interface VVProcedure extends TraceableSpecification {
+ /**
+ * Returns the value of the '<em><b>Abstract VV Procedure</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Abstract VV Procedure</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Abstract VV Procedure</em>' reference.
+ * @see #setAbstractVVProcedure(VVProcedure)
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVVProcedure_AbstractVVProcedure()
+ * @model ordered="false"
+ * @generated
+ */
+ VVProcedure getAbstractVVProcedure();
+
+ /**
+ * 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.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVVProcedure_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Returns the value of the '<em><b>Concrete VV Procedure</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Concrete VV Procedure</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>Concrete VV Procedure</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVVProcedure_ConcreteVVProcedure()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<VVProcedure> getConcreteVVProcedure();
+
+ /**
+ * Returns the value of the '<em><b>Vv Intended Outcome</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVIntendedOutcome}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Vv Intended Outcome</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Vv Intended Outcome</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVVProcedure_VvIntendedOutcome()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<VVIntendedOutcome> getVvIntendedOutcome();
+
+ /**
+ * Returns the value of the '<em><b>Vv Stimuli</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVStimuli}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Vv Stimuli</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Vv Stimuli</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVVProcedure_VvStimuli()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<VVStimuli> getVvStimuli();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure#getAbstractVVProcedure <em>Abstract VV Procedure</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Abstract VV Procedure</em>' reference.
+ * @see #getAbstractVVProcedure()
+ * @generated
+ */
+ void setAbstractVVProcedure(VVProcedure value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure#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);
+
+} // VVProcedure
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VVStimuli.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VVStimuli.java
new file mode 100644
index 00000000000..a77856776d9
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VVStimuli.java
@@ -0,0 +1,72 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.verificationvalidation;
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>VV Stimuli</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * VVStimuli represents the input values to the testing environment represented by VVTarget in order to perform the corresponding VVProcedure.
+ *
+ * Since this entity only occurs on the concrete level (i.e. within the context of a ConcreteVVCase), the input values must be provided in a form such that they are directly applicable to the VVTarget(s) defined for the containing ConcreteVVCase.
+ *
+ *
+ * Extension: Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVStimuli#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVVStimuli()
+ * @model
+ * @generated
+ */
+public interface VVStimuli extends TraceableSpecification {
+ /**
+ * 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.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVVStimuli_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVStimuli#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);
+
+} // VVStimuli
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VVTarget.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VVTarget.java
new file mode 100644
index 00000000000..c051ce3547d
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VVTarget.java
@@ -0,0 +1,91 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.verificationvalidation;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+import org.eclipse.uml2.uml.NamedElement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>VV Target</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * VVTarget represents a concrete testing environment in which or on which a particular V&V activity can be performed. This can be physical hardware or it can be pure software in case of a test by way of design level simulations.
+ *
+ * Usually, a VVTarget will be a realization of one or more elements. However, there are cases in which this is not true, for example when a VVTarget represents parts of the system's environment. Therefore the association to element has a minimum cardinality of 0.
+ *
+ * VVTargets can be reused across several ConcreteVVCases.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVTarget#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVTarget#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVVTarget()
+ * @model
+ * @generated
+ */
+public interface VVTarget extends TraceableSpecification {
+ /**
+ * 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.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVVTarget_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Returns the value of the '<em><b>Element</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.NamedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Element</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>Element</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVVTarget_Element()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<NamedElement> getElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVTarget#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);
+
+} // VVTarget
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VerificationValidation.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VerificationValidation.java
new file mode 100644
index 00000000000..d23f1f2ee9e
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VerificationValidation.java
@@ -0,0 +1,147 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.verificationvalidation;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Verification Validation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The collection of verification and validation elements. This collection can be done across the EAST-ADL2 abstraction levels.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationValidation#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationValidation#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationValidation#getVerify <em>Verify</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationValidation#getVvCase <em>Vv Case</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationValidation#getVvTarget <em>Vv Target</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVerificationValidation()
+ * @model
+ * @generated
+ */
+public interface VerificationValidation extends Context {
+ /**
+ * 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.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVerificationValidation_Base_Class()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationValidation#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>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.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVerificationValidation_Base_Package()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationValidation#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>Verify</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.Verify}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Verify</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Verify</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVerificationValidation_Verify()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Verify> getVerify();
+
+ /**
+ * Returns the value of the '<em><b>Vv Case</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Vv Case</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>Vv Case</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVerificationValidation_VvCase()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<VVCase> getVvCase();
+
+ /**
+ * Returns the value of the '<em><b>Vv Target</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVTarget}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Vv Target</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Vv Target</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVerificationValidation_VvTarget()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<VVTarget> getVvTarget();
+
+} // VerificationValidation
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VerificationvalidationFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VerificationvalidationFactory.java
new file mode 100644
index 00000000000..05afadafe2f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VerificationvalidationFactory.java
@@ -0,0 +1,127 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.verificationvalidation;
+
+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.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage
+ * @generated
+ */
+public interface VerificationvalidationFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ VerificationvalidationFactory eINSTANCE = org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>VV Stimuli</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>VV Stimuli</em>'.
+ * @generated
+ */
+ VVStimuli createVVStimuli();
+
+ /**
+ * Returns a new object of class '<em>VV Intended Outcome</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>VV Intended Outcome</em>'.
+ * @generated
+ */
+ VVIntendedOutcome createVVIntendedOutcome();
+
+ /**
+ * Returns a new object of class '<em>VV Actual Outcome</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>VV Actual Outcome</em>'.
+ * @generated
+ */
+ VVActualOutcome createVVActualOutcome();
+
+ /**
+ * Returns a new object of class '<em>VV Case</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>VV Case</em>'.
+ * @generated
+ */
+ VVCase createVVCase();
+
+ /**
+ * Returns a new object of class '<em>VV Target</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>VV Target</em>'.
+ * @generated
+ */
+ VVTarget createVVTarget();
+
+ /**
+ * Returns a new object of class '<em>VV Log</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>VV Log</em>'.
+ * @generated
+ */
+ VVLog createVVLog();
+
+ /**
+ * Returns a new object of class '<em>VV Procedure</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>VV Procedure</em>'.
+ * @generated
+ */
+ VVProcedure createVVProcedure();
+
+ /**
+ * Returns a new object of class '<em>Verification Validation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Verification Validation</em>'.
+ * @generated
+ */
+ VerificationValidation createVerificationValidation();
+
+ /**
+ * Returns a new object of class '<em>Verify</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Verify</em>'.
+ * @generated
+ */
+ Verify createVerify();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ VerificationvalidationPackage getVerificationvalidationPackage();
+
+} //VerificationvalidationFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VerificationvalidationPackage.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VerificationvalidationPackage.java
new file mode 100644
index 00000000000..35c65d25d81
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/VerificationvalidationPackage.java
@@ -0,0 +1,1709 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.verificationvalidation;
+
+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.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+
+
+/**
+ * <!-- 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 -->
+ * <!-- begin-model-doc -->
+ * A multitude of different verification and validation (V&V) techniques, methods and tools are applied during the development of EE-Systems. Different techniques are applicable at different abstraction levels. Also, the technique of choice depends on the properties to validate and/or verify. Furthermore, each partner in a project may develop and employ his own V&V processes and activities. Hence it is impossible to introduce in the EAST-ADL2 a way to model all the objects that can be required by all the possible V&V techniques. As a consequence, EAST-ADL2 furnishes just the means for planning, organizing and describing V&V activities on a fairly abstract level, and for defining the links between those V&V activities, the satisfied and verified requirements, and the objects modeling the system (Functional Analysis Architecture, Functional components, Logical Tasks, etc.). The common parts of all V&V techniques are described by the EAST-ADL2, which includes: the results expected from the V&V activities, the actual results which were obtained when applying the V&V techniques, how the V&V activities are constrained. Information that is specific to an individual V&V technique is not described in EAST-ADL2, but a place for storing this information is provided.
+ *
+ * Single V&V techniques may be used only once or at several stages during an overall V&V effort. Some of them are specific to one modeling design stage; others can be applied at various design stages.
+ *
+ * A set of V&V techniques and activities is necessary in order to achieve a complete verification and validation of a given system. Often these techniques and activities are employed and performed by many different teams and departments, frequently even by different companies. This raises the demand for an overall planning and organization of all V&V related information.
+ *
+ * A very important notion of V&V support in EAST-ADL2 is the distinction of abstract and concrete V&V information:
+ *
+ * (1) On the abstract level, verification and validation information is defined without referring to a concrete testing environment and without specifying stimuli and the expected outcome of a particular VVProcedure on a detailed technical level.
+ *
+ * (2) On the concrete level, verification and validation information specifies a concrete testing environment and provides all necessary details for testing, e.g. stimuli and expected outcomes, on a concrete technical level applicable to that testing environment.
+ *
+ * In accordance to the "what vs. how" definition of requirements one could say: the abstract level defines what needs to be done to verify and validate a certain system, but not precisely how this is done. Conversely, the concrete level defines the precise technical details for particular testing environments. So all abstract VVCases and VVProcedures for a certain system together form sort of a "to-do"-list, which describes what needs to be done when actually testing the system with a concrete testing environment, but in a form applicable to all conceivable testing environments to all conceivable testing environments.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface VerificationvalidationPackage extends EPackage {
+ /**
+ * <!-- 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.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVStimuliImpl <em>VV Stimuli</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVStimuliImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl#getVVStimuli()
+ * @generated
+ */
+ EClass VV_STIMULI = eINSTANCE.getVVStimuli();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VV_STIMULI__BASE_CLASS = eINSTANCE.getVVStimuli_Base_Class();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVIntendedOutcomeImpl <em>VV Intended Outcome</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVIntendedOutcomeImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl#getVVIntendedOutcome()
+ * @generated
+ */
+ EClass VV_INTENDED_OUTCOME = eINSTANCE.getVVIntendedOutcome();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VV_INTENDED_OUTCOME__BASE_CLASS = eINSTANCE.getVVIntendedOutcome_Base_Class();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVTargetImpl <em>VV Target</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVTargetImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl#getVVTarget()
+ * @generated
+ */
+ EClass VV_TARGET = eINSTANCE.getVVTarget();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VV_TARGET__BASE_CLASS = eINSTANCE.getVVTarget_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Element</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VV_TARGET__ELEMENT = eINSTANCE.getVVTarget_Element();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVLogImpl <em>VV Log</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVLogImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl#getVVLog()
+ * @generated
+ */
+ EClass VV_LOG = eINSTANCE.getVVLog();
+
+ /**
+ * The meta object literal for the '<em><b>Date</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VV_LOG__DATE = eINSTANCE.getVVLog_Date();
+
+ /**
+ * The meta object literal for the '<em><b>Performed VV Procedure</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VV_LOG__PERFORMED_VV_PROCEDURE = eINSTANCE.getVVLog_PerformedVVProcedure();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationValidationImpl <em>Verification Validation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationValidationImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl#getVerificationValidation()
+ * @generated
+ */
+ EClass VERIFICATION_VALIDATION = eINSTANCE.getVerificationValidation();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VERIFICATION_VALIDATION__BASE_CLASS = eINSTANCE.getVerificationValidation_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VERIFICATION_VALIDATION__BASE_PACKAGE = eINSTANCE.getVerificationValidation_Base_Package();
+
+ /**
+ * The meta object literal for the '<em><b>Verify</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VERIFICATION_VALIDATION__VERIFY = eINSTANCE.getVerificationValidation_Verify();
+
+ /**
+ * The meta object literal for the '<em><b>Vv Case</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VERIFICATION_VALIDATION__VV_CASE = eINSTANCE.getVerificationValidation_VvCase();
+
+ /**
+ * The meta object literal for the '<em><b>Vv Target</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VERIFICATION_VALIDATION__VV_TARGET = eINSTANCE.getVerificationValidation_VvTarget();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerifyImpl <em>Verify</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerifyImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl#getVerify()
+ * @generated
+ */
+ EClass VERIFY = eINSTANCE.getVerify();
+
+ /**
+ * The meta object literal for the '<em><b>Verified By Procedure</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VERIFY__VERIFIED_BY_PROCEDURE = eINSTANCE.getVerify_VerifiedByProcedure();
+
+ /**
+ * The meta object literal for the '<em><b>Verified By Case</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VERIFY__VERIFIED_BY_CASE = eINSTANCE.getVerify_VerifiedByCase();
+
+ /**
+ * The meta object literal for the '<em><b>Verified Requirement</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VERIFY__VERIFIED_REQUIREMENT = eINSTANCE.getVerify_VerifiedRequirement();
+
+ /**
+ * The meta object literal for the '<em><b>Vv Actual Outcome</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VV_LOG__VV_ACTUAL_OUTCOME = eINSTANCE.getVVLog_VvActualOutcome();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VV_LOG__BASE_CLASS = eINSTANCE.getVVLog_Base_Class();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVActualOutcomeImpl <em>VV Actual Outcome</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVActualOutcomeImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl#getVVActualOutcome()
+ * @generated
+ */
+ EClass VV_ACTUAL_OUTCOME = eINSTANCE.getVVActualOutcome();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VV_ACTUAL_OUTCOME__BASE_CLASS = eINSTANCE.getVVActualOutcome_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Intended Outcome</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VV_ACTUAL_OUTCOME__INTENDED_OUTCOME = eINSTANCE.getVVActualOutcome_IntendedOutcome();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVCaseImpl <em>VV Case</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVCaseImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl#getVVCase()
+ * @generated
+ */
+ EClass VV_CASE = eINSTANCE.getVVCase();
+
+ /**
+ * The meta object literal for the '<em><b>Vv Procedure</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VV_CASE__VV_PROCEDURE = eINSTANCE.getVVCase_VvProcedure();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VV_CASE__BASE_CLASS = eINSTANCE.getVVCase_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Vv Case</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VV_CASE__VV_CASE = eINSTANCE.getVVCase_VvCase();
+
+ /**
+ * The meta object literal for the '<em><b>Abstract VV Case</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VV_CASE__ABSTRACT_VV_CASE = eINSTANCE.getVVCase_AbstractVVCase();
+
+ /**
+ * The meta object literal for the '<em><b>Vv Target</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VV_CASE__VV_TARGET = eINSTANCE.getVVCase_VvTarget();
+
+ /**
+ * The meta object literal for the '<em><b>Vv Subject</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VV_CASE__VV_SUBJECT = eINSTANCE.getVVCase_VvSubject();
+
+ /**
+ * The meta object literal for the '<em><b>Vv Log</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VV_CASE__VV_LOG = eINSTANCE.getVVCase_VvLog();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVProcedureImpl <em>VV Procedure</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVProcedureImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl#getVVProcedure()
+ * @generated
+ */
+ EClass VV_PROCEDURE = eINSTANCE.getVVProcedure();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VV_PROCEDURE__BASE_CLASS = eINSTANCE.getVVProcedure_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Abstract VV Procedure</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VV_PROCEDURE__ABSTRACT_VV_PROCEDURE = eINSTANCE.getVVProcedure_AbstractVVProcedure();
+
+ /**
+ * The meta object literal for the '<em><b>Concrete VV Procedure</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VV_PROCEDURE__CONCRETE_VV_PROCEDURE = eINSTANCE.getVVProcedure_ConcreteVVProcedure();
+
+ /**
+ * The meta object literal for the '<em><b>Vv Intended Outcome</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VV_PROCEDURE__VV_INTENDED_OUTCOME = eINSTANCE.getVVProcedure_VvIntendedOutcome();
+
+ /**
+ * The meta object literal for the '<em><b>Vv Stimuli</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VV_PROCEDURE__VV_STIMULI = eINSTANCE.getVVProcedure_VvStimuli();
+
+ }
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "verificationvalidation";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.papyrusuml.org/EAST-ADL2/Requirements/VerificationValidation/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "VerificationValidation";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ VerificationvalidationPackage eINSTANCE = org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVStimuliImpl <em>VV Stimuli</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVStimuliImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl#getVVStimuli()
+ * @generated
+ */
+ int VV_STIMULI = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_STIMULI__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_STIMULI__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_STIMULI__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_STIMULI__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_STIMULI__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_STIMULI__BASE_CLASS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>VV Stimuli</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_STIMULI_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVIntendedOutcomeImpl <em>VV Intended Outcome</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVIntendedOutcomeImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl#getVVIntendedOutcome()
+ * @generated
+ */
+ int VV_INTENDED_OUTCOME = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_INTENDED_OUTCOME__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_INTENDED_OUTCOME__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_INTENDED_OUTCOME__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_INTENDED_OUTCOME__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_INTENDED_OUTCOME__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_INTENDED_OUTCOME__BASE_CLASS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>VV Intended Outcome</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_INTENDED_OUTCOME_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVTargetImpl <em>VV Target</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVTargetImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl#getVVTarget()
+ * @generated
+ */
+ int VV_TARGET = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVLogImpl <em>VV Log</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVLogImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl#getVVLog()
+ * @generated
+ */
+ int VV_LOG = 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVActualOutcomeImpl <em>VV Actual Outcome</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVActualOutcomeImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl#getVVActualOutcome()
+ * @generated
+ */
+ int VV_ACTUAL_OUTCOME = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationValidationImpl <em>Verification Validation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationValidationImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl#getVerificationValidation()
+ * @generated
+ */
+ int VERIFICATION_VALIDATION = 7;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_ACTUAL_OUTCOME__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_ACTUAL_OUTCOME__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_ACTUAL_OUTCOME__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_ACTUAL_OUTCOME__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_ACTUAL_OUTCOME__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_ACTUAL_OUTCOME__BASE_CLASS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Intended Outcome</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_ACTUAL_OUTCOME__INTENDED_OUTCOME = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>VV Actual Outcome</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_ACTUAL_OUTCOME_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVCaseImpl <em>VV Case</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVCaseImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl#getVVCase()
+ * @generated
+ */
+ int VV_CASE = 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_CASE__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_CASE__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_CASE__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_CASE__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_CASE__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_CASE__BASE_CLASS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Vv Case</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_CASE__VV_CASE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Abstract VV Case</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_CASE__ABSTRACT_VV_CASE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Vv Target</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_CASE__VV_TARGET = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Vv Subject</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_CASE__VV_SUBJECT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Vv Log</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_CASE__VV_LOG = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Vv Procedure</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_CASE__VV_PROCEDURE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 6;
+
+ /**
+ * The number of structural features of the '<em>VV Case</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_CASE_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVProcedureImpl <em>VV Procedure</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVProcedureImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl#getVVProcedure()
+ * @generated
+ */
+ int VV_PROCEDURE = 6;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_TARGET__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_TARGET__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_TARGET__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_TARGET__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_TARGET__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_TARGET__BASE_CLASS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_TARGET__ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>VV Target</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_TARGET_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_LOG__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_LOG__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_LOG__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_LOG__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_LOG__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Date</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_LOG__DATE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Vv Actual Outcome</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_LOG__VV_ACTUAL_OUTCOME = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_LOG__BASE_CLASS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Performed VV Procedure</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_LOG__PERFORMED_VV_PROCEDURE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>VV Log</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_LOG_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_PROCEDURE__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_PROCEDURE__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_PROCEDURE__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_PROCEDURE__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_PROCEDURE__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_PROCEDURE__BASE_CLASS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Abstract VV Procedure</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_PROCEDURE__ABSTRACT_VV_PROCEDURE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Concrete VV Procedure</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_PROCEDURE__CONCRETE_VV_PROCEDURE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Vv Intended Outcome</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_PROCEDURE__VV_INTENDED_OUTCOME = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Vv Stimuli</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_PROCEDURE__VV_STIMULI = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>VV Procedure</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VV_PROCEDURE_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VERIFICATION_VALIDATION__NAME = ElementsPackage.CONTEXT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VERIFICATION_VALIDATION__BASE_NAMED_ELEMENT = ElementsPackage.CONTEXT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VERIFICATION_VALIDATION__OWNED_COMMENT = ElementsPackage.CONTEXT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VERIFICATION_VALIDATION__TRACEABLE_SPECIFICATION = ElementsPackage.CONTEXT__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VERIFICATION_VALIDATION__OWNED_RELATIONSHIP = ElementsPackage.CONTEXT__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VERIFICATION_VALIDATION__BASE_CLASS = ElementsPackage.CONTEXT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VERIFICATION_VALIDATION__BASE_PACKAGE = ElementsPackage.CONTEXT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Verify</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VERIFICATION_VALIDATION__VERIFY = ElementsPackage.CONTEXT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Vv Case</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VERIFICATION_VALIDATION__VV_CASE = ElementsPackage.CONTEXT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Vv Target</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VERIFICATION_VALIDATION__VV_TARGET = ElementsPackage.CONTEXT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Verification Validation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VERIFICATION_VALIDATION_FEATURE_COUNT = ElementsPackage.CONTEXT_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerifyImpl <em>Verify</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerifyImpl
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl#getVerify()
+ * @generated
+ */
+ int VERIFY = 8;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VERIFY__NAME = RequirementsPackage.REQUIREMENTS_RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VERIFY__BASE_NAMED_ELEMENT = RequirementsPackage.REQUIREMENTS_RELATIONSHIP__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VERIFY__OWNED_COMMENT = RequirementsPackage.REQUIREMENTS_RELATIONSHIP__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VERIFY__BASE_CLASS = RequirementsPackage.REQUIREMENTS_RELATIONSHIP__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Base Abstraction</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VERIFY__BASE_ABSTRACTION = RequirementsPackage.REQUIREMENTS_RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Verified By Procedure</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VERIFY__VERIFIED_BY_PROCEDURE = RequirementsPackage.REQUIREMENTS_RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Verified By Case</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VERIFY__VERIFIED_BY_CASE = RequirementsPackage.REQUIREMENTS_RELATIONSHIP_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Verified Requirement</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VERIFY__VERIFIED_REQUIREMENT = RequirementsPackage.REQUIREMENTS_RELATIONSHIP_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Verify</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VERIFY_FEATURE_COUNT = RequirementsPackage.REQUIREMENTS_RELATIONSHIP_FEATURE_COUNT + 4;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVStimuli <em>VV Stimuli</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>VV Stimuli</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVStimuli
+ * @generated
+ */
+ EClass getVVStimuli();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVStimuli#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.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVStimuli#getBase_Class()
+ * @see #getVVStimuli()
+ * @generated
+ */
+ EReference getVVStimuli_Base_Class();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVIntendedOutcome <em>VV Intended Outcome</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>VV Intended Outcome</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVIntendedOutcome
+ * @generated
+ */
+ EClass getVVIntendedOutcome();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVIntendedOutcome#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.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVIntendedOutcome#getBase_Class()
+ * @see #getVVIntendedOutcome()
+ * @generated
+ */
+ EReference getVVIntendedOutcome_Base_Class();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVActualOutcome <em>VV Actual Outcome</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>VV Actual Outcome</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVActualOutcome
+ * @generated
+ */
+ EClass getVVActualOutcome();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVActualOutcome#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.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVActualOutcome#getBase_Class()
+ * @see #getVVActualOutcome()
+ * @generated
+ */
+ EReference getVVActualOutcome_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVActualOutcome#getIntendedOutcome <em>Intended Outcome</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Intended Outcome</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVActualOutcome#getIntendedOutcome()
+ * @see #getVVActualOutcome()
+ * @generated
+ */
+ EReference getVVActualOutcome_IntendedOutcome();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase <em>VV Case</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>VV Case</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase
+ * @generated
+ */
+ EClass getVVCase();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase#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.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase#getBase_Class()
+ * @see #getVVCase()
+ * @generated
+ */
+ EReference getVVCase_Base_Class();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase#getVvCase <em>Vv Case</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Vv Case</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase#getVvCase()
+ * @see #getVVCase()
+ * @generated
+ */
+ EReference getVVCase_VvCase();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase#getAbstractVVCase <em>Abstract VV Case</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Abstract VV Case</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase#getAbstractVVCase()
+ * @see #getVVCase()
+ * @generated
+ */
+ EReference getVVCase_AbstractVVCase();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase#getVvTarget <em>Vv Target</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Vv Target</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase#getVvTarget()
+ * @see #getVVCase()
+ * @generated
+ */
+ EReference getVVCase_VvTarget();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase#getVvSubject <em>Vv Subject</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Vv Subject</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase#getVvSubject()
+ * @see #getVVCase()
+ * @generated
+ */
+ EReference getVVCase_VvSubject();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase#getVvLog <em>Vv Log</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Vv Log</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase#getVvLog()
+ * @see #getVVCase()
+ * @generated
+ */
+ EReference getVVCase_VvLog();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase#getVvProcedure <em>Vv Procedure</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Vv Procedure</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase#getVvProcedure()
+ * @see #getVVCase()
+ * @generated
+ */
+ EReference getVVCase_VvProcedure();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVTarget <em>VV Target</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>VV Target</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVTarget
+ * @generated
+ */
+ EClass getVVTarget();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVTarget#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.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVTarget#getBase_Class()
+ * @see #getVVTarget()
+ * @generated
+ */
+ EReference getVVTarget_Base_Class();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVTarget#getElement <em>Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Element</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVTarget#getElement()
+ * @see #getVVTarget()
+ * @generated
+ */
+ EReference getVVTarget_Element();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVLog <em>VV Log</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>VV Log</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVLog
+ * @generated
+ */
+ EClass getVVLog();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVLog#getDate <em>Date</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Date</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVLog#getDate()
+ * @see #getVVLog()
+ * @generated
+ */
+ EAttribute getVVLog_Date();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVLog#getVvActualOutcome <em>Vv Actual Outcome</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Vv Actual Outcome</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVLog#getVvActualOutcome()
+ * @see #getVVLog()
+ * @generated
+ */
+ EReference getVVLog_VvActualOutcome();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVLog#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.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVLog#getBase_Class()
+ * @see #getVVLog()
+ * @generated
+ */
+ EReference getVVLog_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVLog#getPerformedVVProcedure <em>Performed VV Procedure</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Performed VV Procedure</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVLog#getPerformedVVProcedure()
+ * @see #getVVLog()
+ * @generated
+ */
+ EReference getVVLog_PerformedVVProcedure();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure <em>VV Procedure</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>VV Procedure</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure
+ * @generated
+ */
+ EClass getVVProcedure();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure#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.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure#getBase_Class()
+ * @see #getVVProcedure()
+ * @generated
+ */
+ EReference getVVProcedure_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure#getAbstractVVProcedure <em>Abstract VV Procedure</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Abstract VV Procedure</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure#getAbstractVVProcedure()
+ * @see #getVVProcedure()
+ * @generated
+ */
+ EReference getVVProcedure_AbstractVVProcedure();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure#getConcreteVVProcedure <em>Concrete VV Procedure</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Concrete VV Procedure</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure#getConcreteVVProcedure()
+ * @see #getVVProcedure()
+ * @generated
+ */
+ EReference getVVProcedure_ConcreteVVProcedure();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure#getVvIntendedOutcome <em>Vv Intended Outcome</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Vv Intended Outcome</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure#getVvIntendedOutcome()
+ * @see #getVVProcedure()
+ * @generated
+ */
+ EReference getVVProcedure_VvIntendedOutcome();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure#getVvStimuli <em>Vv Stimuli</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Vv Stimuli</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure#getVvStimuli()
+ * @see #getVVProcedure()
+ * @generated
+ */
+ EReference getVVProcedure_VvStimuli();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationValidation <em>Verification Validation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Verification Validation</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationValidation
+ * @generated
+ */
+ EClass getVerificationValidation();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationValidation#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.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationValidation#getBase_Class()
+ * @see #getVerificationValidation()
+ * @generated
+ */
+ EReference getVerificationValidation_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationValidation#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.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationValidation#getBase_Package()
+ * @see #getVerificationValidation()
+ * @generated
+ */
+ EReference getVerificationValidation_Base_Package();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationValidation#getVerify <em>Verify</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Verify</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationValidation#getVerify()
+ * @see #getVerificationValidation()
+ * @generated
+ */
+ EReference getVerificationValidation_Verify();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationValidation#getVvCase <em>Vv Case</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Vv Case</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationValidation#getVvCase()
+ * @see #getVerificationValidation()
+ * @generated
+ */
+ EReference getVerificationValidation_VvCase();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationValidation#getVvTarget <em>Vv Target</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Vv Target</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationValidation#getVvTarget()
+ * @see #getVerificationValidation()
+ * @generated
+ */
+ EReference getVerificationValidation_VvTarget();
+
+ /**
+ * 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
+ */
+ VerificationvalidationFactory getVerificationvalidationFactory();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.Verify <em>Verify</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Verify</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.Verify
+ * @generated
+ */
+ EClass getVerify();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.Verify#getVerifiedByCase <em>Verified By Case</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Verified By Case</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.Verify#getVerifiedByCase()
+ * @see #getVerify()
+ * @generated
+ */
+ EReference getVerify_VerifiedByCase();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.Verify#getVerifiedByProcedure <em>Verified By Procedure</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Verified By Procedure</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.Verify#getVerifiedByProcedure()
+ * @see #getVerify()
+ * @generated
+ */
+ EReference getVerify_VerifiedByProcedure();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.Verify#getVerifiedRequirement <em>Verified Requirement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Verified Requirement</em>'.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.Verify#getVerifiedRequirement()
+ * @see #getVerify()
+ * @generated
+ */
+ EReference getVerify_VerifiedRequirement();
+
+} //VerificationvalidationPackage
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/Verify.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/Verify.java
new file mode 100644
index 00000000000..231340f2220
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/Verify.java
@@ -0,0 +1,102 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.verificationvalidation;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.requirements.Requirement;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsRelationship;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Verify</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The Verify is a relationship metaclass, which signifies a dependency relationship between a Requirement and a VVCase, showing the relationship when a client VVCase verifies the supplier Requirement.
+ *
+ * Semantics:
+ * The Verify metaclass signifies a refined requirement/verified by relationship between a Requirement and a VVCase, where the modification of the supplier Requirement may impact the verifying client VVCase. The Verify metaclass implies the semantics that the verifying client VVCase is not complete, without the supplier Requirement.
+ *
+ * Notation:
+ * A Verify relationship is shown as a dashed arrow between the Requirements and VVCase.
+ *
+ * Extension:
+ * To specializes SysML::Verify, which specializes the UML stereotype Trace, which extends Dependency.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.Verify#getVerifiedByProcedure <em>Verified By Procedure</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.Verify#getVerifiedByCase <em>Verified By Case</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.Verify#getVerifiedRequirement <em>Verified Requirement</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVerify()
+ * @model
+ * @generated
+ */
+public interface Verify extends RequirementsRelationship, org.eclipse.papyrus.sysml.requirements.Verify {
+ /**
+ * Returns the value of the '<em><b>Verified By Case</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The verification that verifies the supplier requirement(s).
+ * {derived from UML::DirectedRelationship::source}
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Verified By Case</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVerify_VerifiedByCase()
+ * @model required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<VVCase> getVerifiedByCase();
+
+ /**
+ * Returns the value of the '<em><b>Verified By Procedure</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The procedures used to verify the requirements.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Verified By Procedure</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVerify_VerifiedByProcedure()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<VVProcedure> getVerifiedByProcedure();
+
+ /**
+ * Returns the value of the '<em><b>Verified Requirement</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.requirements.Requirement}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The set of ADL requirements which the client VV cases verify.
+ * {derived from UML::DirectedRelationship::target}
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Verified Requirement</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#getVerify_VerifiedRequirement()
+ * @model required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<Requirement> getVerifiedRequirement();
+
+} // Verify
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VVActualOutcomeImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VVActualOutcomeImpl.java
new file mode 100644
index 00000000000..9f80c0cee0e
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VVActualOutcomeImpl.java
@@ -0,0 +1,228 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.verificationvalidation.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.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVActualOutcome;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVIntendedOutcome;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>VV Actual Outcome</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVActualOutcomeImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVActualOutcomeImpl#getIntendedOutcome <em>Intended Outcome</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class VVActualOutcomeImpl extends TraceableSpecificationImpl implements VVActualOutcome {
+ /**
+ * 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 cached value of the '{@link #getIntendedOutcome() <em>Intended Outcome</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIntendedOutcome()
+ * @generated
+ * @ordered
+ */
+ protected VVIntendedOutcome intendedOutcome;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected VVActualOutcomeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- 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 VVIntendedOutcome basicGetIntendedOutcome() {
+ return intendedOutcome;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VV_ACTUAL_OUTCOME__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case VerificationvalidationPackage.VV_ACTUAL_OUTCOME__INTENDED_OUTCOME:
+ if (resolve) return getIntendedOutcome();
+ return basicGetIntendedOutcome();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VV_ACTUAL_OUTCOME__BASE_CLASS:
+ return base_Class != null;
+ case VerificationvalidationPackage.VV_ACTUAL_OUTCOME__INTENDED_OUTCOME:
+ return intendedOutcome != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VV_ACTUAL_OUTCOME__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case VerificationvalidationPackage.VV_ACTUAL_OUTCOME__INTENDED_OUTCOME:
+ setIntendedOutcome((VVIntendedOutcome)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VerificationvalidationPackage.Literals.VV_ACTUAL_OUTCOME;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VV_ACTUAL_OUTCOME__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case VerificationvalidationPackage.VV_ACTUAL_OUTCOME__INTENDED_OUTCOME:
+ setIntendedOutcome((VVIntendedOutcome)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- 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, VerificationvalidationPackage.VV_ACTUAL_OUTCOME__BASE_CLASS, oldBase_Class, base_Class));
+ }
+ }
+ return base_Class;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VVIntendedOutcome getIntendedOutcome() {
+ if (intendedOutcome != null && intendedOutcome.eIsProxy()) {
+ InternalEObject oldIntendedOutcome = (InternalEObject)intendedOutcome;
+ intendedOutcome = (VVIntendedOutcome)eResolveProxy(oldIntendedOutcome);
+ if (intendedOutcome != oldIntendedOutcome) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, VerificationvalidationPackage.VV_ACTUAL_OUTCOME__INTENDED_OUTCOME, oldIntendedOutcome, intendedOutcome));
+ }
+ }
+ return intendedOutcome;
+ }
+
+ /**
+ * <!-- 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, VerificationvalidationPackage.VV_ACTUAL_OUTCOME__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIntendedOutcome(VVIntendedOutcome newIntendedOutcome) {
+ VVIntendedOutcome oldIntendedOutcome = intendedOutcome;
+ intendedOutcome = newIntendedOutcome;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VerificationvalidationPackage.VV_ACTUAL_OUTCOME__INTENDED_OUTCOME, oldIntendedOutcome, intendedOutcome));
+ }
+
+} //VVActualOutcomeImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VVCaseImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VVCaseImpl.java
new file mode 100644
index 00000000000..13c64ad2a4e
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VVCaseImpl.java
@@ -0,0 +1,406 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.verificationvalidation.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.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVLog;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVTarget;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.uml2.uml.NamedElement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>VV Case</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVCaseImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVCaseImpl#getVvCase <em>Vv Case</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVCaseImpl#getAbstractVVCase <em>Abstract VV Case</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVCaseImpl#getVvTarget <em>Vv Target</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVCaseImpl#getVvSubject <em>Vv Subject</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVCaseImpl#getVvLog <em>Vv Log</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVCaseImpl#getVvProcedure <em>Vv Procedure</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class VVCaseImpl extends TraceableSpecificationImpl implements VVCase {
+ /**
+ * 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 cached value of the '{@link #getVvCase() <em>Vv Case</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVvCase()
+ * @generated
+ * @ordered
+ */
+ protected EList<VVCase> vvCase;
+
+ /**
+ * The cached value of the '{@link #getAbstractVVCase() <em>Abstract VV Case</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAbstractVVCase()
+ * @generated
+ * @ordered
+ */
+ protected VVCase abstractVVCase;
+
+ /**
+ * The cached value of the '{@link #getVvTarget() <em>Vv Target</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVvTarget()
+ * @generated
+ * @ordered
+ */
+ protected EList<VVTarget> vvTarget;
+
+ /**
+ * The cached value of the '{@link #getVvSubject() <em>Vv Subject</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVvSubject()
+ * @generated
+ * @ordered
+ */
+ protected EList<NamedElement> vvSubject;
+
+ /**
+ * The cached value of the '{@link #getVvLog() <em>Vv Log</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVvLog()
+ * @generated
+ * @ordered
+ */
+ protected EList<VVLog> vvLog;
+
+ /**
+ * The cached value of the '{@link #getVvProcedure() <em>Vv Procedure</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVvProcedure()
+ * @generated
+ * @ordered
+ */
+ protected EList<VVProcedure> vvProcedure;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected VVCaseImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VVCase basicGetAbstractVVCase() {
+ return abstractVVCase;
+ }
+
+ /**
+ * <!-- 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
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VV_CASE__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case VerificationvalidationPackage.VV_CASE__VV_CASE:
+ return getVvCase();
+ case VerificationvalidationPackage.VV_CASE__ABSTRACT_VV_CASE:
+ if (resolve) return getAbstractVVCase();
+ return basicGetAbstractVVCase();
+ case VerificationvalidationPackage.VV_CASE__VV_TARGET:
+ return getVvTarget();
+ case VerificationvalidationPackage.VV_CASE__VV_SUBJECT:
+ return getVvSubject();
+ case VerificationvalidationPackage.VV_CASE__VV_LOG:
+ return getVvLog();
+ case VerificationvalidationPackage.VV_CASE__VV_PROCEDURE:
+ return getVvProcedure();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VV_CASE__BASE_CLASS:
+ return base_Class != null;
+ case VerificationvalidationPackage.VV_CASE__VV_CASE:
+ return vvCase != null && !vvCase.isEmpty();
+ case VerificationvalidationPackage.VV_CASE__ABSTRACT_VV_CASE:
+ return abstractVVCase != null;
+ case VerificationvalidationPackage.VV_CASE__VV_TARGET:
+ return vvTarget != null && !vvTarget.isEmpty();
+ case VerificationvalidationPackage.VV_CASE__VV_SUBJECT:
+ return vvSubject != null && !vvSubject.isEmpty();
+ case VerificationvalidationPackage.VV_CASE__VV_LOG:
+ return vvLog != null && !vvLog.isEmpty();
+ case VerificationvalidationPackage.VV_CASE__VV_PROCEDURE:
+ return vvProcedure != null && !vvProcedure.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VV_CASE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case VerificationvalidationPackage.VV_CASE__VV_CASE:
+ getVvCase().clear();
+ getVvCase().addAll((Collection<? extends VVCase>)newValue);
+ return;
+ case VerificationvalidationPackage.VV_CASE__ABSTRACT_VV_CASE:
+ setAbstractVVCase((VVCase)newValue);
+ return;
+ case VerificationvalidationPackage.VV_CASE__VV_TARGET:
+ getVvTarget().clear();
+ getVvTarget().addAll((Collection<? extends VVTarget>)newValue);
+ return;
+ case VerificationvalidationPackage.VV_CASE__VV_SUBJECT:
+ getVvSubject().clear();
+ getVvSubject().addAll((Collection<? extends NamedElement>)newValue);
+ return;
+ case VerificationvalidationPackage.VV_CASE__VV_LOG:
+ getVvLog().clear();
+ getVvLog().addAll((Collection<? extends VVLog>)newValue);
+ return;
+ case VerificationvalidationPackage.VV_CASE__VV_PROCEDURE:
+ getVvProcedure().clear();
+ getVvProcedure().addAll((Collection<? extends VVProcedure>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VerificationvalidationPackage.Literals.VV_CASE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VV_CASE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case VerificationvalidationPackage.VV_CASE__VV_CASE:
+ getVvCase().clear();
+ return;
+ case VerificationvalidationPackage.VV_CASE__ABSTRACT_VV_CASE:
+ setAbstractVVCase((VVCase)null);
+ return;
+ case VerificationvalidationPackage.VV_CASE__VV_TARGET:
+ getVvTarget().clear();
+ return;
+ case VerificationvalidationPackage.VV_CASE__VV_SUBJECT:
+ getVvSubject().clear();
+ return;
+ case VerificationvalidationPackage.VV_CASE__VV_LOG:
+ getVvLog().clear();
+ return;
+ case VerificationvalidationPackage.VV_CASE__VV_PROCEDURE:
+ getVvProcedure().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VVCase getAbstractVVCase() {
+ if (abstractVVCase != null && abstractVVCase.eIsProxy()) {
+ InternalEObject oldAbstractVVCase = (InternalEObject)abstractVVCase;
+ abstractVVCase = (VVCase)eResolveProxy(oldAbstractVVCase);
+ if (abstractVVCase != oldAbstractVVCase) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, VerificationvalidationPackage.VV_CASE__ABSTRACT_VV_CASE, oldAbstractVVCase, abstractVVCase));
+ }
+ }
+ return abstractVVCase;
+ }
+
+ /**
+ * <!-- 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, VerificationvalidationPackage.VV_CASE__BASE_CLASS, oldBase_Class, base_Class));
+ }
+ }
+ return base_Class;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<VVCase> getVvCase() {
+ if (vvCase == null) {
+ vvCase = new EObjectResolvingEList<VVCase>(VVCase.class, this, VerificationvalidationPackage.VV_CASE__VV_CASE);
+ }
+ return vvCase;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<VVLog> getVvLog() {
+ if (vvLog == null) {
+ vvLog = new EObjectResolvingEList<VVLog>(VVLog.class, this, VerificationvalidationPackage.VV_CASE__VV_LOG);
+ }
+ return vvLog;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<VVProcedure> getVvProcedure() {
+ if (vvProcedure == null) {
+ vvProcedure = new EObjectResolvingEList<VVProcedure>(VVProcedure.class, this, VerificationvalidationPackage.VV_CASE__VV_PROCEDURE);
+ }
+ return vvProcedure;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<NamedElement> getVvSubject() {
+ if (vvSubject == null) {
+ vvSubject = new EObjectResolvingEList<NamedElement>(NamedElement.class, this, VerificationvalidationPackage.VV_CASE__VV_SUBJECT);
+ }
+ return vvSubject;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<VVTarget> getVvTarget() {
+ if (vvTarget == null) {
+ vvTarget = new EObjectResolvingEList<VVTarget>(VVTarget.class, this, VerificationvalidationPackage.VV_CASE__VV_TARGET);
+ }
+ return vvTarget;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAbstractVVCase(VVCase newAbstractVVCase) {
+ VVCase oldAbstractVVCase = abstractVVCase;
+ abstractVVCase = newAbstractVVCase;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VerificationvalidationPackage.VV_CASE__ABSTRACT_VV_CASE, oldAbstractVVCase, abstractVVCase));
+ }
+
+ /**
+ * <!-- 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, VerificationvalidationPackage.VV_CASE__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+} //VVCaseImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VVIntendedOutcomeImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VVIntendedOutcomeImpl.java
new file mode 100644
index 00000000000..30c5b404916
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VVIntendedOutcomeImpl.java
@@ -0,0 +1,167 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.verificationvalidation.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.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVIntendedOutcome;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>VV Intended Outcome</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVIntendedOutcomeImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class VVIntendedOutcomeImpl extends TraceableSpecificationImpl implements VVIntendedOutcome {
+ /**
+ * 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 VVIntendedOutcomeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- 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
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VV_INTENDED_OUTCOME__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 boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VV_INTENDED_OUTCOME__BASE_CLASS:
+ return base_Class != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VV_INTENDED_OUTCOME__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VerificationvalidationPackage.Literals.VV_INTENDED_OUTCOME;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VV_INTENDED_OUTCOME__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- 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, VerificationvalidationPackage.VV_INTENDED_OUTCOME__BASE_CLASS, oldBase_Class, base_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, VerificationvalidationPackage.VV_INTENDED_OUTCOME__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+} //VVIntendedOutcomeImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VVLogImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VVLogImpl.java
new file mode 100644
index 00000000000..4c8d37b46ca
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VVLogImpl.java
@@ -0,0 +1,336 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.verificationvalidation.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.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVActualOutcome;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVLog;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>VV Log</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVLogImpl#getDate <em>Date</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVLogImpl#getVvActualOutcome <em>Vv Actual Outcome</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVLogImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVLogImpl#getPerformedVVProcedure <em>Performed VV Procedure</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class VVLogImpl extends TraceableSpecificationImpl implements VVLog {
+ /**
+ * The default value of the '{@link #getDate() <em>Date</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDate()
+ * @generated
+ * @ordered
+ */
+ protected static final String DATE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDate() <em>Date</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDate()
+ * @generated
+ * @ordered
+ */
+ protected String date = DATE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getVvActualOutcome() <em>Vv Actual Outcome</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVvActualOutcome()
+ * @generated
+ * @ordered
+ */
+ protected EList<VVActualOutcome> vvActualOutcome;
+
+ /**
+ * 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 cached value of the '{@link #getPerformedVVProcedure() <em>Performed VV Procedure</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPerformedVVProcedure()
+ * @generated
+ * @ordered
+ */
+ protected VVProcedure performedVVProcedure;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected VVLogImpl() {
+ super();
+ }
+
+ /**
+ * <!-- 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 VVProcedure basicGetPerformedVVProcedure() {
+ return performedVVProcedure;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VV_LOG__DATE:
+ return getDate();
+ case VerificationvalidationPackage.VV_LOG__VV_ACTUAL_OUTCOME:
+ return getVvActualOutcome();
+ case VerificationvalidationPackage.VV_LOG__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case VerificationvalidationPackage.VV_LOG__PERFORMED_VV_PROCEDURE:
+ if (resolve) return getPerformedVVProcedure();
+ return basicGetPerformedVVProcedure();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VV_LOG__DATE:
+ return DATE_EDEFAULT == null ? date != null : !DATE_EDEFAULT.equals(date);
+ case VerificationvalidationPackage.VV_LOG__VV_ACTUAL_OUTCOME:
+ return vvActualOutcome != null && !vvActualOutcome.isEmpty();
+ case VerificationvalidationPackage.VV_LOG__BASE_CLASS:
+ return base_Class != null;
+ case VerificationvalidationPackage.VV_LOG__PERFORMED_VV_PROCEDURE:
+ return performedVVProcedure != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VV_LOG__DATE:
+ setDate((String)newValue);
+ return;
+ case VerificationvalidationPackage.VV_LOG__VV_ACTUAL_OUTCOME:
+ getVvActualOutcome().clear();
+ getVvActualOutcome().addAll((Collection<? extends VVActualOutcome>)newValue);
+ return;
+ case VerificationvalidationPackage.VV_LOG__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case VerificationvalidationPackage.VV_LOG__PERFORMED_VV_PROCEDURE:
+ setPerformedVVProcedure((VVProcedure)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VerificationvalidationPackage.Literals.VV_LOG;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VV_LOG__DATE:
+ setDate(DATE_EDEFAULT);
+ return;
+ case VerificationvalidationPackage.VV_LOG__VV_ACTUAL_OUTCOME:
+ getVvActualOutcome().clear();
+ return;
+ case VerificationvalidationPackage.VV_LOG__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case VerificationvalidationPackage.VV_LOG__PERFORMED_VV_PROCEDURE:
+ setPerformedVVProcedure((VVProcedure)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- 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, VerificationvalidationPackage.VV_LOG__BASE_CLASS, oldBase_Class, base_Class));
+ }
+ }
+ return base_Class;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDate() {
+ return date;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VVProcedure getPerformedVVProcedure() {
+ if (performedVVProcedure != null && performedVVProcedure.eIsProxy()) {
+ InternalEObject oldPerformedVVProcedure = (InternalEObject)performedVVProcedure;
+ performedVVProcedure = (VVProcedure)eResolveProxy(oldPerformedVVProcedure);
+ if (performedVVProcedure != oldPerformedVVProcedure) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, VerificationvalidationPackage.VV_LOG__PERFORMED_VV_PROCEDURE, oldPerformedVVProcedure, performedVVProcedure));
+ }
+ }
+ return performedVVProcedure;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<VVActualOutcome> getVvActualOutcome() {
+ if (vvActualOutcome == null) {
+ vvActualOutcome = new EObjectResolvingEList<VVActualOutcome>(VVActualOutcome.class, this, VerificationvalidationPackage.VV_LOG__VV_ACTUAL_OUTCOME);
+ }
+ return vvActualOutcome;
+ }
+
+ /**
+ * <!-- 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, VerificationvalidationPackage.VV_LOG__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDate(String newDate) {
+ String oldDate = date;
+ date = newDate;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VerificationvalidationPackage.VV_LOG__DATE, oldDate, date));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPerformedVVProcedure(VVProcedure newPerformedVVProcedure) {
+ VVProcedure oldPerformedVVProcedure = performedVVProcedure;
+ performedVVProcedure = newPerformedVVProcedure;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VerificationvalidationPackage.VV_LOG__PERFORMED_VV_PROCEDURE, oldPerformedVVProcedure, performedVVProcedure));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (date: ");
+ result.append(date);
+ result.append(')');
+ return result.toString();
+ }
+
+} //VVLogImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VVProcedureImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VVProcedureImpl.java
new file mode 100644
index 00000000000..a5581ac5c1b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VVProcedureImpl.java
@@ -0,0 +1,336 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.verificationvalidation.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.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVIntendedOutcome;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVStimuli;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>VV Procedure</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVProcedureImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVProcedureImpl#getAbstractVVProcedure <em>Abstract VV Procedure</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVProcedureImpl#getConcreteVVProcedure <em>Concrete VV Procedure</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVProcedureImpl#getVvIntendedOutcome <em>Vv Intended Outcome</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVProcedureImpl#getVvStimuli <em>Vv Stimuli</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class VVProcedureImpl extends TraceableSpecificationImpl implements VVProcedure {
+ /**
+ * 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 cached value of the '{@link #getAbstractVVProcedure() <em>Abstract VV Procedure</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAbstractVVProcedure()
+ * @generated
+ * @ordered
+ */
+ protected VVProcedure abstractVVProcedure;
+
+ /**
+ * The cached value of the '{@link #getConcreteVVProcedure() <em>Concrete VV Procedure</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConcreteVVProcedure()
+ * @generated
+ * @ordered
+ */
+ protected EList<VVProcedure> concreteVVProcedure;
+
+ /**
+ * The cached value of the '{@link #getVvIntendedOutcome() <em>Vv Intended Outcome</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVvIntendedOutcome()
+ * @generated
+ * @ordered
+ */
+ protected EList<VVIntendedOutcome> vvIntendedOutcome;
+
+ /**
+ * The cached value of the '{@link #getVvStimuli() <em>Vv Stimuli</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVvStimuli()
+ * @generated
+ * @ordered
+ */
+ protected EList<VVStimuli> vvStimuli;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected VVProcedureImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VVProcedure basicGetAbstractVVProcedure() {
+ return abstractVVProcedure;
+ }
+
+ /**
+ * <!-- 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
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VV_PROCEDURE__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case VerificationvalidationPackage.VV_PROCEDURE__ABSTRACT_VV_PROCEDURE:
+ if (resolve) return getAbstractVVProcedure();
+ return basicGetAbstractVVProcedure();
+ case VerificationvalidationPackage.VV_PROCEDURE__CONCRETE_VV_PROCEDURE:
+ return getConcreteVVProcedure();
+ case VerificationvalidationPackage.VV_PROCEDURE__VV_INTENDED_OUTCOME:
+ return getVvIntendedOutcome();
+ case VerificationvalidationPackage.VV_PROCEDURE__VV_STIMULI:
+ return getVvStimuli();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VV_PROCEDURE__BASE_CLASS:
+ return base_Class != null;
+ case VerificationvalidationPackage.VV_PROCEDURE__ABSTRACT_VV_PROCEDURE:
+ return abstractVVProcedure != null;
+ case VerificationvalidationPackage.VV_PROCEDURE__CONCRETE_VV_PROCEDURE:
+ return concreteVVProcedure != null && !concreteVVProcedure.isEmpty();
+ case VerificationvalidationPackage.VV_PROCEDURE__VV_INTENDED_OUTCOME:
+ return vvIntendedOutcome != null && !vvIntendedOutcome.isEmpty();
+ case VerificationvalidationPackage.VV_PROCEDURE__VV_STIMULI:
+ return vvStimuli != null && !vvStimuli.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VV_PROCEDURE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case VerificationvalidationPackage.VV_PROCEDURE__ABSTRACT_VV_PROCEDURE:
+ setAbstractVVProcedure((VVProcedure)newValue);
+ return;
+ case VerificationvalidationPackage.VV_PROCEDURE__CONCRETE_VV_PROCEDURE:
+ getConcreteVVProcedure().clear();
+ getConcreteVVProcedure().addAll((Collection<? extends VVProcedure>)newValue);
+ return;
+ case VerificationvalidationPackage.VV_PROCEDURE__VV_INTENDED_OUTCOME:
+ getVvIntendedOutcome().clear();
+ getVvIntendedOutcome().addAll((Collection<? extends VVIntendedOutcome>)newValue);
+ return;
+ case VerificationvalidationPackage.VV_PROCEDURE__VV_STIMULI:
+ getVvStimuli().clear();
+ getVvStimuli().addAll((Collection<? extends VVStimuli>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VerificationvalidationPackage.Literals.VV_PROCEDURE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VV_PROCEDURE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case VerificationvalidationPackage.VV_PROCEDURE__ABSTRACT_VV_PROCEDURE:
+ setAbstractVVProcedure((VVProcedure)null);
+ return;
+ case VerificationvalidationPackage.VV_PROCEDURE__CONCRETE_VV_PROCEDURE:
+ getConcreteVVProcedure().clear();
+ return;
+ case VerificationvalidationPackage.VV_PROCEDURE__VV_INTENDED_OUTCOME:
+ getVvIntendedOutcome().clear();
+ return;
+ case VerificationvalidationPackage.VV_PROCEDURE__VV_STIMULI:
+ getVvStimuli().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VVProcedure getAbstractVVProcedure() {
+ if (abstractVVProcedure != null && abstractVVProcedure.eIsProxy()) {
+ InternalEObject oldAbstractVVProcedure = (InternalEObject)abstractVVProcedure;
+ abstractVVProcedure = (VVProcedure)eResolveProxy(oldAbstractVVProcedure);
+ if (abstractVVProcedure != oldAbstractVVProcedure) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, VerificationvalidationPackage.VV_PROCEDURE__ABSTRACT_VV_PROCEDURE, oldAbstractVVProcedure, abstractVVProcedure));
+ }
+ }
+ return abstractVVProcedure;
+ }
+
+ /**
+ * <!-- 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, VerificationvalidationPackage.VV_PROCEDURE__BASE_CLASS, oldBase_Class, base_Class));
+ }
+ }
+ return base_Class;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<VVProcedure> getConcreteVVProcedure() {
+ if (concreteVVProcedure == null) {
+ concreteVVProcedure = new EObjectResolvingEList<VVProcedure>(VVProcedure.class, this, VerificationvalidationPackage.VV_PROCEDURE__CONCRETE_VV_PROCEDURE);
+ }
+ return concreteVVProcedure;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<VVIntendedOutcome> getVvIntendedOutcome() {
+ if (vvIntendedOutcome == null) {
+ vvIntendedOutcome = new EObjectResolvingEList<VVIntendedOutcome>(VVIntendedOutcome.class, this, VerificationvalidationPackage.VV_PROCEDURE__VV_INTENDED_OUTCOME);
+ }
+ return vvIntendedOutcome;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<VVStimuli> getVvStimuli() {
+ if (vvStimuli == null) {
+ vvStimuli = new EObjectResolvingEList<VVStimuli>(VVStimuli.class, this, VerificationvalidationPackage.VV_PROCEDURE__VV_STIMULI);
+ }
+ return vvStimuli;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAbstractVVProcedure(VVProcedure newAbstractVVProcedure) {
+ VVProcedure oldAbstractVVProcedure = abstractVVProcedure;
+ abstractVVProcedure = newAbstractVVProcedure;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VerificationvalidationPackage.VV_PROCEDURE__ABSTRACT_VV_PROCEDURE, oldAbstractVVProcedure, abstractVVProcedure));
+ }
+
+ /**
+ * <!-- 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, VerificationvalidationPackage.VV_PROCEDURE__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+} //VVProcedureImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VVStimuliImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VVStimuliImpl.java
new file mode 100644
index 00000000000..fbcfb526564
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VVStimuliImpl.java
@@ -0,0 +1,167 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.verificationvalidation.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.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVStimuli;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>VV Stimuli</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVStimuliImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class VVStimuliImpl extends TraceableSpecificationImpl implements VVStimuli {
+ /**
+ * 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 VVStimuliImpl() {
+ super();
+ }
+
+ /**
+ * <!-- 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
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VV_STIMULI__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 boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VV_STIMULI__BASE_CLASS:
+ return base_Class != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VV_STIMULI__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VerificationvalidationPackage.Literals.VV_STIMULI;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VV_STIMULI__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- 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, VerificationvalidationPackage.VV_STIMULI__BASE_CLASS, oldBase_Class, base_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, VerificationvalidationPackage.VV_STIMULI__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+} //VVStimuliImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VVTargetImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VVTargetImpl.java
new file mode 100644
index 00000000000..91adba5685c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VVTargetImpl.java
@@ -0,0 +1,207 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.verificationvalidation.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.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVTarget;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.uml2.uml.NamedElement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>VV Target</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVTargetImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VVTargetImpl#getElement <em>Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class VVTargetImpl extends TraceableSpecificationImpl implements VVTarget {
+ /**
+ * 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 cached value of the '{@link #getElement() <em>Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElement()
+ * @generated
+ * @ordered
+ */
+ protected EList<NamedElement> element;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected VVTargetImpl() {
+ super();
+ }
+
+ /**
+ * <!-- 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
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VV_TARGET__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case VerificationvalidationPackage.VV_TARGET__ELEMENT:
+ return getElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VV_TARGET__BASE_CLASS:
+ return base_Class != null;
+ case VerificationvalidationPackage.VV_TARGET__ELEMENT:
+ return element != null && !element.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VV_TARGET__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case VerificationvalidationPackage.VV_TARGET__ELEMENT:
+ getElement().clear();
+ getElement().addAll((Collection<? extends NamedElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VerificationvalidationPackage.Literals.VV_TARGET;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VV_TARGET__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case VerificationvalidationPackage.VV_TARGET__ELEMENT:
+ getElement().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- 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, VerificationvalidationPackage.VV_TARGET__BASE_CLASS, oldBase_Class, base_Class));
+ }
+ }
+ return base_Class;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<NamedElement> getElement() {
+ if (element == null) {
+ element = new EObjectResolvingEList<NamedElement>(NamedElement.class, this, VerificationvalidationPackage.VV_TARGET__ELEMENT);
+ }
+ return element;
+ }
+
+ /**
+ * <!-- 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, VerificationvalidationPackage.VV_TARGET__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+} //VVTargetImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VerificationValidationImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VerificationValidationImpl.java
new file mode 100644
index 00000000000..16794b2c631
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VerificationValidationImpl.java
@@ -0,0 +1,338 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.verificationvalidation.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.eastadl.infrastructure.elements.impl.ContextImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVTarget;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationValidation;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.Verify;
+
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Verification Validation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationValidationImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationValidationImpl#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationValidationImpl#getVerify <em>Verify</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationValidationImpl#getVvCase <em>Vv Case</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationValidationImpl#getVvTarget <em>Vv Target</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class VerificationValidationImpl extends ContextImpl implements VerificationValidation {
+ /**
+ * 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 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 #getVerify() <em>Verify</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVerify()
+ * @generated
+ * @ordered
+ */
+ protected EList<Verify> verify;
+
+ /**
+ * The cached value of the '{@link #getVvCase() <em>Vv Case</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVvCase()
+ * @generated
+ * @ordered
+ */
+ protected EList<VVCase> vvCase;
+
+ /**
+ * The cached value of the '{@link #getVvTarget() <em>Vv Target</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVvTarget()
+ * @generated
+ * @ordered
+ */
+ protected EList<VVTarget> vvTarget;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected VerificationValidationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VERIFICATION_VALIDATION__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case VerificationvalidationPackage.VERIFICATION_VALIDATION__BASE_PACKAGE:
+ if (resolve) return getBase_Package();
+ return basicGetBase_Package();
+ case VerificationvalidationPackage.VERIFICATION_VALIDATION__VERIFY:
+ return getVerify();
+ case VerificationvalidationPackage.VERIFICATION_VALIDATION__VV_CASE:
+ return getVvCase();
+ case VerificationvalidationPackage.VERIFICATION_VALIDATION__VV_TARGET:
+ return getVvTarget();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VERIFICATION_VALIDATION__BASE_CLASS:
+ return base_Class != null;
+ case VerificationvalidationPackage.VERIFICATION_VALIDATION__BASE_PACKAGE:
+ return base_Package != null;
+ case VerificationvalidationPackage.VERIFICATION_VALIDATION__VERIFY:
+ return verify != null && !verify.isEmpty();
+ case VerificationvalidationPackage.VERIFICATION_VALIDATION__VV_CASE:
+ return vvCase != null && !vvCase.isEmpty();
+ case VerificationvalidationPackage.VERIFICATION_VALIDATION__VV_TARGET:
+ return vvTarget != null && !vvTarget.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VERIFICATION_VALIDATION__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case VerificationvalidationPackage.VERIFICATION_VALIDATION__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+ return;
+ case VerificationvalidationPackage.VERIFICATION_VALIDATION__VERIFY:
+ getVerify().clear();
+ getVerify().addAll((Collection<? extends Verify>)newValue);
+ return;
+ case VerificationvalidationPackage.VERIFICATION_VALIDATION__VV_CASE:
+ getVvCase().clear();
+ getVvCase().addAll((Collection<? extends VVCase>)newValue);
+ return;
+ case VerificationvalidationPackage.VERIFICATION_VALIDATION__VV_TARGET:
+ getVvTarget().clear();
+ getVvTarget().addAll((Collection<? extends VVTarget>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VerificationvalidationPackage.Literals.VERIFICATION_VALIDATION;
+ }
+
+ /**
+ * <!-- 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, VerificationvalidationPackage.VERIFICATION_VALIDATION__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, VerificationvalidationPackage.VERIFICATION_VALIDATION__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- 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, VerificationvalidationPackage.VERIFICATION_VALIDATION__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, VerificationvalidationPackage.VERIFICATION_VALIDATION__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VERIFICATION_VALIDATION__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case VerificationvalidationPackage.VERIFICATION_VALIDATION__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)null);
+ return;
+ case VerificationvalidationPackage.VERIFICATION_VALIDATION__VERIFY:
+ getVerify().clear();
+ return;
+ case VerificationvalidationPackage.VERIFICATION_VALIDATION__VV_CASE:
+ getVvCase().clear();
+ return;
+ case VerificationvalidationPackage.VERIFICATION_VALIDATION__VV_TARGET:
+ getVvTarget().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Verify> getVerify() {
+ if (verify == null) {
+ verify = new EObjectResolvingEList<Verify>(Verify.class, this, VerificationvalidationPackage.VERIFICATION_VALIDATION__VERIFY);
+ }
+ return verify;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<VVCase> getVvCase() {
+ if (vvCase == null) {
+ vvCase = new EObjectResolvingEList<VVCase>(VVCase.class, this, VerificationvalidationPackage.VERIFICATION_VALIDATION__VV_CASE);
+ }
+ return vvCase;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<VVTarget> getVvTarget() {
+ if (vvTarget == null) {
+ vvTarget = new EObjectResolvingEList<VVTarget>(VVTarget.class, this, VerificationvalidationPackage.VERIFICATION_VALIDATION__VV_TARGET);
+ }
+ return vvTarget;
+ }
+
+} //VerificationValidationImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VerificationvalidationFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VerificationvalidationFactoryImpl.java
new file mode 100644
index 00000000000..1ea1d69e5aa
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VerificationvalidationFactoryImpl.java
@@ -0,0 +1,204 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.verificationvalidation.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.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVActualOutcome;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVIntendedOutcome;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVLog;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVStimuli;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVTarget;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationValidation;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationFactory;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.Verify;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class VerificationvalidationFactoryImpl extends EFactoryImpl implements VerificationvalidationFactory {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static VerificationvalidationPackage getPackage() {
+ return VerificationvalidationPackage.eINSTANCE;
+ }
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static VerificationvalidationFactory init() {
+ try {
+ VerificationvalidationFactory theVerificationvalidationFactory = (VerificationvalidationFactory)EPackage.Registry.INSTANCE.getEFactory(VerificationvalidationPackage.eNS_URI);
+ if (theVerificationvalidationFactory != null) {
+ return theVerificationvalidationFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new VerificationvalidationFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VerificationvalidationFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case VerificationvalidationPackage.VV_STIMULI: return createVVStimuli();
+ case VerificationvalidationPackage.VV_INTENDED_OUTCOME: return createVVIntendedOutcome();
+ case VerificationvalidationPackage.VV_ACTUAL_OUTCOME: return createVVActualOutcome();
+ case VerificationvalidationPackage.VV_CASE: return createVVCase();
+ case VerificationvalidationPackage.VV_TARGET: return createVVTarget();
+ case VerificationvalidationPackage.VV_LOG: return createVVLog();
+ case VerificationvalidationPackage.VV_PROCEDURE: return createVVProcedure();
+ case VerificationvalidationPackage.VERIFICATION_VALIDATION: return createVerificationValidation();
+ case VerificationvalidationPackage.VERIFY: return createVerify();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VVStimuli createVVStimuli() {
+ VVStimuliImpl vvStimuli = new VVStimuliImpl();
+ return vvStimuli;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VVIntendedOutcome createVVIntendedOutcome() {
+ VVIntendedOutcomeImpl vvIntendedOutcome = new VVIntendedOutcomeImpl();
+ return vvIntendedOutcome;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VVActualOutcome createVVActualOutcome() {
+ VVActualOutcomeImpl vvActualOutcome = new VVActualOutcomeImpl();
+ return vvActualOutcome;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VVCase createVVCase() {
+ VVCaseImpl vvCase = new VVCaseImpl();
+ return vvCase;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VVTarget createVVTarget() {
+ VVTargetImpl vvTarget = new VVTargetImpl();
+ return vvTarget;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VVLog createVVLog() {
+ VVLogImpl vvLog = new VVLogImpl();
+ return vvLog;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VVProcedure createVVProcedure() {
+ VVProcedureImpl vvProcedure = new VVProcedureImpl();
+ return vvProcedure;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VerificationValidation createVerificationValidation() {
+ VerificationValidationImpl verificationValidation = new VerificationValidationImpl();
+ return verificationValidation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Verify createVerify() {
+ VerifyImpl verify = new VerifyImpl();
+ return verify;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VerificationvalidationPackage getVerificationvalidationPackage() {
+ return (VerificationvalidationPackage)getEPackage();
+ }
+
+} //VerificationvalidationFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VerificationvalidationPackageImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VerificationvalidationPackageImpl.java
new file mode 100644
index 00000000000..11b0f4a0eba
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VerificationvalidationPackageImpl.java
@@ -0,0 +1,833 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.verificationvalidation.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.eastadl.EastadlPackage;
+import org.eclipse.papyrus.eastadl.annex.AnnexPackage;
+import org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVActualOutcome;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVIntendedOutcome;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVLog;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVStimuli;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVTarget;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationValidation;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationFactory;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.Verify;
+import org.eclipse.papyrus.eastadl.structure.StructurePackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class VerificationvalidationPackageImpl extends EPackageImpl implements VerificationvalidationPackage {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass vvStimuliEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass vvIntendedOutcomeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass vvTargetEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass vvLogEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass verificationValidationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass verifyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass vvActualOutcomeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass vvCaseEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass vvProcedureEClass = null;
+
+ /**
+ * <!-- 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 VerificationvalidationPackage#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 VerificationvalidationPackage init() {
+ if (isInited) return (VerificationvalidationPackage)EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI);
+
+ // Obtain or create and register package
+ VerificationvalidationPackageImpl theVerificationvalidationPackage = (VerificationvalidationPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof VerificationvalidationPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new VerificationvalidationPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ SysmlPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EastadlPackageImpl theEastadlPackage = (EastadlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) instanceof EastadlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) : EastadlPackage.eINSTANCE);
+ VariabilityPackageImpl theVariabilityPackage = (VariabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) instanceof VariabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) : VariabilityPackage.eINSTANCE);
+ InfrastructurePackageImpl theInfrastructurePackage = (InfrastructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) instanceof InfrastructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) : InfrastructurePackage.eINSTANCE);
+ DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) instanceof DatatypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) : DatatypesPackage.eINSTANCE);
+ UserattributesPackageImpl theUserattributesPackage = (UserattributesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) instanceof UserattributesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) : UserattributesPackage.eINSTANCE);
+ ElementsPackageImpl theElementsPackage = (ElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) instanceof ElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) : ElementsPackage.eINSTANCE);
+ StructurePackageImpl theStructurePackage = (StructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) instanceof StructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) : StructurePackage.eINSTANCE);
+ FunctionmodelingPackageImpl theFunctionmodelingPackage = (FunctionmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) instanceof FunctionmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) : FunctionmodelingPackage.eINSTANCE);
+ HardwaremodelingPackageImpl theHardwaremodelingPackage = (HardwaremodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) instanceof HardwaremodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) : HardwaremodelingPackage.eINSTANCE);
+ SystemmodelingPackageImpl theSystemmodelingPackage = (SystemmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) instanceof SystemmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) : SystemmodelingPackage.eINSTANCE);
+ VehiclefeaturemodelingPackageImpl theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) instanceof VehiclefeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) : VehiclefeaturemodelingPackage.eINSTANCE);
+ FeaturemodelingPackageImpl theFeaturemodelingPackage = (FeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) instanceof FeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) : FeaturemodelingPackage.eINSTANCE);
+ BehaviorPackageImpl theBehaviorPackage = (BehaviorPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) instanceof BehaviorPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) : BehaviorPackage.eINSTANCE);
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) : RequirementsPackage.eINSTANCE);
+ TimingPackageImpl theTimingPackage = (TimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) instanceof TimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) : TimingPackage.eINSTANCE);
+ TimingconstraintsPackageImpl theTimingconstraintsPackage = (TimingconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) instanceof TimingconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) : TimingconstraintsPackage.eINSTANCE);
+ EventsPackageImpl theEventsPackage = (EventsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+ InterchangePackageImpl theInterchangePackage = (InterchangePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) instanceof InterchangePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) : InterchangePackage.eINSTANCE);
+ EnvironmentPackageImpl theEnvironmentPackage = (EnvironmentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) instanceof EnvironmentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) : EnvironmentPackage.eINSTANCE);
+ DependabilityPackageImpl theDependabilityPackage = (DependabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) instanceof DependabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) : DependabilityPackage.eINSTANCE);
+ ErrormodelPackageImpl theErrormodelPackage = (ErrormodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) instanceof ErrormodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) : ErrormodelPackage.eINSTANCE);
+ SafetyrequirementPackageImpl theSafetyrequirementPackage = (SafetyrequirementPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) instanceof SafetyrequirementPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) : SafetyrequirementPackage.eINSTANCE);
+ SafetyconstraintsPackageImpl theSafetyconstraintsPackage = (SafetyconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) instanceof SafetyconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) : SafetyconstraintsPackage.eINSTANCE);
+ SafetycasePackageImpl theSafetycasePackage = (SafetycasePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) instanceof SafetycasePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) : SafetycasePackage.eINSTANCE);
+ AnnexPackageImpl theAnnexPackage = (AnnexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) instanceof AnnexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) : AnnexPackage.eINSTANCE);
+ NeedsPackageImpl theNeedsPackage = (NeedsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) instanceof NeedsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) : NeedsPackage.eINSTANCE);
+ GenericconstraintsPackageImpl theGenericconstraintsPackage = (GenericconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) instanceof GenericconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) : GenericconstraintsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theVerificationvalidationPackage.createPackageContents();
+ theEastadlPackage.createPackageContents();
+ theVariabilityPackage.createPackageContents();
+ theInfrastructurePackage.createPackageContents();
+ theDatatypesPackage.createPackageContents();
+ theUserattributesPackage.createPackageContents();
+ theElementsPackage.createPackageContents();
+ theStructurePackage.createPackageContents();
+ theFunctionmodelingPackage.createPackageContents();
+ theHardwaremodelingPackage.createPackageContents();
+ theSystemmodelingPackage.createPackageContents();
+ theVehiclefeaturemodelingPackage.createPackageContents();
+ theFeaturemodelingPackage.createPackageContents();
+ theBehaviorPackage.createPackageContents();
+ theRequirementsPackage.createPackageContents();
+ theTimingPackage.createPackageContents();
+ theTimingconstraintsPackage.createPackageContents();
+ theEventsPackage.createPackageContents();
+ theInterchangePackage.createPackageContents();
+ theEnvironmentPackage.createPackageContents();
+ theDependabilityPackage.createPackageContents();
+ theErrormodelPackage.createPackageContents();
+ theSafetyrequirementPackage.createPackageContents();
+ theSafetyconstraintsPackage.createPackageContents();
+ theSafetycasePackage.createPackageContents();
+ theAnnexPackage.createPackageContents();
+ theNeedsPackage.createPackageContents();
+ theGenericconstraintsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theVerificationvalidationPackage.initializePackageContents();
+ theEastadlPackage.initializePackageContents();
+ theVariabilityPackage.initializePackageContents();
+ theInfrastructurePackage.initializePackageContents();
+ theDatatypesPackage.initializePackageContents();
+ theUserattributesPackage.initializePackageContents();
+ theElementsPackage.initializePackageContents();
+ theStructurePackage.initializePackageContents();
+ theFunctionmodelingPackage.initializePackageContents();
+ theHardwaremodelingPackage.initializePackageContents();
+ theSystemmodelingPackage.initializePackageContents();
+ theVehiclefeaturemodelingPackage.initializePackageContents();
+ theFeaturemodelingPackage.initializePackageContents();
+ theBehaviorPackage.initializePackageContents();
+ theRequirementsPackage.initializePackageContents();
+ theTimingPackage.initializePackageContents();
+ theTimingconstraintsPackage.initializePackageContents();
+ theEventsPackage.initializePackageContents();
+ theInterchangePackage.initializePackageContents();
+ theEnvironmentPackage.initializePackageContents();
+ theDependabilityPackage.initializePackageContents();
+ theErrormodelPackage.initializePackageContents();
+ theSafetyrequirementPackage.initializePackageContents();
+ theSafetyconstraintsPackage.initializePackageContents();
+ theSafetycasePackage.initializePackageContents();
+ theAnnexPackage.initializePackageContents();
+ theNeedsPackage.initializePackageContents();
+ theGenericconstraintsPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theVerificationvalidationPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(VerificationvalidationPackage.eNS_URI, theVerificationvalidationPackage);
+ return theVerificationvalidationPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVVStimuli() {
+ return vvStimuliEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVVStimuli_Base_Class() {
+ return (EReference)vvStimuliEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVVIntendedOutcome() {
+ return vvIntendedOutcomeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVVIntendedOutcome_Base_Class() {
+ return (EReference)vvIntendedOutcomeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVVActualOutcome() {
+ return vvActualOutcomeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVVActualOutcome_Base_Class() {
+ return (EReference)vvActualOutcomeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVVActualOutcome_IntendedOutcome() {
+ return (EReference)vvActualOutcomeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVVCase() {
+ return vvCaseEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVVCase_Base_Class() {
+ return (EReference)vvCaseEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVVCase_VvCase() {
+ return (EReference)vvCaseEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVVCase_AbstractVVCase() {
+ return (EReference)vvCaseEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVVCase_VvTarget() {
+ return (EReference)vvCaseEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVVCase_VvSubject() {
+ return (EReference)vvCaseEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVVCase_VvLog() {
+ return (EReference)vvCaseEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVVCase_VvProcedure() {
+ return (EReference)vvCaseEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVVTarget() {
+ return vvTargetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVVTarget_Base_Class() {
+ return (EReference)vvTargetEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVVTarget_Element() {
+ return (EReference)vvTargetEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVVLog() {
+ return vvLogEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVVLog_Date() {
+ return (EAttribute)vvLogEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVVLog_VvActualOutcome() {
+ return (EReference)vvLogEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVVLog_Base_Class() {
+ return (EReference)vvLogEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVVLog_PerformedVVProcedure() {
+ return (EReference)vvLogEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVVProcedure() {
+ return vvProcedureEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVVProcedure_Base_Class() {
+ return (EReference)vvProcedureEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVVProcedure_AbstractVVProcedure() {
+ return (EReference)vvProcedureEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVVProcedure_ConcreteVVProcedure() {
+ return (EReference)vvProcedureEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVVProcedure_VvIntendedOutcome() {
+ return (EReference)vvProcedureEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVVProcedure_VvStimuli() {
+ return (EReference)vvProcedureEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * 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.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private VerificationvalidationPackageImpl() {
+ super(eNS_URI, VerificationvalidationFactory.eINSTANCE);
+ }
+
+ /**
+ * 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
+ vvStimuliEClass = createEClass(VV_STIMULI);
+ createEReference(vvStimuliEClass, VV_STIMULI__BASE_CLASS);
+
+ vvIntendedOutcomeEClass = createEClass(VV_INTENDED_OUTCOME);
+ createEReference(vvIntendedOutcomeEClass, VV_INTENDED_OUTCOME__BASE_CLASS);
+
+ vvActualOutcomeEClass = createEClass(VV_ACTUAL_OUTCOME);
+ createEReference(vvActualOutcomeEClass, VV_ACTUAL_OUTCOME__BASE_CLASS);
+ createEReference(vvActualOutcomeEClass, VV_ACTUAL_OUTCOME__INTENDED_OUTCOME);
+
+ vvCaseEClass = createEClass(VV_CASE);
+ createEReference(vvCaseEClass, VV_CASE__BASE_CLASS);
+ createEReference(vvCaseEClass, VV_CASE__VV_CASE);
+ createEReference(vvCaseEClass, VV_CASE__ABSTRACT_VV_CASE);
+ createEReference(vvCaseEClass, VV_CASE__VV_TARGET);
+ createEReference(vvCaseEClass, VV_CASE__VV_SUBJECT);
+ createEReference(vvCaseEClass, VV_CASE__VV_LOG);
+ createEReference(vvCaseEClass, VV_CASE__VV_PROCEDURE);
+
+ vvTargetEClass = createEClass(VV_TARGET);
+ createEReference(vvTargetEClass, VV_TARGET__BASE_CLASS);
+ createEReference(vvTargetEClass, VV_TARGET__ELEMENT);
+
+ vvLogEClass = createEClass(VV_LOG);
+ createEAttribute(vvLogEClass, VV_LOG__DATE);
+ createEReference(vvLogEClass, VV_LOG__VV_ACTUAL_OUTCOME);
+ createEReference(vvLogEClass, VV_LOG__BASE_CLASS);
+ createEReference(vvLogEClass, VV_LOG__PERFORMED_VV_PROCEDURE);
+
+ vvProcedureEClass = createEClass(VV_PROCEDURE);
+ createEReference(vvProcedureEClass, VV_PROCEDURE__BASE_CLASS);
+ createEReference(vvProcedureEClass, VV_PROCEDURE__ABSTRACT_VV_PROCEDURE);
+ createEReference(vvProcedureEClass, VV_PROCEDURE__CONCRETE_VV_PROCEDURE);
+ createEReference(vvProcedureEClass, VV_PROCEDURE__VV_INTENDED_OUTCOME);
+ createEReference(vvProcedureEClass, VV_PROCEDURE__VV_STIMULI);
+
+ verificationValidationEClass = createEClass(VERIFICATION_VALIDATION);
+ createEReference(verificationValidationEClass, VERIFICATION_VALIDATION__BASE_CLASS);
+ createEReference(verificationValidationEClass, VERIFICATION_VALIDATION__BASE_PACKAGE);
+ createEReference(verificationValidationEClass, VERIFICATION_VALIDATION__VERIFY);
+ createEReference(verificationValidationEClass, VERIFICATION_VALIDATION__VV_CASE);
+ createEReference(verificationValidationEClass, VERIFICATION_VALIDATION__VV_TARGET);
+
+ verifyEClass = createEClass(VERIFY);
+ createEReference(verifyEClass, VERIFY__VERIFIED_BY_PROCEDURE);
+ createEReference(verifyEClass, VERIFY__VERIFIED_BY_CASE);
+ createEReference(verifyEClass, VERIFY__VERIFIED_REQUIREMENT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVerificationValidation() {
+ return verificationValidationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVerificationValidation_Base_Class() {
+ return (EReference)verificationValidationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVerificationValidation_Base_Package() {
+ return (EReference)verificationValidationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVerificationValidation_Verify() {
+ return (EReference)verificationValidationEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVerificationValidation_VvCase() {
+ return (EReference)verificationValidationEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVerificationValidation_VvTarget() {
+ return (EReference)verificationValidationEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VerificationvalidationFactory getVerificationvalidationFactory() {
+ return (VerificationvalidationFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVerify() {
+ return verifyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVerify_VerifiedByCase() {
+ return (EReference)verifyEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVerify_VerifiedByProcedure() {
+ return (EReference)verifyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVerify_VerifiedRequirement() {
+ return (EReference)verifyEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * 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
+ ElementsPackage theElementsPackage = (ElementsPackage)EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI);
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+ TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+ RequirementsPackage theRequirementsPackage = (RequirementsPackage)EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI);
+ org.eclipse.papyrus.sysml.requirements.RequirementsPackage theRequirementsPackage_1 = (org.eclipse.papyrus.sysml.requirements.RequirementsPackage)EPackage.Registry.INSTANCE.getEPackage(org.eclipse.papyrus.sysml.requirements.RequirementsPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ vvStimuliEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+ vvIntendedOutcomeEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+ vvActualOutcomeEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+ vvCaseEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+ vvTargetEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+ vvLogEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+ vvProcedureEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+ verificationValidationEClass.getESuperTypes().add(theElementsPackage.getContext());
+ verifyEClass.getESuperTypes().add(theRequirementsPackage.getRequirementsRelationship());
+ verifyEClass.getESuperTypes().add(theRequirementsPackage_1.getVerify());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(vvStimuliEClass, VVStimuli.class, "VVStimuli", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getVVStimuli_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, VVStimuli.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(vvIntendedOutcomeEClass, VVIntendedOutcome.class, "VVIntendedOutcome", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getVVIntendedOutcome_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, VVIntendedOutcome.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(vvActualOutcomeEClass, VVActualOutcome.class, "VVActualOutcome", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getVVActualOutcome_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, VVActualOutcome.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVVActualOutcome_IntendedOutcome(), this.getVVIntendedOutcome(), null, "intendedOutcome", null, 0, 1, VVActualOutcome.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(vvCaseEClass, VVCase.class, "VVCase", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getVVCase_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, VVCase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVVCase_VvCase(), this.getVVCase(), null, "vvCase", null, 0, -1, VVCase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVVCase_AbstractVVCase(), this.getVVCase(), null, "abstractVVCase", null, 0, 1, VVCase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVVCase_VvTarget(), this.getVVTarget(), null, "vvTarget", null, 1, -1, VVCase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVVCase_VvSubject(), theUMLPackage.getNamedElement(), null, "vvSubject", null, 1, -1, VVCase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVVCase_VvLog(), this.getVVLog(), null, "vvLog", null, 0, -1, VVCase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVVCase_VvProcedure(), this.getVVProcedure(), null, "vvProcedure", null, 0, -1, VVCase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(vvTargetEClass, VVTarget.class, "VVTarget", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getVVTarget_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, VVTarget.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVVTarget_Element(), theUMLPackage.getNamedElement(), null, "element", null, 0, -1, VVTarget.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(vvLogEClass, VVLog.class, "VVLog", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getVVLog_Date(), theTypesPackage.getString(), "date", null, 1, 1, VVLog.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVVLog_VvActualOutcome(), this.getVVActualOutcome(), null, "vvActualOutcome", null, 0, -1, VVLog.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVVLog_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, VVLog.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVVLog_PerformedVVProcedure(), this.getVVProcedure(), null, "performedVVProcedure", null, 1, 1, VVLog.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(vvProcedureEClass, VVProcedure.class, "VVProcedure", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getVVProcedure_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, VVProcedure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVVProcedure_AbstractVVProcedure(), this.getVVProcedure(), null, "abstractVVProcedure", null, 0, 1, VVProcedure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVVProcedure_ConcreteVVProcedure(), this.getVVProcedure(), null, "concreteVVProcedure", null, 0, -1, VVProcedure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVVProcedure_VvIntendedOutcome(), this.getVVIntendedOutcome(), null, "vvIntendedOutcome", null, 0, -1, VVProcedure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVVProcedure_VvStimuli(), this.getVVStimuli(), null, "vvStimuli", null, 0, -1, VVProcedure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(verificationValidationEClass, VerificationValidation.class, "VerificationValidation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getVerificationValidation_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, VerificationValidation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVerificationValidation_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, VerificationValidation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVerificationValidation_Verify(), this.getVerify(), null, "verify", null, 0, -1, VerificationValidation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVerificationValidation_VvCase(), this.getVVCase(), null, "vvCase", null, 0, -1, VerificationValidation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVerificationValidation_VvTarget(), this.getVVTarget(), null, "vvTarget", null, 0, -1, VerificationValidation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(verifyEClass, Verify.class, "Verify", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getVerify_VerifiedByProcedure(), this.getVVProcedure(), null, "verifiedByProcedure", null, 0, -1, Verify.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVerify_VerifiedByCase(), this.getVVCase(), null, "verifiedByCase", null, 1, -1, Verify.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getVerify_VerifiedRequirement(), theRequirementsPackage.getRequirement(), null, "verifiedRequirement", null, 1, -1, Verify.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ }
+
+} //VerificationvalidationPackageImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VerifyImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VerifyImpl.java
new file mode 100644
index 00000000000..a74729a819d
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/impl/VerifyImpl.java
@@ -0,0 +1,311 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+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.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.BasicInternalEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.eastadl.requirements.Requirement;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsRelationshipImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.Verify;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.profile.l2.L2Package;
+import org.eclipse.uml2.uml.profile.l2.Trace;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Verify</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerifyImpl#getBase_Abstraction <em>Base Abstraction</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerifyImpl#getVerifiedByProcedure <em>Verified By Procedure</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerifyImpl#getVerifiedByCase <em>Verified By Case</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerifyImpl#getVerifiedRequirement <em>Verified Requirement</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class VerifyImpl extends RequirementsRelationshipImpl implements Verify {
+
+ /**
+ * 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 #getVerifiedByProcedure() <em>Verified By Procedure</em>}' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getVerifiedByProcedure()
+ * @generated
+ * @ordered
+ */
+ protected EList<VVProcedure> verifiedByProcedure;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected VerifyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Abstraction basicGetBase_Abstraction() {
+ return base_Abstraction;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == Trace.class) {
+ switch (derivedFeatureID) {
+ case VerificationvalidationPackage.VERIFY__BASE_ABSTRACTION: return L2Package.TRACE__BASE_ABSTRACTION;
+ default: return -1;
+ }
+ }
+ if (baseClass == org.eclipse.papyrus.sysml.requirements.Verify.class) {
+ switch (derivedFeatureID) {
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == Trace.class) {
+ switch (baseFeatureID) {
+ case L2Package.TRACE__BASE_ABSTRACTION: return VerificationvalidationPackage.VERIFY__BASE_ABSTRACTION;
+ default: return -1;
+ }
+ }
+ if (baseClass == org.eclipse.papyrus.sysml.requirements.Verify.class) {
+ switch (baseFeatureID) {
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VERIFY__BASE_ABSTRACTION:
+ if (resolve) return getBase_Abstraction();
+ return basicGetBase_Abstraction();
+ case VerificationvalidationPackage.VERIFY__VERIFIED_BY_PROCEDURE:
+ return getVerifiedByProcedure();
+ case VerificationvalidationPackage.VERIFY__VERIFIED_BY_CASE:
+ return getVerifiedByCase();
+ case VerificationvalidationPackage.VERIFY__VERIFIED_REQUIREMENT:
+ return getVerifiedRequirement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VERIFY__BASE_ABSTRACTION:
+ return base_Abstraction != null;
+ case VerificationvalidationPackage.VERIFY__VERIFIED_BY_PROCEDURE:
+ return verifiedByProcedure != null && !verifiedByProcedure.isEmpty();
+ case VerificationvalidationPackage.VERIFY__VERIFIED_BY_CASE:
+ return !getVerifiedByCase().isEmpty();
+ case VerificationvalidationPackage.VERIFY__VERIFIED_REQUIREMENT:
+ return !getVerifiedRequirement().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VERIFY__BASE_ABSTRACTION:
+ setBase_Abstraction((Abstraction)newValue);
+ return;
+ case VerificationvalidationPackage.VERIFY__VERIFIED_BY_PROCEDURE:
+ getVerifiedByProcedure().clear();
+ getVerifiedByProcedure().addAll((Collection<? extends VVProcedure>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VerificationvalidationPackage.Literals.VERIFY;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case VerificationvalidationPackage.VERIFY__BASE_ABSTRACTION:
+ setBase_Abstraction((Abstraction)null);
+ return;
+ case VerificationvalidationPackage.VERIFY__VERIFIED_BY_PROCEDURE:
+ getVerifiedByProcedure().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- 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, VerificationvalidationPackage.VERIFY__BASE_ABSTRACTION, oldBase_Abstraction, base_Abstraction));
+ }
+ }
+ return base_Abstraction;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<VVCase> getVerifiedByCase() {
+ EList<VVCase> results = new BasicEList<VVCase>();
+ VVCase vvcase;
+
+ if(getBase_Abstraction() != null) {
+ // Parse owned Properties
+ Iterator<Element> it = getBase_Abstraction().getSources().iterator();
+ while(it.hasNext()) {
+ Element current = it.next();
+
+ // Test if currentProperty is stereotyped AbstractVVCase
+ vvcase = (VVCase)UMLUtil.getStereotypeApplication(current, VVCase.class);
+
+ if(vvcase != null) {
+ results.add(vvcase);
+ }
+ }
+ }
+
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<VVCase>(VVCase.class, results.size(), results.toArray());
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<VVProcedure> getVerifiedByProcedure() {
+ if (verifiedByProcedure == null) {
+ verifiedByProcedure = new EObjectResolvingEList<VVProcedure>(VVProcedure.class, this, VerificationvalidationPackage.VERIFY__VERIFIED_BY_PROCEDURE);
+ }
+ return verifiedByProcedure;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<Requirement> getVerifiedRequirement() {
+ EList<Requirement> results = new BasicEList<Requirement>();
+ Requirement requirement;
+
+ if(getBase_Abstraction() != null) {
+ // Parse owned Properties
+ Iterator<Element> it = getBase_Abstraction().getTargets().iterator();
+ while(it.hasNext()) {
+ Element current = it.next();
+
+ // Test if currentProperty is stereotyped ADLRequirement
+ requirement = (Requirement)UMLUtil.getStereotypeApplication(current, Requirement.class);
+
+ if(requirement != null) {
+ results.add(requirement);
+ }
+ }
+ }
+
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<Requirement>(Requirement.class, results.size(), results.toArray());
+ }
+
+ /**
+ * <!-- 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, VerificationvalidationPackage.VERIFY__BASE_ABSTRACTION, oldBase_Abstraction, base_Abstraction));
+ }
+
+} // VerifyImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/util/VerificationvalidationAdapterFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/util/VerificationvalidationAdapterFactory.java
new file mode 100644
index 00000000000..7322ed438cc
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/util/VerificationvalidationAdapterFactory.java
@@ -0,0 +1,435 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.verificationvalidation.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.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Relationship;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsRelationship;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVActualOutcome;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVIntendedOutcome;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVLog;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVStimuli;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVTarget;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationValidation;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.Verify;
+import org.eclipse.uml2.uml.profile.l2.Trace;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage
+ * @generated
+ */
+public class VerificationvalidationAdapterFactory extends AdapterFactoryImpl {
+
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static VerificationvalidationPackage modelPackage;
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected VerificationvalidationSwitch<Adapter> modelSwitch =
+ new VerificationvalidationSwitch<Adapter>() {
+ @Override
+ public Adapter caseVVStimuli(VVStimuli object) {
+ return createVVStimuliAdapter();
+ }
+ @Override
+ public Adapter caseVVIntendedOutcome(VVIntendedOutcome object) {
+ return createVVIntendedOutcomeAdapter();
+ }
+ @Override
+ public Adapter caseVVActualOutcome(VVActualOutcome object) {
+ return createVVActualOutcomeAdapter();
+ }
+ @Override
+ public Adapter caseVVCase(VVCase object) {
+ return createVVCaseAdapter();
+ }
+ @Override
+ public Adapter caseVVTarget(VVTarget object) {
+ return createVVTargetAdapter();
+ }
+ @Override
+ public Adapter caseVVLog(VVLog object) {
+ return createVVLogAdapter();
+ }
+ @Override
+ public Adapter caseVVProcedure(VVProcedure object) {
+ return createVVProcedureAdapter();
+ }
+ @Override
+ public Adapter caseVerificationValidation(VerificationValidation object) {
+ return createVerificationValidationAdapter();
+ }
+ @Override
+ public Adapter caseVerify(Verify object) {
+ return createVerifyAdapter();
+ }
+ @Override
+ public Adapter caseEAElement(EAElement object) {
+ return createEAElementAdapter();
+ }
+ @Override
+ public Adapter caseEAPackageableElement(EAPackageableElement object) {
+ return createEAPackageableElementAdapter();
+ }
+ @Override
+ public Adapter caseTraceableSpecification(TraceableSpecification object) {
+ return createTraceableSpecificationAdapter();
+ }
+ @Override
+ public Adapter caseContext(Context object) {
+ return createContextAdapter();
+ }
+ @Override
+ public Adapter caseRelationship(Relationship object) {
+ return createRelationshipAdapter();
+ }
+ @Override
+ public Adapter caseRequirementsRelationship(RequirementsRelationship object) {
+ return createRequirementsRelationshipAdapter();
+ }
+ @Override
+ public Adapter caseTrace(Trace object) {
+ return createTraceAdapter();
+ }
+ @Override
+ public Adapter caseRequirements_Verify(org.eclipse.papyrus.sysml.requirements.Verify object) {
+ return createRequirements_VerifyAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VerificationvalidationAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = VerificationvalidationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVStimuli <em>VV Stimuli</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.requirements.verificationvalidation.VVStimuli
+ * @generated
+ */
+ public Adapter createVVStimuliAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVIntendedOutcome <em>VV Intended Outcome</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.requirements.verificationvalidation.VVIntendedOutcome
+ * @generated
+ */
+ public Adapter createVVIntendedOutcomeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVActualOutcome <em>VV Actual Outcome</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.requirements.verificationvalidation.VVActualOutcome
+ * @generated
+ */
+ public Adapter createVVActualOutcomeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase <em>VV Case</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.requirements.verificationvalidation.VVCase
+ * @generated
+ */
+ public Adapter createVVCaseAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVTarget <em>VV Target</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.requirements.verificationvalidation.VVTarget
+ * @generated
+ */
+ public Adapter createVVTargetAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVLog <em>VV Log</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.requirements.verificationvalidation.VVLog
+ * @generated
+ */
+ public Adapter createVVLogAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure <em>VV Procedure</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.requirements.verificationvalidation.VVProcedure
+ * @generated
+ */
+ public Adapter createVVProcedureAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Context <em>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.eastadl.infrastructure.elements.Context
+ * @generated
+ */
+ public Adapter createContextAdapter() {
+ 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;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Relationship <em>Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.Relationship
+ * @generated
+ */
+ public Adapter createRelationshipAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.requirements.Verify <em>Verify</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.sysml.requirements.Verify
+ * @generated
+ */
+ public Adapter createRequirements_VerifyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.requirements.RequirementsRelationship <em>Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.requirements.RequirementsRelationship
+ * @generated
+ */
+ public Adapter createRequirementsRelationshipAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification <em>Traceable 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.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification
+ * @generated
+ */
+ public Adapter createTraceableSpecificationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.uml2.uml.profile.l2.Trace <em>Trace</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.uml2.uml.profile.l2.Trace
+ * @generated
+ */
+ public Adapter createTraceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationValidation <em>Verification Validation</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.requirements.verificationvalidation.VerificationValidation
+ * @generated
+ */
+ public Adapter createVerificationValidationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.requirements.verificationvalidation.Verify <em>Verify</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.requirements.verificationvalidation.Verify
+ * @generated
+ */
+ public Adapter createVerifyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement <em>EA Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAElement
+ * @generated
+ */
+ public Adapter createEAElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement <em>EA Packageable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAPackageableElement
+ * @generated
+ */
+ public Adapter createEAPackageableElementAdapter() {
+ return null;
+ }
+
+ /**
+ * 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;
+ }
+
+} //VerificationvalidationAdapterFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/util/VerificationvalidationResourceFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/util/VerificationvalidationResourceFactoryImpl.java
new file mode 100644
index 00000000000..1a78b863465
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/util/VerificationvalidationResourceFactoryImpl.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.verificationvalidation.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.eclipse.papyrus.eastadl.requirements.verificationvalidation.util.VerificationvalidationResourceImpl
+ * @generated
+ */
+public class VerificationvalidationResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VerificationvalidationResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new VerificationvalidationResourceImpl(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;
+ }
+
+} //VerificationvalidationResourceFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/util/VerificationvalidationResourceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/util/VerificationvalidationResourceImpl.java
new file mode 100644
index 00000000000..977f338d33c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/util/VerificationvalidationResourceImpl.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.verificationvalidation.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.eclipse.papyrus.eastadl.requirements.verificationvalidation.util.VerificationvalidationResourceFactoryImpl
+ * @generated
+ */
+public class VerificationvalidationResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public VerificationvalidationResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //VerificationvalidationResourceImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/util/VerificationvalidationSwitch.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/util/VerificationvalidationSwitch.java
new file mode 100644
index 00000000000..b431a513257
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/util/VerificationvalidationSwitch.java
@@ -0,0 +1,454 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.verificationvalidation.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Relationship;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsRelationship;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVActualOutcome;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVCase;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVIntendedOutcome;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVLog;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVProcedure;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVStimuli;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VVTarget;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationValidation;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.Verify;
+import org.eclipse.uml2.uml.profile.l2.Trace;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage
+ * @generated
+ */
+public class VerificationvalidationSwitch<T> extends Switch<T> {
+
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static VerificationvalidationPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VerificationvalidationSwitch() {
+ if (modelPackage == null) {
+ modelPackage = VerificationvalidationPackage.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;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>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>Context</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseContext(Context object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Relationship</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Relationship</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRelationship(Relationship object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Verify</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Verify</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRequirements_Verify(org.eclipse.papyrus.sysml.requirements.Verify object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Relationship</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Relationship</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRequirementsRelationship(RequirementsRelationship object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Trace</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Trace</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTrace(Trace object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Traceable 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>Traceable Specification</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTraceableSpecification(TraceableSpecification object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Verification Validation</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Verification Validation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVerificationValidation(VerificationValidation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Verify</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Verify</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVerify(Verify object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAElement(EAElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Packageable Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Packageable Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAPackageableElement(EAPackageableElement 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;
+ }
+
+ /**
+ * 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 VerificationvalidationPackage.VV_STIMULI: {
+ VVStimuli vvStimuli = (VVStimuli)theEObject;
+ T result = caseVVStimuli(vvStimuli);
+ if (result == null) result = caseTraceableSpecification(vvStimuli);
+ if (result == null) result = caseEAPackageableElement(vvStimuli);
+ if (result == null) result = caseEAElement(vvStimuli);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case VerificationvalidationPackage.VV_INTENDED_OUTCOME: {
+ VVIntendedOutcome vvIntendedOutcome = (VVIntendedOutcome)theEObject;
+ T result = caseVVIntendedOutcome(vvIntendedOutcome);
+ if (result == null) result = caseTraceableSpecification(vvIntendedOutcome);
+ if (result == null) result = caseEAPackageableElement(vvIntendedOutcome);
+ if (result == null) result = caseEAElement(vvIntendedOutcome);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case VerificationvalidationPackage.VV_ACTUAL_OUTCOME: {
+ VVActualOutcome vvActualOutcome = (VVActualOutcome)theEObject;
+ T result = caseVVActualOutcome(vvActualOutcome);
+ if (result == null) result = caseTraceableSpecification(vvActualOutcome);
+ if (result == null) result = caseEAPackageableElement(vvActualOutcome);
+ if (result == null) result = caseEAElement(vvActualOutcome);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case VerificationvalidationPackage.VV_CASE: {
+ VVCase vvCase = (VVCase)theEObject;
+ T result = caseVVCase(vvCase);
+ if (result == null) result = caseTraceableSpecification(vvCase);
+ if (result == null) result = caseEAPackageableElement(vvCase);
+ if (result == null) result = caseEAElement(vvCase);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case VerificationvalidationPackage.VV_TARGET: {
+ VVTarget vvTarget = (VVTarget)theEObject;
+ T result = caseVVTarget(vvTarget);
+ if (result == null) result = caseTraceableSpecification(vvTarget);
+ if (result == null) result = caseEAPackageableElement(vvTarget);
+ if (result == null) result = caseEAElement(vvTarget);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case VerificationvalidationPackage.VV_LOG: {
+ VVLog vvLog = (VVLog)theEObject;
+ T result = caseVVLog(vvLog);
+ if (result == null) result = caseTraceableSpecification(vvLog);
+ if (result == null) result = caseEAPackageableElement(vvLog);
+ if (result == null) result = caseEAElement(vvLog);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case VerificationvalidationPackage.VV_PROCEDURE: {
+ VVProcedure vvProcedure = (VVProcedure)theEObject;
+ T result = caseVVProcedure(vvProcedure);
+ if (result == null) result = caseTraceableSpecification(vvProcedure);
+ if (result == null) result = caseEAPackageableElement(vvProcedure);
+ if (result == null) result = caseEAElement(vvProcedure);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case VerificationvalidationPackage.VERIFICATION_VALIDATION: {
+ VerificationValidation verificationValidation = (VerificationValidation)theEObject;
+ T result = caseVerificationValidation(verificationValidation);
+ if (result == null) result = caseContext(verificationValidation);
+ if (result == null) result = caseEAElement(verificationValidation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case VerificationvalidationPackage.VERIFY: {
+ Verify verify = (Verify)theEObject;
+ T result = caseVerify(verify);
+ if (result == null) result = caseRequirementsRelationship(verify);
+ if (result == null) result = caseRequirements_Verify(verify);
+ if (result == null) result = caseRelationship(verify);
+ if (result == null) result = caseTrace(verify);
+ if (result == null) result = caseEAElement(verify);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>VV Stimuli</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>VV Stimuli</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVVStimuli(VVStimuli object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>VV Intended Outcome</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>VV Intended Outcome</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVVIntendedOutcome(VVIntendedOutcome object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>VV Actual Outcome</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>VV Actual Outcome</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVVActualOutcome(VVActualOutcome object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>VV Case</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>VV Case</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVVCase(VVCase object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>VV Target</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>VV Target</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVVTarget(VVTarget object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>VV Log</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>VV Log</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVVLog(VVLog object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>VV Procedure</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>VV Procedure</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVVProcedure(VVProcedure object) {
+ return null;
+ }
+
+} //VerificationvalidationSwitch
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/util/VerificationvalidationXMLProcessor.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/util/VerificationvalidationXMLProcessor.java
new file mode 100644
index 00000000000..0fddca4e4e1
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/requirements/verificationvalidation/util/VerificationvalidationXMLProcessor.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.requirements.verificationvalidation.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.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class VerificationvalidationXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VerificationvalidationXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ VerificationvalidationPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the VerificationvalidationResourceFactoryImpl 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 VerificationvalidationResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new VerificationvalidationResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //VerificationvalidationXMLProcessor
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/StructureFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/StructureFactory.java
new file mode 100644
index 00000000000..fa48847bcba
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/StructureFactory.java
@@ -0,0 +1,43 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure;
+
+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.eclipse.papyrus.eastadl.structure.StructurePackage
+ * @generated
+ */
+public interface StructureFactory extends EFactory {
+
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ StructureFactory eINSTANCE = org.eclipse.papyrus.eastadl.structure.impl.StructureFactoryImpl.init();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ StructurePackage getStructurePackage();
+
+} // StructureFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/StructurePackage.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/StructurePackage.java
new file mode 100644
index 00000000000..ee6a50c1888
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/StructurePackage.java
@@ -0,0 +1,120 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure;
+
+import org.eclipse.emf.ecore.EDataType;
+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.eclipse.papyrus.eastadl.structure.StructureFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface StructurePackage extends EPackage {
+
+ /**
+ * <!-- 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 '<em>Dummy</em>' data type.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see java.lang.String
+ * @see org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl#getDummy()
+ * @generated
+ */
+ EDataType DUMMY = eINSTANCE.getDummy();
+
+ }
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "structure";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.papyrusuml.org/EAST-ADL2/Structure/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "Structure";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ StructurePackage eINSTANCE = org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl.init();
+
+ /**
+ * The meta object id for the '<em>Dummy</em>' data type.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see java.lang.String
+ * @see org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl#getDummy()
+ * @generated
+ */
+ int DUMMY = 0;
+
+ /**
+ * Returns the meta object for data type '{@link java.lang.String <em>Dummy</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for data type '<em>Dummy</em>'.
+ * @see java.lang.String
+ * @model instanceClass="java.lang.String"
+ * @generated
+ */
+ EDataType 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
+ */
+ StructureFactory getStructureFactory();
+
+} // StructurePackage
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/BindingTime.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/BindingTime.java
new file mode 100644
index 00000000000..40051e04f4e
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/BindingTime.java
@@ -0,0 +1,115 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.featuremodeling;
+
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Binding Time</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The motivation for attributing features and variable elements with binding times is that binding times encapsulate important information about the variability under view:
+ *
+ * Variability that must be bound (determined, decided) very early in the system development may not be visible in one single feature model but only in comparison with different feature models in the context of multi-level feature trees; late bound variability is variability providing the driver with choices for current equipment configuration.
+ *
+ * Binding times are important because they describe if the variability must be decided during system development or if the variability is determined by a customer or if the variability itself is part of the product features that are sold to the customer. Possible binding times are:
+ *
+ * - SystemDesignTime
+ * - CodeGenerationTime
+ * - PreCompileTime
+ * - LinkTime
+ * - PostBuild
+ * - Runtime
+ *
+ * Note that a binding time is never a particular point in time such as April 2nd, 2011, but always a certain stage in the overall development, production and shipment process as represented by the above values.
+ *
+ * Each feature must have a binding time (association requiredBindingTime) and may have one further binding time (association actualBindingTime).
+ *
+ * The required binding time describes the binding time that the feature is intended to have. But due to technical conditions it may occur that the actually realized binding time of the feature differs from the originally intended binding time. In this case one has to provide information about the actual binding time. In the rationale it must be described by what the required binding time is motivated and what the reasons are for a (different) actual binding time.
+ *
+ * Extension:
+ * Class.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTime#getKind <em>Kind</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTime#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getBindingTime()
+ * @model
+ * @generated
+ */
+public interface BindingTime extends EAElement {
+
+ /**
+ * Returns the value of the '<em><b>Kind</b></em>' attribute. The default value is
+ * <code>"DEVELOPMENT"</code>. The literals are from the enumeration
+ * {@link org.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTimeKind}. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> The kind of the binding
+ * time, see enumeration of binding times. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Kind</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTimeKind
+ * @see #setKind(BindingTimeKind)
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getBindingTime_Kind()
+ * @model default="DEVELOPMENT" required="true" ordered="false"
+ * @generated
+ */
+ BindingTimeKind getKind();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTime#getKind <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Kind</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTimeKind
+ * @see #getKind()
+ * @generated
+ */
+ void setKind(BindingTimeKind 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.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getBindingTime_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTime#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);
+
+} // BindingTime
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/BindingTimeKind.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/BindingTimeKind.java
new file mode 100644
index 00000000000..933c17d2993
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/BindingTimeKind.java
@@ -0,0 +1,330 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.featuremodeling;
+
+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>Binding Time Kind</b></em>', and utility methods for working with them. <!-- end-user-doc
+ * --> <!-- begin-model-doc --> The binding time kind gives the set of possible binding times.
+ *
+ * Semantics: BindingTimeKind has no specific semantics. Further subclasses of BindingTimeKind will
+ * add semantics appropriate to the concept they represent. <!-- end-model-doc -->
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getBindingTimeKind()
+ * @model
+ * @generated
+ */
+public enum BindingTimeKind implements Enumerator {
+ /**
+ * The '<em><b>System Design Time</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SYSTEM_DESIGN_TIME_VALUE
+ * @generated
+ * @ordered
+ */
+ SYSTEM_DESIGN_TIME(0, "systemDesignTime", "systemDesignTime"), /**
+ * The '<em><b>Code Generation Time</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #CODE_GENERATION_TIME_VALUE
+ * @generated
+ * @ordered
+ */
+ CODE_GENERATION_TIME(1, "codeGenerationTime", "codeGenerationTime"), /**
+ * The '<em><b>Precompile Time</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PRECOMPILE_TIME_VALUE
+ * @generated
+ * @ordered
+ */
+ PRECOMPILE_TIME(2, "precompileTime", "precompileTime"), /**
+ * The '<em><b>Link Time</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #LINK_TIME_VALUE
+ * @generated
+ * @ordered
+ */
+ LINK_TIME(3, "linkTime", "linkTime"), /**
+ * The '<em><b>Post Build</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #POST_BUILD_VALUE
+ * @generated
+ * @ordered
+ */
+ POST_BUILD(4, "postBuild", "postBuild"), /**
+ * The '<em><b>Runtime</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #RUNTIME_VALUE
+ * @generated
+ * @ordered
+ */
+ RUNTIME(5, "runtime", "runtime");
+
+ /**
+ * The '<em><b>System Design Time</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Variability will be bound during development of the EE-System.
+ *
+ * From AUTOSAR:
+ * * Designing the VFB.
+ * * Software Component types (portinterfaces).
+ * * SWC Prototypes and the Connections between SWCprototypes.
+ * * Designing the Topology
+ * * ECUs and interconnecting Networks
+ * * Designing the Communication Matrix and Data Mapping
+ * <!-- end-model-doc -->
+ * @see #SYSTEM_DESIGN_TIME
+ * @model name="systemDesignTime"
+ * @generated
+ * @ordered
+ */
+ public static final int SYSTEM_DESIGN_TIME_VALUE = 0;
+
+ /**
+ * The '<em><b>Code Generation Time</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Variability will be bound during code generation.
+ *
+ * From AUTOSAR:
+ * * Coding by hand, based on requirements document.
+ * * Tool based code generation, e.g. from a model.
+ * * The model may contain variants.
+ * * Only code for the selected variant(s) is actually generated.
+ * <!-- end-model-doc -->
+ * @see #CODE_GENERATION_TIME
+ * @model name="codeGenerationTime"
+ * @generated
+ * @ordered
+ */
+ public static final int CODE_GENERATION_TIME_VALUE = 1;
+
+ /**
+ * The '<em><b>Precompile Time</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Variability will be bound during or immediately prior to code compilation.
+ *
+ * From AUTOSAR:
+ * This is typically the C-Preprocessor. Exclude parts of the code from the compilation process, e.g., because they are not required for the selected variant, because they are incompatible with the selected variant, because they require resources that are not present in the selected variant. Object code is only generated for the selected variant(s). The code that is excluded at this stage code will not be available at later stages.
+ * <!-- end-model-doc -->
+ * @see #PRECOMPILE_TIME
+ * @model name="precompileTime"
+ * @generated
+ * @ordered
+ */
+ public static final int PRECOMPILE_TIME_VALUE = 2;
+
+ /**
+ * The '<em><b>Link Time</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Variability will be bound during linking.
+ *
+ * From AUTOSAR:
+ * Configure what is included in object code, and what is omitted
+ * Based on which variant(s) are selected
+ * E.g. for modules that are delivered as object code (as opposed to those that are delivered as source code)
+ * <!-- end-model-doc -->
+ * @see #LINK_TIME
+ * @model name="linkTime"
+ * @generated
+ * @ordered
+ */
+ public static final int LINK_TIME_VALUE = 3;
+
+ /**
+ * The '<em><b>Post Build</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Variability will be bound at certain occasions after shipment, for example when the vehicle is in a workshop.
+ * <!-- end-model-doc -->
+ * @see #POST_BUILD
+ * @model name="postBuild"
+ * @generated
+ * @ordered
+ */
+ public static final int POST_BUILD_VALUE = 4;
+
+ /**
+ * The '<em><b>Runtime</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Variability will be bound by the customer after shipment by way of vehicle configuration.
+ *
+ * Variability with such a late binding time can also be seen as a special functionality of the system which is not documented as variability at all. However, it is sometimes advantageous to represent such cases as variability in order to be able to seamlessly include them in the overall variability management activities.
+ * <!-- end-model-doc -->
+ * @see #RUNTIME
+ * @model name="runtime"
+ * @generated
+ * @ordered
+ */
+ public static final int RUNTIME_VALUE = 5;
+
+ /**
+ * An array of all the '<em><b>Binding Time Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final BindingTimeKind[] VALUES_ARRAY = new BindingTimeKind[] {
+ SYSTEM_DESIGN_TIME,
+ CODE_GENERATION_TIME,
+ PRECOMPILE_TIME,
+ LINK_TIME,
+ POST_BUILD,
+ RUNTIME,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Binding Time Kind</b></em>' enumerators. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final List<BindingTimeKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Binding Time Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public static BindingTimeKind get(int value) {
+ switch (value) {
+ case SYSTEM_DESIGN_TIME_VALUE: return SYSTEM_DESIGN_TIME;
+ case CODE_GENERATION_TIME_VALUE: return CODE_GENERATION_TIME;
+ case PRECOMPILE_TIME_VALUE: return PRECOMPILE_TIME;
+ case LINK_TIME_VALUE: return LINK_TIME;
+ case POST_BUILD_VALUE: return POST_BUILD;
+ case RUNTIME_VALUE: return RUNTIME;
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Binding Time Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public static BindingTimeKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ BindingTimeKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Binding Time Kind</b></em>' literal with the specified name. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static BindingTimeKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ BindingTimeKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ 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 BindingTimeKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * 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;
+ }
+
+} // BindingTimeKind
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/Feature.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/Feature.java
new file mode 100644
index 00000000000..719367043ae
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/Feature.java
@@ -0,0 +1,213 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.featuremodeling;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatypePrototype;
+
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Feature</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A Feature represents a characteristic or trait of some object of consideration. The actual object of consideration depends on the particular purpose of the feature's containing feature model.
+ *
+ * Example 1: The core technical feature model on vehicle level defines the technical properties of the complete-system, i.e. vehicle. So its object of consideration is the vehicle as a whole and therefore its features represent characteristics or traits of the vehicle as a whole.
+ *
+ * Example 2: The public feature model of some function F in the FDA defines the features of this particular software function. So its object of consideration is function F and therefore its features represent characteristics or traits of this function F.
+ *
+ *
+ * Semantics:
+ * Feature is a (non)functional characteristic, constraint or property that can be present or not in a (vehicle) product line.
+ *
+ *
+ * Extension:
+ * Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature#getCardinality <em>Cardinality</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature#getRequiredBindingTime <em>Required Binding Time</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature#getActualBindingTime <em>Actual Binding Time</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature#getFeatureParameter <em>Feature Parameter</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature#getChildNode <em>Child Node</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeature()
+ * @model
+ * @generated
+ */
+public interface Feature extends FeatureTreeNode {
+
+ /**
+ * 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.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeature_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature#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>Actual Binding Time</b></em>' reference. <!-- begin-user-doc
+ * -->
+ * <p>
+ * If the meaning of the '<em>Actual Binding Time</em>' reference isn't clear, there really
+ * should be more of a description here...
+ * </p>
+ * <!-- end-user-doc --> <!-- begin-model-doc --> The actual binding time, independent of the
+ * required binding time. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Actual Binding Time</em>' reference.
+ * @see #setActualBindingTime(BindingTimeAttribute)
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeature_ActualBindingTime()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ BindingTime getActualBindingTime();
+
+ /**
+ * Returns the value of the '<em><b>Cardinality</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cardinality</em>' attribute isn't clear, there really should be
+ * more of a description here...
+ * </p>
+ * <!-- end-user-doc --> <!-- begin-model-doc --> The Cardinality describes for a feature its
+ * cardinality. In the context of a feature group it describes the variability behavior of the
+ * group (e.g. a cardinality of 1 in a feature group means that one of the child features has to
+ * be selected). Cardinalities for features: A cardinality of 0..1 at a feature means that this
+ * feature is optional. A cardinality of 1 means that this feature is mandatory and a
+ * cardinality of 0..n with n>1 means that this feature may be instantiated more than once in
+ * the product to be realized. Note that allowing cardinalities >1 has far-reaching consequences
+ * for how features are applied. If this is not desired-needed in a certain project,
+ * cardinalities >1 can be prohibited by specifying a complianceLevel in FeatureModel. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Cardinality</em>' attribute.
+ * @see #setCardinality(String)
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeature_Cardinality()
+ * @model unique="false" required="true" ordered="false"
+ * @generated
+ */
+ String getCardinality();
+
+ /**
+ * Returns the value of the '<em><b>Child Node</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureTreeNode}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Child Node</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Child Node</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeature_ChildNode()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<FeatureTreeNode> getChildNode();
+
+ /**
+ * Returns the value of the '<em><b>Feature Parameter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Feature Parameter</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Feature Parameter</em>' reference.
+ * @see #setFeatureParameter(EADatatypePrototype)
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeature_FeatureParameter()
+ * @model ordered="false"
+ * @generated
+ */
+ EADatatypePrototype getFeatureParameter();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature#getFeatureParameter <em>Feature Parameter</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Feature Parameter</em>' reference.
+ * @see #getFeatureParameter()
+ * @generated
+ */
+ void setFeatureParameter(EADatatypePrototype value);
+
+ /**
+ * Returns the value of the '<em><b>Required Binding Time</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> The required binding time
+ * could possibly deviate from the actual binding time but reflects the intended binding time
+ * and actual binding time can be later adapted to the required binding time, if surrounding
+ * constraints allow a change. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Required Binding Time</em>' reference.
+ * @see #setRequiredBindingTime(BindingTimeAttribute)
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeature_RequiredBindingTime()
+ * @model ordered="false"
+ * @generated
+ */
+ BindingTime getRequiredBindingTime();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature#getActualBindingTime <em>Actual Binding Time</em>}' reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Actual Binding Time</em>' reference.
+ * @see #getActualBindingTime()
+ * @generated
+ */
+ void setActualBindingTime(BindingTime value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature#getCardinality <em>Cardinality</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cardinality</em>' attribute.
+ * @see #getCardinality()
+ * @generated
+ */
+ void setCardinality(String value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature#getRequiredBindingTime <em>Required Binding Time</em>}' reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Required Binding Time</em>' reference.
+ * @see #getRequiredBindingTime()
+ * @generated
+ */
+ void setRequiredBindingTime(BindingTime value);
+
+} // Feature
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/FeatureConstraint.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/FeatureConstraint.java
new file mode 100644
index 00000000000..ce30acad575
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/FeatureConstraint.java
@@ -0,0 +1,122 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.featuremodeling;
+
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.uml2.uml.Constraint;
+
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Feature Constraint</b></em>
+ * '. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Captures a constraint on the containing feature model's configuration which is too complex to be expressed by way of a FeatureLink. In general, all constraints that can be expressed by a FeatureLink can also be expressed by a FeatureConstraint, but not vice versa.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureConstraint#getCriterion <em>Criterion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureConstraint#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureConstraint#getBase_Constraint <em>Base Constraint</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeatureConstraint()
+ * @model
+ * @generated
+ */
+public interface FeatureConstraint extends EAElement {
+
+ /**
+ * Returns the value of the '<em><b>Criterion</b></em>' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The actual constraint. This is a logic expression
+ * in VSL like the inclusionCriterion of a ConfigDecision. For the constraint to be met this
+ * expression always has to evaluate to true. For example, to express a mutual exclusion of two
+ * features use the expression " ! (Radar & RainSensor) ". <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Criterion</em>' attribute.
+ * @see #setCriterion(String)
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeatureConstraint_Criterion()
+ * @model unique="false" dataType="org.eclipse.uml2.uml.String" required="true" ordered="false"
+ * @generated
+ */
+ String getCriterion();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureConstraint#getCriterion <em>Criterion</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Criterion</em>' attribute.
+ * @see #getCriterion()
+ * @generated
+ */
+ void setCriterion(String 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.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeatureConstraint_Base_Class()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureConstraint#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>Base Constraint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Constraint</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 Constraint</em>' reference.
+ * @see #setBase_Constraint(Constraint)
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeatureConstraint_Base_Constraint()
+ * @model ordered="false"
+ * @generated
+ */
+ Constraint getBase_Constraint();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureConstraint#getBase_Constraint <em>Base Constraint</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Constraint</em>' reference.
+ * @see #getBase_Constraint()
+ * @generated
+ */
+ void setBase_Constraint(Constraint value);
+
+} // FeatureConstraint
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/FeatureGroup.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/FeatureGroup.java
new file mode 100644
index 00000000000..f0d2b063140
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/FeatureGroup.java
@@ -0,0 +1,122 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.featuremodeling;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Feature Group</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * FeatureGroup is a specialization of the FeatureTreeNode, enabling grouping of several Features. It specifies with its cardinality how these grouped features can be combined. For example, a FeatureGroup owning the two Features A and B, with a cardinality of [1] means that A and B are alternative.
+ *
+ *
+ * Semantics:
+ * FeatureGroup is a grouping entity for sibling Features to reflect variability for a set of Features.
+ *
+ *
+ * Extension:
+ * Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureGroup#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureGroup#getCardinality <em>Cardinality</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureGroup#getChildFeature <em>Child Feature</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeatureGroup()
+ * @model
+ * @generated
+ */
+public interface FeatureGroup extends FeatureTreeNode {
+
+ /**
+ * 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.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeatureGroup_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureGroup#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>Cardinality</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cardinality</em>' attribute isn't clear, there really should be
+ * more of a description here...
+ * </p>
+ * <!-- end-user-doc --> <!-- begin-model-doc --> The Cardinality describes for a feature group
+ * its cardinality. It describes the variability behavior of the group (e.g. a cardinality of 1
+ * in a feature group means that one of the child features has to be selected). <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Cardinality</em>' attribute.
+ * @see #setCardinality(String)
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeatureGroup_Cardinality()
+ * @model unique="false" required="true" ordered="false"
+ * @generated
+ */
+ String getCardinality();
+
+ /**
+ * Returns the value of the '<em><b>Child Feature</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Child Feature</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Child Feature</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeatureGroup_ChildFeature()
+ * @model lower="2" ordered="false"
+ * @generated
+ */
+ EList<Feature> getChildFeature();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureGroup#getCardinality <em>Cardinality</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cardinality</em>' attribute.
+ * @see #getCardinality()
+ * @generated
+ */
+ void setCardinality(String value);
+
+} // FeatureGroup
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/FeatureLink.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/FeatureLink.java
new file mode 100644
index 00000000000..ab3c54ed5b9
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/FeatureLink.java
@@ -0,0 +1,259 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.featuremodeling;
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Relationship;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Dependency;
+
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Feature Link</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A FeatureLink resembles a Relationship between two Features referred to as 'start' and 'end' feature (such as "feature S requires feature E" or "S excludes E").
+ *
+ * The type of the FeatureLink specifies the precise semantics of the relationship. There are several predefined types, for example "needs" states that S requires E. In addition, user-defined types are allowed as well. For user-defined types, attribute 'customType' provides a unique identifier of the custom link type and attribute 'isBidirectional' states whether the link is uni- or bidirectional.
+ *
+ * FeatureLinks are similar to FeatureConstraints but much more restricted. The rationale for having FeatureLinks in addition to FeatureConstraints is that in many cases FeatureLinks are sufficient and tools can deal with them more easily and appropriately (e.g. they can easily be presented visually as arrows in a diagram).
+ *
+ *
+ * Semantics:
+ * The FeatureLink is a relationship between Features that may constraint the selection of Features involved in the relationship.
+ *
+ *
+ * Constraints:
+ * [1] The start and end Features of a FeatureLink must be contained in the FeatureModel that contains the FeatureLink.
+ *
+ * Extension:
+ * AssociationClass
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink#isIsBidirectional <em>Is Bidirectional</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink#getCustomType <em>Custom Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink#getBase_Dependency <em>Base Dependency</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink#getStart <em>Start</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink#getEnd <em>End</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink#getBase_AssociationClass <em>Base Association Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink#getKind <em>Kind</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeatureLink()
+ * @model
+ * @generated
+ */
+public interface FeatureLink extends Relationship {
+
+ /**
+ * Returns the value of the '<em><b>Custom Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Custom 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>Custom Type</em>' attribute.
+ * @see #setCustomType(String)
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeatureLink_CustomType()
+ * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getCustomType();
+
+ /**
+ * Returns the value of the '<em><b>End</b></em>' reference. It is bidirectional and its
+ * opposite is '
+ * {@link org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature#getEndingLink
+ * <em>Ending Link</em>}'. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>End</em>' reference isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc --> <!-- begin-model-doc --> The target feature of the dependency. {derived
+ * from UML::DirectedRelationship::target} <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>End</em>' reference.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeatureLink_End()
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature#getEndingLink
+ * @model opposite="endingLink" required="true" transient="true" changeable="false"
+ * volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ Feature getEnd();
+
+ /**
+ * Returns the value of the '<em><b>Kind</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.eastadl.structure.featuremodeling.VariabilityDependencyKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Kind</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.VariabilityDependencyKind
+ * @see #setKind(VariabilityDependencyKind)
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeatureLink_Kind()
+ * @model unique="false" required="true" ordered="false"
+ * @generated
+ */
+ VariabilityDependencyKind getKind();
+
+ /**
+ * Returns the value of the '<em><b>Start</b></em>' reference. It is bidirectional and its
+ * opposite is '
+ * {@link org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature#getStartingLink
+ * <em>Starting Link</em>}'. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Start</em>' reference isn't clear, there really should be more of
+ * a description here...
+ * </p>
+ * <!-- end-user-doc --> <!-- begin-model-doc --> The source feature of the dependency. {derived
+ * from UML::DirectedRelationship::source} <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Start</em>' reference.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeatureLink_Start()
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature#getStartingLink
+ * @model opposite="startingLink" required="true" transient="true" changeable="false"
+ * volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ Feature getStart();
+
+ /**
+ * Returns the value of the '<em><b>Is Bidirectional</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Bidirectional</em>' attribute isn't clear, there really should
+ * be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Bidirectional</em>' attribute.
+ * @see #setIsBidirectional(boolean)
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeatureLink_IsBidirectional()
+ * @model dataType="org.eclipse.uml2.types.Boolean" ordered="false"
+ * @generated
+ */
+ boolean isIsBidirectional();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink#getCustomType <em>Custom Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Custom Type</em>' attribute.
+ * @see #getCustomType()
+ * @generated
+ */
+ void setCustomType(String value);
+
+ /**
+ * Returns the value of the '<em><b>Base Dependency</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Dependency</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 Dependency</em>' reference.
+ * @see #setBase_Dependency(Dependency)
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeatureLink_Base_Dependency()
+ * @model ordered="false"
+ * @generated
+ */
+ Dependency getBase_Dependency();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink#getBase_Dependency <em>Base Dependency</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Dependency</em>' reference.
+ * @see #getBase_Dependency()
+ * @generated
+ */
+ void setBase_Dependency(Dependency value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink#getEnd <em>End</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>End</em>' reference.
+ * @see #getEnd()
+ * @generated
+ */
+ void setEnd(Feature value);
+
+ /**
+ * Returns the value of the '<em><b>Base Association Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Association 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 Association Class</em>' reference.
+ * @see #setBase_AssociationClass(AssociationClass)
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeatureLink_Base_AssociationClass()
+ * @model ordered="false"
+ * @generated
+ */
+ AssociationClass getBase_AssociationClass();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink#getBase_AssociationClass <em>Base Association Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Association Class</em>' reference.
+ * @see #getBase_AssociationClass()
+ * @generated
+ */
+ void setBase_AssociationClass(AssociationClass value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink#isIsBidirectional <em>Is Bidirectional</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Bidirectional</em>' attribute.
+ * @see #isIsBidirectional()
+ * @generated
+ */
+ void setIsBidirectional(boolean value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink#getKind <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Kind</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.VariabilityDependencyKind
+ * @see #getKind()
+ * @generated
+ */
+ void setKind(VariabilityDependencyKind value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink#getStart <em>Start</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Start</em>' reference.
+ * @see #getStart()
+ * @generated
+ */
+ void setStart(Feature value);
+
+} // FeatureLink
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/FeatureModel.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/FeatureModel.java
new file mode 100644
index 00000000000..8ba4cd160db
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/FeatureModel.java
@@ -0,0 +1,161 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.featuremodeling;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Feature Model</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * FeatureModel denotes a model owning Features. The FeatureModel can be used to describe variability and commonality of a specified EE-System at any abstraction level in the SystemModel.
+ *
+ * The FeatureModel can be used either to describe the variability within a particular Function or to describe the overall variability of a vehicle (cf. VehicleLevel). The FeatureModel describing internal variability of a FunctionType refers to the VehicleLevel by a «realizes» link (informative).
+ *
+ * Note, however, that a FeatureModel per definition does not always have to define variability. If a feature model contains only mandatory features, then its purpose is completely unrelated to variability. The features in such a FeatureModel could serve, for example, as invariant "coarse-grained requirements". The most important example is the core technical feature model on vehicle level which is also used for SystemModels that do not contain any variability at all. However, most uses of feature models in EAST-ADL2 are primarily motivated by variability definition and management.
+ *
+ * A public, local FeatureModel of an artifact element realizes a VehicleFeature of the VehicleLevel.
+ *
+ *
+ * Semantics:
+ * The FeatureModel has no specific semantics. Further subclasses of FeatureModel will add semantics appropriate to the concept they represent.
+ *
+ *
+ * Extension:
+ * Package
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel#getRootFeature <em>Root Feature</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel#getFeatureLink <em>Feature Link</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel#getFeatureConstraint <em>Feature Constraint</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeatureModel()
+ * @model
+ * @generated
+ */
+public interface FeatureModel extends Context {
+
+ /**
+ * 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.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeatureModel_Base_Package()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel#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>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.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeatureModel_Base_Class()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel#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>Feature Constraint</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureConstraint}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Feature Constraint</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Feature Constraint</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeatureModel_FeatureConstraint()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<FeatureConstraint> getFeatureConstraint();
+
+ /**
+ * Returns the value of the '<em><b>Feature Link</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Feature Link</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Feature Link</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeatureModel_FeatureLink()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<FeatureLink> getFeatureLink();
+
+ /**
+ * Returns the value of the '<em><b>Root Feature</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Root Feature</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Root Feature</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeatureModel_RootFeature()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Feature> getRootFeature();
+
+} // FeatureModel
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/FeatureTreeNode.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/FeatureTreeNode.java
new file mode 100644
index 00000000000..a1ac4b06d39
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/FeatureTreeNode.java
@@ -0,0 +1,43 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.featuremodeling;
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Feature Tree Node</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The abstract base class for all nodes in a feature tree.
+ *
+ *
+ * Semantics:
+ * FeatureTreeNode has no specific semantics. Further subclasses of FeatureTreeNode will add semantics appropriate to the concept they represent.
+ *
+ *
+ * Extension:
+ * abstract, no extension
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getFeatureTreeNode()
+ * @model abstract="true"
+ * @generated
+ */
+public interface FeatureTreeNode extends Context {
+
+} // FeatureTreeNode
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/FeaturemodelingFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/FeaturemodelingFactory.java
new file mode 100644
index 00000000000..fe5251f1c07
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/FeaturemodelingFactory.java
@@ -0,0 +1,97 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.featuremodeling;
+
+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.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage
+ * @generated
+ */
+public interface FeaturemodelingFactory extends EFactory {
+
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ FeaturemodelingFactory eINSTANCE = org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Binding Time</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return a new object of class '<em>Binding Time</em>'.
+ * @generated
+ */
+ BindingTime createBindingTime();
+
+ /**
+ * Returns a new object of class '<em>Feature</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Feature</em>'.
+ * @generated
+ */
+ Feature createFeature();
+
+ /**
+ * Returns a new object of class '<em>Feature Constraint</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return a new object of class '<em>Feature Constraint</em>'.
+ * @generated
+ */
+ FeatureConstraint createFeatureConstraint();
+
+ /**
+ * Returns a new object of class '<em>Feature Group</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return a new object of class '<em>Feature Group</em>'.
+ * @generated
+ */
+ FeatureGroup createFeatureGroup();
+
+ /**
+ * Returns a new object of class '<em>Feature Link</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return a new object of class '<em>Feature Link</em>'.
+ * @generated
+ */
+ FeatureLink createFeatureLink();
+
+ /**
+ * Returns a new object of class '<em>Feature Model</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Feature Model</em>'.
+ * @generated
+ */
+ FeatureModel createFeatureModel();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ FeaturemodelingPackage getFeaturemodelingPackage();
+
+} // FeaturemodelingFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/FeaturemodelingPackage.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/FeaturemodelingPackage.java
new file mode 100644
index 00000000000..1d8a450685b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/FeaturemodelingPackage.java
@@ -0,0 +1,1385 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.featuremodeling;
+
+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.eastadl.infrastructure.elements.ElementsPackage;
+
+
+/**
+ * <!-- 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 --> <!-- begin-model-doc --> This subprofile describes the orthogonal feature
+ * modeling that is needed for the VFM and the artifacts.
+ *
+ * Overview: This subprofile describes the orthogonal feature modeling that is needed for the VFM
+ * and the artifacts. <!-- end-model-doc -->
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface FeaturemodelingPackage extends EPackage {
+
+ /**
+ * <!-- 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.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureModelImpl <em>Feature Model</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureModelImpl
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl#getFeatureModel()
+ * @generated
+ */
+ EClass FEATURE_MODEL = eINSTANCE.getFeatureModel();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference FEATURE_MODEL__BASE_PACKAGE = eINSTANCE.getFeatureModel_Base_Package();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference FEATURE_MODEL__BASE_CLASS = eINSTANCE.getFeatureModel_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Root Feature</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FEATURE_MODEL__ROOT_FEATURE = eINSTANCE.getFeatureModel_RootFeature();
+
+ /**
+ * The meta object literal for the '<em><b>Feature Link</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FEATURE_MODEL__FEATURE_LINK = eINSTANCE.getFeatureModel_FeatureLink();
+
+ /**
+ * The meta object literal for the '<em><b>Feature Constraint</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FEATURE_MODEL__FEATURE_CONSTRAINT = eINSTANCE.getFeatureModel_FeatureConstraint();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureLinkImpl <em>Feature Link</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureLinkImpl
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl#getFeatureLink()
+ * @generated
+ */
+ EClass FEATURE_LINK = eINSTANCE.getFeatureLink();
+
+ /**
+ * The meta object literal for the '<em><b>Is Bidirectional</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FEATURE_LINK__IS_BIDIRECTIONAL = eINSTANCE.getFeatureLink_IsBidirectional();
+
+ /**
+ * The meta object literal for the '<em><b>Custom Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FEATURE_LINK__CUSTOM_TYPE = eINSTANCE.getFeatureLink_CustomType();
+
+ /**
+ * The meta object literal for the '<em><b>Base Dependency</b></em>' reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference FEATURE_LINK__BASE_DEPENDENCY = eINSTANCE.getFeatureLink_Base_Dependency();
+
+ /**
+ * The meta object literal for the '<em><b>Start</b></em>' reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference FEATURE_LINK__START = eINSTANCE.getFeatureLink_Start();
+
+ /**
+ * The meta object literal for the '<em><b>End</b></em>' reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference FEATURE_LINK__END = eINSTANCE.getFeatureLink_End();
+
+ /**
+ * The meta object literal for the '<em><b>Base Association Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FEATURE_LINK__BASE_ASSOCIATION_CLASS = eINSTANCE.getFeatureLink_Base_AssociationClass();
+
+ /**
+ * The meta object literal for the '<em><b>Kind</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FEATURE_LINK__KIND = eINSTANCE.getFeatureLink_Kind();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureImpl <em>Feature</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureImpl
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl#getFeature()
+ * @generated
+ */
+ EClass FEATURE = eINSTANCE.getFeature();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference FEATURE__BASE_CLASS = eINSTANCE.getFeature_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Cardinality</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute FEATURE__CARDINALITY = eINSTANCE.getFeature_Cardinality();
+
+ /**
+ * The meta object literal for the '<em><b>Required Binding Time</b></em>' reference feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FEATURE__REQUIRED_BINDING_TIME = eINSTANCE.getFeature_RequiredBindingTime();
+
+ /**
+ * The meta object literal for the '<em><b>Actual Binding Time</b></em>' reference feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FEATURE__ACTUAL_BINDING_TIME = eINSTANCE.getFeature_ActualBindingTime();
+
+ /**
+ * The meta object literal for the '<em><b>Feature Parameter</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FEATURE__FEATURE_PARAMETER = eINSTANCE.getFeature_FeatureParameter();
+
+ /**
+ * The meta object literal for the '<em><b>Child Node</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FEATURE__CHILD_NODE = eINSTANCE.getFeature_ChildNode();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureTreeNodeImpl <em>Feature Tree Node</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureTreeNodeImpl
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl#getFeatureTreeNode()
+ * @generated
+ */
+ EClass FEATURE_TREE_NODE = eINSTANCE.getFeatureTreeNode();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.BindingTimeImpl <em>Binding Time</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.BindingTimeImpl
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl#getBindingTime()
+ * @generated
+ */
+ EClass BINDING_TIME = eINSTANCE.getBindingTime();
+
+ /**
+ * The meta object literal for the '<em><b>Kind</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute BINDING_TIME__KIND = eINSTANCE.getBindingTime_Kind();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference BINDING_TIME__BASE_CLASS = eINSTANCE.getBindingTime_Base_Class();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureGroupImpl <em>Feature Group</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureGroupImpl
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl#getFeatureGroup()
+ * @generated
+ */
+ EClass FEATURE_GROUP = eINSTANCE.getFeatureGroup();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference FEATURE_GROUP__BASE_CLASS = eINSTANCE.getFeatureGroup_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Cardinality</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute FEATURE_GROUP__CARDINALITY = eINSTANCE.getFeatureGroup_Cardinality();
+
+ /**
+ * The meta object literal for the '<em><b>Child Feature</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FEATURE_GROUP__CHILD_FEATURE = eINSTANCE.getFeatureGroup_ChildFeature();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureConstraintImpl <em>Feature Constraint</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl#getFeatureConstraint()
+ * @generated
+ */
+ EClass FEATURE_CONSTRAINT = eINSTANCE.getFeatureConstraint();
+
+ /**
+ * The meta object literal for the '<em><b>Criterion</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute FEATURE_CONSTRAINT__CRITERION = eINSTANCE.getFeatureConstraint_Criterion();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference FEATURE_CONSTRAINT__BASE_CLASS = eINSTANCE.getFeatureConstraint_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Base Constraint</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FEATURE_CONSTRAINT__BASE_CONSTRAINT = eINSTANCE.getFeatureConstraint_Base_Constraint();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTimeKind <em>Binding Time Kind</em>}' enum.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTimeKind
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl#getBindingTimeKind()
+ * @generated
+ */
+ EEnum BINDING_TIME_KIND = eINSTANCE.getBindingTimeKind();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.VariabilityDependencyKind <em>Variability Dependency Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.VariabilityDependencyKind
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl#getVariabilityDependencyKind()
+ * @generated
+ */
+ EEnum VARIABILITY_DEPENDENCY_KIND = eINSTANCE.getVariabilityDependencyKind();
+
+ }
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "featuremodeling";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.papyrusuml.org/EAST-ADL2/Structure/FeatureModeling/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "FeatureModeling";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ FeaturemodelingPackage eINSTANCE = org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureModelImpl <em>Feature Model</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureModelImpl
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl#getFeatureModel()
+ * @generated
+ */
+ int FEATURE_MODEL = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureLinkImpl <em>Feature Link</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureLinkImpl
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl#getFeatureLink()
+ * @generated
+ */
+ int FEATURE_LINK = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureImpl <em>Feature</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureImpl
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl#getFeature()
+ * @generated
+ */
+ int FEATURE = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureTreeNodeImpl <em>Feature Tree Node</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureTreeNodeImpl
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl#getFeatureTreeNode()
+ * @generated
+ */
+ int FEATURE_TREE_NODE = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.BindingTimeImpl <em>Binding Time</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.BindingTimeImpl
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl#getBindingTime()
+ * @generated
+ */
+ int BINDING_TIME = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureGroupImpl <em>Feature Group</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureGroupImpl
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl#getFeatureGroup()
+ * @generated
+ */
+ int FEATURE_GROUP = 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureConstraintImpl <em>Feature Constraint</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl#getFeatureConstraint()
+ * @generated
+ */
+ int FEATURE_CONSTRAINT = 5;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_MODEL__NAME = ElementsPackage.CONTEXT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_MODEL__BASE_NAMED_ELEMENT = ElementsPackage.CONTEXT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_MODEL__OWNED_COMMENT = ElementsPackage.CONTEXT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_MODEL__TRACEABLE_SPECIFICATION = ElementsPackage.CONTEXT__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_MODEL__OWNED_RELATIONSHIP = ElementsPackage.CONTEXT__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_MODEL__BASE_PACKAGE = ElementsPackage.CONTEXT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_MODEL__BASE_CLASS = ElementsPackage.CONTEXT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Root Feature</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_MODEL__ROOT_FEATURE = ElementsPackage.CONTEXT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Feature Link</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_MODEL__FEATURE_LINK = ElementsPackage.CONTEXT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Feature Constraint</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_MODEL__FEATURE_CONSTRAINT = ElementsPackage.CONTEXT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Feature Model</em>' class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_MODEL_FEATURE_COUNT = ElementsPackage.CONTEXT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_TREE_NODE__NAME = ElementsPackage.CONTEXT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_TREE_NODE__BASE_NAMED_ELEMENT = ElementsPackage.CONTEXT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_TREE_NODE__OWNED_COMMENT = ElementsPackage.CONTEXT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_TREE_NODE__TRACEABLE_SPECIFICATION = ElementsPackage.CONTEXT__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_TREE_NODE__OWNED_RELATIONSHIP = ElementsPackage.CONTEXT__OWNED_RELATIONSHIP;
+
+ /**
+ * The number of structural features of the '<em>Feature Tree Node</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_TREE_NODE_FEATURE_COUNT = ElementsPackage.CONTEXT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE__NAME = FEATURE_TREE_NODE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE__BASE_NAMED_ELEMENT = FEATURE_TREE_NODE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE__OWNED_COMMENT = FEATURE_TREE_NODE__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE__TRACEABLE_SPECIFICATION = FEATURE_TREE_NODE__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE__OWNED_RELATIONSHIP = FEATURE_TREE_NODE__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE__BASE_CLASS = FEATURE_TREE_NODE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Cardinality</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE__CARDINALITY = FEATURE_TREE_NODE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Required Binding Time</b></em>' reference.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE__REQUIRED_BINDING_TIME = FEATURE_TREE_NODE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Actual Binding Time</b></em>' reference.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE__ACTUAL_BINDING_TIME = FEATURE_TREE_NODE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Feature Parameter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE__FEATURE_PARAMETER = FEATURE_TREE_NODE_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Child Node</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE__CHILD_NODE = FEATURE_TREE_NODE_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Feature</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_FEATURE_COUNT = FEATURE_TREE_NODE_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINDING_TIME__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINDING_TIME__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINDING_TIME__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Kind</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINDING_TIME__KIND = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINDING_TIME__BASE_CLASS = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Binding Time</em>' class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINDING_TIME_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LINK__NAME = ElementsPackage.RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LINK__BASE_NAMED_ELEMENT = ElementsPackage.RELATIONSHIP__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LINK__OWNED_COMMENT = ElementsPackage.RELATIONSHIP__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Is Bidirectional</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LINK__IS_BIDIRECTIONAL = ElementsPackage.RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Custom Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LINK__CUSTOM_TYPE = ElementsPackage.RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Dependency</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LINK__BASE_DEPENDENCY = ElementsPackage.RELATIONSHIP_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Start</b></em>' reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LINK__START = ElementsPackage.RELATIONSHIP_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>End</b></em>' reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LINK__END = ElementsPackage.RELATIONSHIP_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Base Association Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LINK__BASE_ASSOCIATION_CLASS = ElementsPackage.RELATIONSHIP_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LINK__KIND = ElementsPackage.RELATIONSHIP_FEATURE_COUNT + 6;
+
+ /**
+ * The number of structural features of the '<em>Feature Link</em>' class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_LINK_FEATURE_COUNT = ElementsPackage.RELATIONSHIP_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_CONSTRAINT__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_CONSTRAINT__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_CONSTRAINT__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Criterion</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_CONSTRAINT__CRITERION = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_CONSTRAINT__BASE_CLASS = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Constraint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_CONSTRAINT__BASE_CONSTRAINT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Feature Constraint</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_CONSTRAINT_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_GROUP__NAME = FEATURE_TREE_NODE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_GROUP__BASE_NAMED_ELEMENT = FEATURE_TREE_NODE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_GROUP__OWNED_COMMENT = FEATURE_TREE_NODE__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_GROUP__TRACEABLE_SPECIFICATION = FEATURE_TREE_NODE__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FEATURE_GROUP__OWNED_RELATIONSHIP = FEATURE_TREE_NODE__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_GROUP__BASE_CLASS = FEATURE_TREE_NODE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Cardinality</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_GROUP__CARDINALITY = FEATURE_TREE_NODE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Child Feature</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_GROUP__CHILD_FEATURE = FEATURE_TREE_NODE_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Feature Group</em>' class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_GROUP_FEATURE_COUNT = FEATURE_TREE_NODE_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTimeKind <em>Binding Time Kind</em>}' enum.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTimeKind
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl#getBindingTimeKind()
+ * @generated
+ */
+ int BINDING_TIME_KIND = 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.VariabilityDependencyKind <em>Variability Dependency Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.VariabilityDependencyKind
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl#getVariabilityDependencyKind()
+ * @generated
+ */
+ int VARIABILITY_DEPENDENCY_KIND = 8;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTime <em>Binding Time</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Binding Time</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTime
+ * @generated
+ */
+ EClass getBindingTime();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTime#getKind <em>Kind</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Kind</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTime#getKind()
+ * @see #getBindingTime()
+ * @generated
+ */
+ EAttribute getBindingTime_Kind();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTime#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.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTime#getBase_Class()
+ * @see #getBindingTime()
+ * @generated
+ */
+ EReference getBindingTime_Base_Class();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTimeKind <em>Binding Time Kind</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Binding Time Kind</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTimeKind
+ * @generated
+ */
+ EEnum getBindingTimeKind();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature <em>Feature</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Feature</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature
+ * @generated
+ */
+ EClass getFeature();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature#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.eclipse.papyrus.eastadl.structure.featuremodeling.Feature#getBase_Class()
+ * @see #getFeature()
+ * @generated
+ */
+ EReference getFeature_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature#getActualBindingTime <em>Actual Binding Time</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Actual Binding Time</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature#getActualBindingTime()
+ * @see #getFeature()
+ * @generated
+ */
+ EReference getFeature_ActualBindingTime();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature#getCardinality <em>Cardinality</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Cardinality</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature#getCardinality()
+ * @see #getFeature()
+ * @generated
+ */
+ EAttribute getFeature_Cardinality();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature#getChildNode <em>Child Node</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Child Node</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature#getChildNode()
+ * @see #getFeature()
+ * @generated
+ */
+ EReference getFeature_ChildNode();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature#getFeatureParameter <em>Feature Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Feature Parameter</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature#getFeatureParameter()
+ * @see #getFeature()
+ * @generated
+ */
+ EReference getFeature_FeatureParameter();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature#getRequiredBindingTime <em>Required Binding Time</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Required Binding Time</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature#getRequiredBindingTime()
+ * @see #getFeature()
+ * @generated
+ */
+ EReference getFeature_RequiredBindingTime();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureConstraint <em>Feature Constraint</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Feature Constraint</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureConstraint
+ * @generated
+ */
+ EClass getFeatureConstraint();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureConstraint#getCriterion <em>Criterion</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Criterion</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureConstraint#getCriterion()
+ * @see #getFeatureConstraint()
+ * @generated
+ */
+ EAttribute getFeatureConstraint_Criterion();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureConstraint#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.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureConstraint#getBase_Class()
+ * @see #getFeatureConstraint()
+ * @generated
+ */
+ EReference getFeatureConstraint_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureConstraint#getBase_Constraint <em>Base Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Constraint</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureConstraint#getBase_Constraint()
+ * @see #getFeatureConstraint()
+ * @generated
+ */
+ EReference getFeatureConstraint_Base_Constraint();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureGroup <em>Feature Group</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Feature Group</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureGroup
+ * @generated
+ */
+ EClass getFeatureGroup();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureGroup#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.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureGroup#getBase_Class()
+ * @see #getFeatureGroup()
+ * @generated
+ */
+ EReference getFeatureGroup_Base_Class();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureGroup#getCardinality <em>Cardinality</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Cardinality</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureGroup#getCardinality()
+ * @see #getFeatureGroup()
+ * @generated
+ */
+ EAttribute getFeatureGroup_Cardinality();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureGroup#getChildFeature <em>Child Feature</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Child Feature</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureGroup#getChildFeature()
+ * @see #getFeatureGroup()
+ * @generated
+ */
+ EReference getFeatureGroup_ChildFeature();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink <em>Feature Link</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Feature Link</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink
+ * @generated
+ */
+ EClass getFeatureLink();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink#getCustomType <em>Custom Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Custom Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink#getCustomType()
+ * @see #getFeatureLink()
+ * @generated
+ */
+ EAttribute getFeatureLink_CustomType();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink#getBase_Dependency <em>Base Dependency</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Dependency</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink#getBase_Dependency()
+ * @see #getFeatureLink()
+ * @generated
+ */
+ EReference getFeatureLink_Base_Dependency();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink#getEnd <em>End</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>End</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink#getEnd()
+ * @see #getFeatureLink()
+ * @generated
+ */
+ EReference getFeatureLink_End();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink#getBase_AssociationClass <em>Base Association Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Association Class</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink#getBase_AssociationClass()
+ * @see #getFeatureLink()
+ * @generated
+ */
+ EReference getFeatureLink_Base_AssociationClass();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink#isIsBidirectional <em>Is Bidirectional</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Bidirectional</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink#isIsBidirectional()
+ * @see #getFeatureLink()
+ * @generated
+ */
+ EAttribute getFeatureLink_IsBidirectional();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink#getKind <em>Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Kind</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink#getKind()
+ * @see #getFeatureLink()
+ * @generated
+ */
+ EAttribute getFeatureLink_Kind();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink#getStart <em>Start</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Start</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink#getStart()
+ * @see #getFeatureLink()
+ * @generated
+ */
+ EReference getFeatureLink_Start();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel <em>Feature Model</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Feature Model</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel
+ * @generated
+ */
+ EClass getFeatureModel();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel#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.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel#getBase_Package()
+ * @see #getFeatureModel()
+ * @generated
+ */
+ EReference getFeatureModel_Base_Package();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel#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.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel#getBase_Class()
+ * @see #getFeatureModel()
+ * @generated
+ */
+ EReference getFeatureModel_Base_Class();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel#getFeatureConstraint <em>Feature Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Feature Constraint</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel#getFeatureConstraint()
+ * @see #getFeatureModel()
+ * @generated
+ */
+ EReference getFeatureModel_FeatureConstraint();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel#getFeatureLink <em>Feature Link</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Feature Link</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel#getFeatureLink()
+ * @see #getFeatureModel()
+ * @generated
+ */
+ EReference getFeatureModel_FeatureLink();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel#getRootFeature <em>Root Feature</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Root Feature</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel#getRootFeature()
+ * @see #getFeatureModel()
+ * @generated
+ */
+ EReference getFeatureModel_RootFeature();
+
+ /**
+ * 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
+ */
+ FeaturemodelingFactory getFeaturemodelingFactory();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureTreeNode <em>Feature Tree Node</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Feature Tree Node</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureTreeNode
+ * @generated
+ */
+ EClass getFeatureTreeNode();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.VariabilityDependencyKind <em>Variability Dependency Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Variability Dependency Kind</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.VariabilityDependencyKind
+ * @generated
+ */
+ EEnum getVariabilityDependencyKind();
+
+} // FeaturemodelingPackage
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/VariabilityDependencyKind.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/VariabilityDependencyKind.java
new file mode 100644
index 00000000000..4bc4ecb9d44
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/VariabilityDependencyKind.java
@@ -0,0 +1,348 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.featuremodeling;
+
+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>Variability Dependency Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * This enumeration encapsulates the available types of constraints that can be applied to a FeatureLink or VariationGroup (the latter is applicable only if the variability extension is used).
+ *
+ * Semantics:
+ * Predefined kinds of constraints that can be associated to a FeatureLink or VariationGroup.
+ *
+ * Extension:
+ * Enumeration, no extension.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#getVariabilityDependencyKind()
+ * @model
+ * @generated
+ */
+public enum VariabilityDependencyKind implements Enumerator {
+ /**
+ * The '<em><b>Needs</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #NEEDS_VALUE
+ * @generated
+ * @ordered
+ */
+ NEEDS(0, "needs", "needs"),
+
+ /**
+ * The '<em><b>Optional Alternative</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #OPTIONAL_ALTERNATIVE_VALUE
+ * @generated
+ * @ordered
+ */
+ OPTIONAL_ALTERNATIVE(1, "optionalAlternative", "optionalAlternative"),
+
+ /**
+ * The '<em><b>Custom</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #CUSTOM_VALUE
+ * @generated
+ * @ordered
+ */
+ CUSTOM(2, "custom", "custom"),
+
+ /**
+ * The '<em><b>Mandatory Alternative</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #MANDATORY_ALTERNATIVE_VALUE
+ * @generated
+ * @ordered
+ */
+ MANDATORY_ALTERNATIVE(3, "mandatoryAlternative", "mandatoryAlternative"),
+
+ /**
+ * The '<em><b>Suggests</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SUGGESTS_VALUE
+ * @generated
+ * @ordered
+ */
+ SUGGESTS(4, "suggests", "suggests"),
+
+ /**
+ * The '<em><b>Impedes</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #IMPEDES_VALUE
+ * @generated
+ * @ordered
+ */
+ IMPEDES(5, "impedes", "impedes");
+
+ /**
+ * The '<em><b>Needs</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * When used in a FeatureLink: if the FeatureLink's start feature S is selected, then also its end feature E must be selected: not (S and not E). Always unidirectional.
+ *
+ * When used in a VariationGroup: assuming the ordered association variableElement in meta-class VariationGroup refers to elements VE1, VE2, ..., VEn, this kind states that VE1 requires (i.e. may not appear without) all other elements VE2, VE3, ..., VEn.
+ * <!-- end-model-doc -->
+ * @see #NEEDS
+ * @model name="needs"
+ * @generated
+ * @ordered
+ */
+ public static final int NEEDS_VALUE = 0;
+
+ /**
+ * The '<em><b>Optional Alternative</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * When used in a FeatureLink: the FeatureLink's start feature S and end feature E are incompatible and must never be both selected in a single configuration: not (S and E). Always bidirectional.
+ *
+ * When used in a VariationGroup: this kind states that at most(!) one element of the elements denoted by association variableElement of the VariationGroup must be selected in any valid final system configuration.
+ * <!-- end-model-doc -->
+ * @see #OPTIONAL_ALTERNATIVE
+ * @model name="optionalAlternative"
+ * @generated
+ * @ordered
+ */
+ public static final int OPTIONAL_ALTERNATIVE_VALUE = 1;
+
+ /**
+ * The '<em><b>Custom</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * When used in a FeatureLink: the attribute customType in the FeatureLink defines the custom feature link type as explained there.
+ *
+ * When used in a VariationGroup: this kind states that the dependency between the elements denoted by association variableElement of the VariationGroup will be defined by a logical expression in attribute 'constraint' of the VariationGroup.
+ * <!-- end-model-doc -->
+ * @see #CUSTOM
+ * @model name="custom"
+ * @generated
+ * @ordered
+ */
+ public static final int CUSTOM_VALUE = 2;
+
+ /**
+ * The '<em><b>Mandatory Alternative</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * When used in a FeatureLink: either the FeatureLink's start feature S or its end feature E must be selected in any configuration: S xor E. Always bidirectional.
+ *
+ * When used in a VariationGroup: this kind states that exactly(!) one element of the elements denoted by association variableElement of the VariationGroup must be selected in any valid final system configuration.
+ * <!-- end-model-doc -->
+ * @see #MANDATORY_ALTERNATIVE
+ * @model name="mandatoryAlternative"
+ * @generated
+ * @ordered
+ */
+ public static final int MANDATORY_ALTERNATIVE_VALUE = 3;
+
+ /**
+ * The '<em><b>Suggests</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Weak form of "needs".
+ *
+ * When used in a FeatureLink: if the FeatureLink's start feature S is selected, then usually(!) also its end feature E must be selected. You can select S without E but you should have a good reason to do so. Always unidirectional.
+ *
+ * When used in a VariationGroup: accordingly as above.
+ * <!-- end-model-doc -->
+ * @see #SUGGESTS
+ * @model name="suggests"
+ * @generated
+ * @ordered
+ */
+ public static final int SUGGESTS_VALUE = 4;
+
+ /**
+ * The '<em><b>Impedes</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Weak from of "excludes".
+ *
+ * When used in a FeatureLink: the FeatureLink's start feature S and its end feature E must usually(!) not be selected in a single configuration. You can select S together with E but you should have a good reason to do so. Always bidirectional.
+ *
+ * When used in a VariationGroup: accordingly as above.
+ * <!-- end-model-doc -->
+ * @see #IMPEDES
+ * @model name="impedes"
+ * @generated
+ * @ordered
+ */
+ public static final int IMPEDES_VALUE = 5;
+
+ /**
+ * An array of all the '<em><b>Variability Dependency Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final VariabilityDependencyKind[] VALUES_ARRAY =
+ new VariabilityDependencyKind[] {
+ NEEDS,
+ OPTIONAL_ALTERNATIVE,
+ CUSTOM,
+ MANDATORY_ALTERNATIVE,
+ SUGGESTS,
+ IMPEDES,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Variability Dependency Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<VariabilityDependencyKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Variability Dependency Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static VariabilityDependencyKind get(int value) {
+ switch (value) {
+ case NEEDS_VALUE: return NEEDS;
+ case OPTIONAL_ALTERNATIVE_VALUE: return OPTIONAL_ALTERNATIVE;
+ case CUSTOM_VALUE: return CUSTOM;
+ case MANDATORY_ALTERNATIVE_VALUE: return MANDATORY_ALTERNATIVE;
+ case SUGGESTS_VALUE: return SUGGESTS;
+ case IMPEDES_VALUE: return IMPEDES;
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Variability Dependency Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static VariabilityDependencyKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ VariabilityDependencyKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Variability Dependency Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static VariabilityDependencyKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ VariabilityDependencyKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ 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 VariabilityDependencyKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * 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;
+ }
+
+} //VariabilityDependencyKind
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/BindingTimeImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/BindingTimeImpl.java
new file mode 100644
index 00000000000..9928d677ce4
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/BindingTimeImpl.java
@@ -0,0 +1,227 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.featuremodeling.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.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTime;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTimeKind;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Binding Time</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.BindingTimeImpl#getKind <em>Kind</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.BindingTimeImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BindingTimeImpl extends EAElementImpl implements BindingTime {
+
+ /**
+ * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected static final BindingTimeKind KIND_EDEFAULT = BindingTimeKind.SYSTEM_DESIGN_TIME;
+
+ /**
+ * The cached value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected BindingTimeKind kind = KIND_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 BindingTimeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FeaturemodelingPackage.BINDING_TIME__KIND:
+ return getKind();
+ case FeaturemodelingPackage.BINDING_TIME__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 boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FeaturemodelingPackage.BINDING_TIME__KIND:
+ return kind != KIND_EDEFAULT;
+ case FeaturemodelingPackage.BINDING_TIME__BASE_CLASS:
+ return base_Class != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case FeaturemodelingPackage.BINDING_TIME__KIND:
+ setKind((BindingTimeKind)newValue);
+ return;
+ case FeaturemodelingPackage.BINDING_TIME__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FeaturemodelingPackage.Literals.BINDING_TIME;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FeaturemodelingPackage.BINDING_TIME__KIND:
+ setKind(KIND_EDEFAULT);
+ return;
+ case FeaturemodelingPackage.BINDING_TIME__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public BindingTimeKind getKind() {
+ return kind;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setKind(BindingTimeKind newKind) {
+ BindingTimeKind oldKind = kind;
+ kind = newKind == null ? KIND_EDEFAULT : newKind;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FeaturemodelingPackage.BINDING_TIME__KIND, oldKind, kind));
+ }
+
+ /**
+ * <!-- 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, FeaturemodelingPackage.BINDING_TIME__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, FeaturemodelingPackage.BINDING_TIME__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (kind: ");
+ result.append(kind);
+ result.append(')');
+ return result.toString();
+ }
+
+} // BindingTimeImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeatureConstraintImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeatureConstraintImpl.java
new file mode 100644
index 00000000000..282cf2b8fc8
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeatureConstraintImpl.java
@@ -0,0 +1,287 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.featuremodeling.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.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureConstraint;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.uml2.uml.Constraint;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Feature Constraint</b></em>
+ * '. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureConstraintImpl#getCriterion <em>Criterion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureConstraintImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureConstraintImpl#getBase_Constraint <em>Base Constraint</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FeatureConstraintImpl extends EAElementImpl implements FeatureConstraint {
+
+ /**
+ * The default value of the '{@link #getCriterion() <em>Criterion</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getCriterion()
+ * @generated
+ * @ordered
+ */
+ protected static final String CRITERION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCriterion() <em>Criterion</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getCriterion()
+ * @generated
+ * @ordered
+ */
+ protected String criterion = CRITERION_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;
+
+ /**
+ * The cached value of the '{@link #getBase_Constraint() <em>Base Constraint</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Constraint()
+ * @generated
+ * @ordered
+ */
+ protected Constraint base_Constraint;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected FeatureConstraintImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FeaturemodelingPackage.FEATURE_CONSTRAINT__CRITERION:
+ return getCriterion();
+ case FeaturemodelingPackage.FEATURE_CONSTRAINT__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case FeaturemodelingPackage.FEATURE_CONSTRAINT__BASE_CONSTRAINT:
+ if (resolve) return getBase_Constraint();
+ return basicGetBase_Constraint();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FeaturemodelingPackage.FEATURE_CONSTRAINT__CRITERION:
+ return CRITERION_EDEFAULT == null ? criterion != null : !CRITERION_EDEFAULT.equals(criterion);
+ case FeaturemodelingPackage.FEATURE_CONSTRAINT__BASE_CLASS:
+ return base_Class != null;
+ case FeaturemodelingPackage.FEATURE_CONSTRAINT__BASE_CONSTRAINT:
+ return base_Constraint != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case FeaturemodelingPackage.FEATURE_CONSTRAINT__CRITERION:
+ setCriterion((String)newValue);
+ return;
+ case FeaturemodelingPackage.FEATURE_CONSTRAINT__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case FeaturemodelingPackage.FEATURE_CONSTRAINT__BASE_CONSTRAINT:
+ setBase_Constraint((Constraint)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FeaturemodelingPackage.Literals.FEATURE_CONSTRAINT;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FeaturemodelingPackage.FEATURE_CONSTRAINT__CRITERION:
+ setCriterion(CRITERION_EDEFAULT);
+ return;
+ case FeaturemodelingPackage.FEATURE_CONSTRAINT__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case FeaturemodelingPackage.FEATURE_CONSTRAINT__BASE_CONSTRAINT:
+ setBase_Constraint((Constraint)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCriterion() {
+ return criterion;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCriterion(String newCriterion) {
+ String oldCriterion = criterion;
+ criterion = newCriterion;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FeaturemodelingPackage.FEATURE_CONSTRAINT__CRITERION, oldCriterion, criterion));
+ }
+
+ /**
+ * <!-- 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, FeaturemodelingPackage.FEATURE_CONSTRAINT__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, FeaturemodelingPackage.FEATURE_CONSTRAINT__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getBase_Constraint() {
+ if (base_Constraint != null && base_Constraint.eIsProxy()) {
+ InternalEObject oldBase_Constraint = (InternalEObject)base_Constraint;
+ base_Constraint = (Constraint)eResolveProxy(oldBase_Constraint);
+ if (base_Constraint != oldBase_Constraint) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, FeaturemodelingPackage.FEATURE_CONSTRAINT__BASE_CONSTRAINT, oldBase_Constraint, base_Constraint));
+ }
+ }
+ return base_Constraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint basicGetBase_Constraint() {
+ return base_Constraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Constraint(Constraint newBase_Constraint) {
+ Constraint oldBase_Constraint = base_Constraint;
+ base_Constraint = newBase_Constraint;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FeaturemodelingPackage.FEATURE_CONSTRAINT__BASE_CONSTRAINT, oldBase_Constraint, base_Constraint));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (criterion: ");
+ result.append(criterion);
+ result.append(')');
+ return result.toString();
+ }
+
+} // FeatureConstraintImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeatureGroupImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeatureGroupImpl.java
new file mode 100644
index 00000000000..a2473ecb0a3
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeatureGroupImpl.java
@@ -0,0 +1,265 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.featuremodeling.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.eastadl.structure.featuremodeling.Feature;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureGroup;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Feature Group</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureGroupImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureGroupImpl#getCardinality <em>Cardinality</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureGroupImpl#getChildFeature <em>Child Feature</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FeatureGroupImpl extends FeatureTreeNodeImpl implements FeatureGroup {
+
+ /**
+ * 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 #getCardinality() <em>Cardinality</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCardinality()
+ * @generated
+ * @ordered
+ */
+ protected static final String CARDINALITY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCardinality() <em>Cardinality</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getCardinality()
+ * @generated
+ * @ordered
+ */
+ protected String cardinality = CARDINALITY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getChildFeature() <em>Child Feature</em>}' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getChildFeature()
+ * @generated
+ * @ordered
+ */
+ protected EList<Feature> childFeature;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected FeatureGroupImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FeaturemodelingPackage.FEATURE_GROUP__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case FeaturemodelingPackage.FEATURE_GROUP__CARDINALITY:
+ return getCardinality();
+ case FeaturemodelingPackage.FEATURE_GROUP__CHILD_FEATURE:
+ return getChildFeature();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FeaturemodelingPackage.FEATURE_GROUP__BASE_CLASS:
+ return base_Class != null;
+ case FeaturemodelingPackage.FEATURE_GROUP__CARDINALITY:
+ return CARDINALITY_EDEFAULT == null ? cardinality != null : !CARDINALITY_EDEFAULT.equals(cardinality);
+ case FeaturemodelingPackage.FEATURE_GROUP__CHILD_FEATURE:
+ return childFeature != null && !childFeature.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case FeaturemodelingPackage.FEATURE_GROUP__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case FeaturemodelingPackage.FEATURE_GROUP__CARDINALITY:
+ setCardinality((String)newValue);
+ return;
+ case FeaturemodelingPackage.FEATURE_GROUP__CHILD_FEATURE:
+ getChildFeature().clear();
+ getChildFeature().addAll((Collection<? extends Feature>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FeaturemodelingPackage.Literals.FEATURE_GROUP;
+ }
+
+ /**
+ * <!-- 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, FeaturemodelingPackage.FEATURE_GROUP__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, FeaturemodelingPackage.FEATURE_GROUP__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FeaturemodelingPackage.FEATURE_GROUP__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case FeaturemodelingPackage.FEATURE_GROUP__CARDINALITY:
+ setCardinality(CARDINALITY_EDEFAULT);
+ return;
+ case FeaturemodelingPackage.FEATURE_GROUP__CHILD_FEATURE:
+ getChildFeature().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCardinality() {
+ return cardinality;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Feature> getChildFeature() {
+ if (childFeature == null) {
+ childFeature = new EObjectResolvingEList<Feature>(Feature.class, this, FeaturemodelingPackage.FEATURE_GROUP__CHILD_FEATURE);
+ }
+ return childFeature;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCardinality(String newCardinality) {
+ String oldCardinality = cardinality;
+ cardinality = newCardinality;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FeaturemodelingPackage.FEATURE_GROUP__CARDINALITY, oldCardinality, cardinality));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (cardinality: ");
+ result.append(cardinality);
+ result.append(')');
+ return result.toString();
+ }
+
+} // FeatureGroupImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeatureImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeatureImpl.java
new file mode 100644
index 00000000000..e4b3baec598
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeatureImpl.java
@@ -0,0 +1,437 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.featuremodeling.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.eastadl.infrastructure.datatypes.EADatatypePrototype;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTime;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureTreeNode;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Feature</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureImpl#getCardinality <em>Cardinality</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureImpl#getRequiredBindingTime <em>Required Binding Time</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureImpl#getActualBindingTime <em>Actual Binding Time</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureImpl#getFeatureParameter <em>Feature Parameter</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureImpl#getChildNode <em>Child Node</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FeatureImpl extends FeatureTreeNodeImpl implements Feature {
+
+ /**
+ * 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 #getCardinality() <em>Cardinality</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getCardinality()
+ * @generated
+ * @ordered
+ */
+ protected static final String CARDINALITY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCardinality() <em>Cardinality</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getCardinality()
+ * @generated
+ * @ordered
+ */
+ protected String cardinality = CARDINALITY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getRequiredBindingTime() <em>Required Binding Time</em>}' reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getRequiredBindingTime()
+ * @generated
+ * @ordered
+ */
+ protected BindingTime requiredBindingTime;
+
+ /**
+ * The cached value of the '{@link #getActualBindingTime() <em>Actual Binding Time</em>}' reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getActualBindingTime()
+ * @generated
+ * @ordered
+ */
+ protected BindingTime actualBindingTime;
+
+ /**
+ * The cached value of the '{@link #getFeatureParameter() <em>Feature Parameter</em>}' reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getFeatureParameter()
+ * @generated
+ * @ordered
+ */
+ protected EADatatypePrototype featureParameter;
+
+ /**
+ * The cached value of the '{@link #getChildNode() <em>Child Node</em>}' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getChildNode()
+ * @generated
+ * @ordered
+ */
+ protected EList<FeatureTreeNode> childNode;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected FeatureImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BindingTime basicGetActualBindingTime() {
+ return actualBindingTime;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EADatatypePrototype basicGetFeatureParameter() {
+ return featureParameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFeatureParameter(EADatatypePrototype newFeatureParameter) {
+ EADatatypePrototype oldFeatureParameter = featureParameter;
+ featureParameter = newFeatureParameter;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FeaturemodelingPackage.FEATURE__FEATURE_PARAMETER, oldFeatureParameter, featureParameter));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BindingTime basicGetRequiredBindingTime() {
+ return requiredBindingTime;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FeaturemodelingPackage.FEATURE__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case FeaturemodelingPackage.FEATURE__CARDINALITY:
+ return getCardinality();
+ case FeaturemodelingPackage.FEATURE__REQUIRED_BINDING_TIME:
+ if (resolve) return getRequiredBindingTime();
+ return basicGetRequiredBindingTime();
+ case FeaturemodelingPackage.FEATURE__ACTUAL_BINDING_TIME:
+ if (resolve) return getActualBindingTime();
+ return basicGetActualBindingTime();
+ case FeaturemodelingPackage.FEATURE__FEATURE_PARAMETER:
+ if (resolve) return getFeatureParameter();
+ return basicGetFeatureParameter();
+ case FeaturemodelingPackage.FEATURE__CHILD_NODE:
+ return getChildNode();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FeaturemodelingPackage.FEATURE__BASE_CLASS:
+ return base_Class != null;
+ case FeaturemodelingPackage.FEATURE__CARDINALITY:
+ return CARDINALITY_EDEFAULT == null ? cardinality != null : !CARDINALITY_EDEFAULT.equals(cardinality);
+ case FeaturemodelingPackage.FEATURE__REQUIRED_BINDING_TIME:
+ return requiredBindingTime != null;
+ case FeaturemodelingPackage.FEATURE__ACTUAL_BINDING_TIME:
+ return actualBindingTime != null;
+ case FeaturemodelingPackage.FEATURE__FEATURE_PARAMETER:
+ return featureParameter != null;
+ case FeaturemodelingPackage.FEATURE__CHILD_NODE:
+ return childNode != null && !childNode.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case FeaturemodelingPackage.FEATURE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case FeaturemodelingPackage.FEATURE__CARDINALITY:
+ setCardinality((String)newValue);
+ return;
+ case FeaturemodelingPackage.FEATURE__REQUIRED_BINDING_TIME:
+ setRequiredBindingTime((BindingTime)newValue);
+ return;
+ case FeaturemodelingPackage.FEATURE__ACTUAL_BINDING_TIME:
+ setActualBindingTime((BindingTime)newValue);
+ return;
+ case FeaturemodelingPackage.FEATURE__FEATURE_PARAMETER:
+ setFeatureParameter((EADatatypePrototype)newValue);
+ return;
+ case FeaturemodelingPackage.FEATURE__CHILD_NODE:
+ getChildNode().clear();
+ getChildNode().addAll((Collection<? extends FeatureTreeNode>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FeaturemodelingPackage.Literals.FEATURE;
+ }
+
+ /**
+ * <!-- 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, FeaturemodelingPackage.FEATURE__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, FeaturemodelingPackage.FEATURE__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FeaturemodelingPackage.FEATURE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case FeaturemodelingPackage.FEATURE__CARDINALITY:
+ setCardinality(CARDINALITY_EDEFAULT);
+ return;
+ case FeaturemodelingPackage.FEATURE__REQUIRED_BINDING_TIME:
+ setRequiredBindingTime((BindingTime)null);
+ return;
+ case FeaturemodelingPackage.FEATURE__ACTUAL_BINDING_TIME:
+ setActualBindingTime((BindingTime)null);
+ return;
+ case FeaturemodelingPackage.FEATURE__FEATURE_PARAMETER:
+ setFeatureParameter((EADatatypePrototype)null);
+ return;
+ case FeaturemodelingPackage.FEATURE__CHILD_NODE:
+ getChildNode().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public BindingTime getActualBindingTime() {
+ if (actualBindingTime != null && actualBindingTime.eIsProxy()) {
+ InternalEObject oldActualBindingTime = (InternalEObject)actualBindingTime;
+ actualBindingTime = (BindingTime)eResolveProxy(oldActualBindingTime);
+ if (actualBindingTime != oldActualBindingTime) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, FeaturemodelingPackage.FEATURE__ACTUAL_BINDING_TIME, oldActualBindingTime, actualBindingTime));
+ }
+ }
+ return actualBindingTime;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCardinality() {
+ return cardinality;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FeatureTreeNode> getChildNode() {
+ if (childNode == null) {
+ childNode = new EObjectResolvingEList<FeatureTreeNode>(FeatureTreeNode.class, this, FeaturemodelingPackage.FEATURE__CHILD_NODE);
+ }
+ return childNode;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EADatatypePrototype getFeatureParameter() {
+ if (featureParameter != null && featureParameter.eIsProxy()) {
+ InternalEObject oldFeatureParameter = (InternalEObject)featureParameter;
+ featureParameter = (EADatatypePrototype)eResolveProxy(oldFeatureParameter);
+ if (featureParameter != oldFeatureParameter) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, FeaturemodelingPackage.FEATURE__FEATURE_PARAMETER, oldFeatureParameter, featureParameter));
+ }
+ }
+ return featureParameter;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public BindingTime getRequiredBindingTime() {
+ if (requiredBindingTime != null && requiredBindingTime.eIsProxy()) {
+ InternalEObject oldRequiredBindingTime = (InternalEObject)requiredBindingTime;
+ requiredBindingTime = (BindingTime)eResolveProxy(oldRequiredBindingTime);
+ if (requiredBindingTime != oldRequiredBindingTime) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, FeaturemodelingPackage.FEATURE__REQUIRED_BINDING_TIME, oldRequiredBindingTime, requiredBindingTime));
+ }
+ }
+ return requiredBindingTime;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setActualBindingTime(BindingTime newActualBindingTime) {
+ BindingTime oldActualBindingTime = actualBindingTime;
+ actualBindingTime = newActualBindingTime;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FeaturemodelingPackage.FEATURE__ACTUAL_BINDING_TIME, oldActualBindingTime, actualBindingTime));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCardinality(String newCardinality) {
+ String oldCardinality = cardinality;
+ cardinality = newCardinality;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FeaturemodelingPackage.FEATURE__CARDINALITY, oldCardinality, cardinality));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRequiredBindingTime(BindingTime newRequiredBindingTime) {
+ BindingTime oldRequiredBindingTime = requiredBindingTime;
+ requiredBindingTime = newRequiredBindingTime;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FeaturemodelingPackage.FEATURE__REQUIRED_BINDING_TIME, oldRequiredBindingTime, requiredBindingTime));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (cardinality: ");
+ result.append(cardinality);
+ result.append(')');
+ return result.toString();
+ }
+
+} // FeatureImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeatureLinkImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeatureLinkImpl.java
new file mode 100644
index 00000000000..813875f1fc3
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeatureLinkImpl.java
@@ -0,0 +1,506 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.featuremodeling.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.eastadl.infrastructure.elements.impl.RelationshipImpl;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.VariabilityDependencyKind;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Dependency;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Feature Link</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureLinkImpl#isIsBidirectional <em>Is Bidirectional</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureLinkImpl#getCustomType <em>Custom Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureLinkImpl#getBase_Dependency <em>Base Dependency</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureLinkImpl#getStart <em>Start</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureLinkImpl#getEnd <em>End</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureLinkImpl#getBase_AssociationClass <em>Base Association Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureLinkImpl#getKind <em>Kind</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FeatureLinkImpl extends RelationshipImpl implements FeatureLink {
+
+ /**
+ * The default value of the '{@link #isIsBidirectional() <em>Is Bidirectional</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #isIsBidirectional()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_BIDIRECTIONAL_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsBidirectional() <em>Is Bidirectional</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #isIsBidirectional()
+ * @generated
+ * @ordered
+ */
+ protected boolean isBidirectional = IS_BIDIRECTIONAL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getCustomType() <em>Custom Type</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getCustomType()
+ * @generated
+ * @ordered
+ */
+ protected static final String CUSTOM_TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCustomType() <em>Custom Type</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getCustomType()
+ * @generated
+ * @ordered
+ */
+ protected String customType = CUSTOM_TYPE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBase_Dependency() <em>Base Dependency</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Dependency()
+ * @generated
+ * @ordered
+ */
+ protected Dependency base_Dependency;
+
+ /**
+ * The cached value of the '{@link #getStart() <em>Start</em>}' reference.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @see #getStart()
+ * @generated
+ * @ordered
+ */
+ protected Feature start;
+
+ /**
+ * The cached value of the '{@link #getEnd() <em>End</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEnd()
+ * @generated
+ * @ordered
+ */
+ protected Feature end;
+
+ /**
+ * The cached value of the '{@link #getBase_AssociationClass() <em>Base Association Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_AssociationClass()
+ * @generated
+ * @ordered
+ */
+ protected AssociationClass base_AssociationClass;
+
+ /**
+ * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected static final VariabilityDependencyKind KIND_EDEFAULT = VariabilityDependencyKind.NEEDS;
+
+ /**
+ * The cached value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected VariabilityDependencyKind kind = KIND_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected FeatureLinkImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Feature basicGetEnd() {
+ return end;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Feature basicGetStart() {
+ return start;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FeaturemodelingPackage.FEATURE_LINK__IS_BIDIRECTIONAL:
+ return isIsBidirectional();
+ case FeaturemodelingPackage.FEATURE_LINK__CUSTOM_TYPE:
+ return getCustomType();
+ case FeaturemodelingPackage.FEATURE_LINK__BASE_DEPENDENCY:
+ if (resolve) return getBase_Dependency();
+ return basicGetBase_Dependency();
+ case FeaturemodelingPackage.FEATURE_LINK__START:
+ if (resolve) return getStart();
+ return basicGetStart();
+ case FeaturemodelingPackage.FEATURE_LINK__END:
+ if (resolve) return getEnd();
+ return basicGetEnd();
+ case FeaturemodelingPackage.FEATURE_LINK__BASE_ASSOCIATION_CLASS:
+ if (resolve) return getBase_AssociationClass();
+ return basicGetBase_AssociationClass();
+ case FeaturemodelingPackage.FEATURE_LINK__KIND:
+ return getKind();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FeaturemodelingPackage.FEATURE_LINK__IS_BIDIRECTIONAL:
+ return isBidirectional != IS_BIDIRECTIONAL_EDEFAULT;
+ case FeaturemodelingPackage.FEATURE_LINK__CUSTOM_TYPE:
+ return CUSTOM_TYPE_EDEFAULT == null ? customType != null : !CUSTOM_TYPE_EDEFAULT.equals(customType);
+ case FeaturemodelingPackage.FEATURE_LINK__BASE_DEPENDENCY:
+ return base_Dependency != null;
+ case FeaturemodelingPackage.FEATURE_LINK__START:
+ return start != null;
+ case FeaturemodelingPackage.FEATURE_LINK__END:
+ return end != null;
+ case FeaturemodelingPackage.FEATURE_LINK__BASE_ASSOCIATION_CLASS:
+ return base_AssociationClass != null;
+ case FeaturemodelingPackage.FEATURE_LINK__KIND:
+ return kind != KIND_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case FeaturemodelingPackage.FEATURE_LINK__IS_BIDIRECTIONAL:
+ setIsBidirectional((Boolean)newValue);
+ return;
+ case FeaturemodelingPackage.FEATURE_LINK__CUSTOM_TYPE:
+ setCustomType((String)newValue);
+ return;
+ case FeaturemodelingPackage.FEATURE_LINK__BASE_DEPENDENCY:
+ setBase_Dependency((Dependency)newValue);
+ return;
+ case FeaturemodelingPackage.FEATURE_LINK__START:
+ setStart((Feature)newValue);
+ return;
+ case FeaturemodelingPackage.FEATURE_LINK__END:
+ setEnd((Feature)newValue);
+ return;
+ case FeaturemodelingPackage.FEATURE_LINK__BASE_ASSOCIATION_CLASS:
+ setBase_AssociationClass((AssociationClass)newValue);
+ return;
+ case FeaturemodelingPackage.FEATURE_LINK__KIND:
+ setKind((VariabilityDependencyKind)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FeaturemodelingPackage.Literals.FEATURE_LINK;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FeaturemodelingPackage.FEATURE_LINK__IS_BIDIRECTIONAL:
+ setIsBidirectional(IS_BIDIRECTIONAL_EDEFAULT);
+ return;
+ case FeaturemodelingPackage.FEATURE_LINK__CUSTOM_TYPE:
+ setCustomType(CUSTOM_TYPE_EDEFAULT);
+ return;
+ case FeaturemodelingPackage.FEATURE_LINK__BASE_DEPENDENCY:
+ setBase_Dependency((Dependency)null);
+ return;
+ case FeaturemodelingPackage.FEATURE_LINK__START:
+ setStart((Feature)null);
+ return;
+ case FeaturemodelingPackage.FEATURE_LINK__END:
+ setEnd((Feature)null);
+ return;
+ case FeaturemodelingPackage.FEATURE_LINK__BASE_ASSOCIATION_CLASS:
+ setBase_AssociationClass((AssociationClass)null);
+ return;
+ case FeaturemodelingPackage.FEATURE_LINK__KIND:
+ setKind(KIND_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCustomType() {
+ return customType;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Feature getEnd() {
+ if (end != null && end.eIsProxy()) {
+ InternalEObject oldEnd = (InternalEObject)end;
+ end = (Feature)eResolveProxy(oldEnd);
+ if (end != oldEnd) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, FeaturemodelingPackage.FEATURE_LINK__END, oldEnd, end));
+ }
+ }
+ return end;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public VariabilityDependencyKind getKind() {
+ return kind;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Feature getStart() {
+ if (start != null && start.eIsProxy()) {
+ InternalEObject oldStart = (InternalEObject)start;
+ start = (Feature)eResolveProxy(oldStart);
+ if (start != oldStart) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, FeaturemodelingPackage.FEATURE_LINK__START, oldStart, start));
+ }
+ }
+ return start;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsBidirectional() {
+ return isBidirectional;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCustomType(String newCustomType) {
+ String oldCustomType = customType;
+ customType = newCustomType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FeaturemodelingPackage.FEATURE_LINK__CUSTOM_TYPE, oldCustomType, customType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency getBase_Dependency() {
+ if (base_Dependency != null && base_Dependency.eIsProxy()) {
+ InternalEObject oldBase_Dependency = (InternalEObject)base_Dependency;
+ base_Dependency = (Dependency)eResolveProxy(oldBase_Dependency);
+ if (base_Dependency != oldBase_Dependency) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, FeaturemodelingPackage.FEATURE_LINK__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+ }
+ }
+ return base_Dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency basicGetBase_Dependency() {
+ return base_Dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Dependency(Dependency newBase_Dependency) {
+ Dependency oldBase_Dependency = base_Dependency;
+ base_Dependency = newBase_Dependency;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FeaturemodelingPackage.FEATURE_LINK__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEnd(Feature newEnd) {
+ Feature oldEnd = end;
+ end = newEnd;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FeaturemodelingPackage.FEATURE_LINK__END, oldEnd, end));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AssociationClass getBase_AssociationClass() {
+ if (base_AssociationClass != null && base_AssociationClass.eIsProxy()) {
+ InternalEObject oldBase_AssociationClass = (InternalEObject)base_AssociationClass;
+ base_AssociationClass = (AssociationClass)eResolveProxy(oldBase_AssociationClass);
+ if (base_AssociationClass != oldBase_AssociationClass) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, FeaturemodelingPackage.FEATURE_LINK__BASE_ASSOCIATION_CLASS, oldBase_AssociationClass, base_AssociationClass));
+ }
+ }
+ return base_AssociationClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AssociationClass basicGetBase_AssociationClass() {
+ return base_AssociationClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_AssociationClass(AssociationClass newBase_AssociationClass) {
+ AssociationClass oldBase_AssociationClass = base_AssociationClass;
+ base_AssociationClass = newBase_AssociationClass;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FeaturemodelingPackage.FEATURE_LINK__BASE_ASSOCIATION_CLASS, oldBase_AssociationClass, base_AssociationClass));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsBidirectional(boolean newIsBidirectional) {
+ boolean oldIsBidirectional = isBidirectional;
+ isBidirectional = newIsBidirectional;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FeaturemodelingPackage.FEATURE_LINK__IS_BIDIRECTIONAL, oldIsBidirectional, isBidirectional));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setKind(VariabilityDependencyKind newKind) {
+ VariabilityDependencyKind oldKind = kind;
+ kind = newKind == null ? KIND_EDEFAULT : newKind;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FeaturemodelingPackage.FEATURE_LINK__KIND, oldKind, kind));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStart(Feature newStart) {
+ Feature oldStart = start;
+ start = newStart;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FeaturemodelingPackage.FEATURE_LINK__START, oldStart, start));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (isBidirectional: ");
+ result.append(isBidirectional);
+ result.append(", customType: ");
+ result.append(customType);
+ result.append(", kind: ");
+ result.append(kind);
+ result.append(')');
+ return result.toString();
+ }
+
+} // FeatureLinkImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeatureModelImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeatureModelImpl.java
new file mode 100644
index 00000000000..33b4603e5a2
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeatureModelImpl.java
@@ -0,0 +1,325 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.featuremodeling.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.eastadl.infrastructure.elements.impl.ContextImpl;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureConstraint;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Feature Model</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureModelImpl#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureModelImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureModelImpl#getRootFeature <em>Root Feature</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureModelImpl#getFeatureLink <em>Feature Link</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeatureModelImpl#getFeatureConstraint <em>Feature Constraint</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FeatureModelImpl extends ContextImpl implements FeatureModel {
+
+ /**
+ * 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 #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 cached value of the '{@link #getRootFeature() <em>Root Feature</em>}' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getRootFeature()
+ * @generated
+ * @ordered
+ */
+ protected EList<Feature> rootFeature;
+
+ /**
+ * The cached value of the '{@link #getFeatureLink() <em>Feature Link</em>}' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getFeatureLink()
+ * @generated
+ * @ordered
+ */
+ protected EList<FeatureLink> featureLink;
+
+ /**
+ * The cached value of the '{@link #getFeatureConstraint() <em>Feature Constraint</em>}' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getFeatureConstraint()
+ * @generated
+ * @ordered
+ */
+ protected EList<FeatureConstraint> featureConstraint;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected FeatureModelImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FeaturemodelingPackage.FEATURE_MODEL__BASE_PACKAGE:
+ if (resolve) return getBase_Package();
+ return basicGetBase_Package();
+ case FeaturemodelingPackage.FEATURE_MODEL__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case FeaturemodelingPackage.FEATURE_MODEL__ROOT_FEATURE:
+ return getRootFeature();
+ case FeaturemodelingPackage.FEATURE_MODEL__FEATURE_LINK:
+ return getFeatureLink();
+ case FeaturemodelingPackage.FEATURE_MODEL__FEATURE_CONSTRAINT:
+ return getFeatureConstraint();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FeaturemodelingPackage.FEATURE_MODEL__BASE_PACKAGE:
+ return base_Package != null;
+ case FeaturemodelingPackage.FEATURE_MODEL__BASE_CLASS:
+ return base_Class != null;
+ case FeaturemodelingPackage.FEATURE_MODEL__ROOT_FEATURE:
+ return rootFeature != null && !rootFeature.isEmpty();
+ case FeaturemodelingPackage.FEATURE_MODEL__FEATURE_LINK:
+ return featureLink != null && !featureLink.isEmpty();
+ case FeaturemodelingPackage.FEATURE_MODEL__FEATURE_CONSTRAINT:
+ return featureConstraint != null && !featureConstraint.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case FeaturemodelingPackage.FEATURE_MODEL__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+ return;
+ case FeaturemodelingPackage.FEATURE_MODEL__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case FeaturemodelingPackage.FEATURE_MODEL__ROOT_FEATURE:
+ getRootFeature().clear();
+ getRootFeature().addAll((Collection<? extends Feature>)newValue);
+ return;
+ case FeaturemodelingPackage.FEATURE_MODEL__FEATURE_LINK:
+ getFeatureLink().clear();
+ getFeatureLink().addAll((Collection<? extends FeatureLink>)newValue);
+ return;
+ case FeaturemodelingPackage.FEATURE_MODEL__FEATURE_CONSTRAINT:
+ getFeatureConstraint().clear();
+ getFeatureConstraint().addAll((Collection<? extends FeatureConstraint>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FeaturemodelingPackage.Literals.FEATURE_MODEL;
+ }
+
+ /**
+ * <!-- 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, FeaturemodelingPackage.FEATURE_MODEL__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, FeaturemodelingPackage.FEATURE_MODEL__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+
+ /**
+ * <!-- 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, FeaturemodelingPackage.FEATURE_MODEL__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, FeaturemodelingPackage.FEATURE_MODEL__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FeaturemodelingPackage.FEATURE_MODEL__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)null);
+ return;
+ case FeaturemodelingPackage.FEATURE_MODEL__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case FeaturemodelingPackage.FEATURE_MODEL__ROOT_FEATURE:
+ getRootFeature().clear();
+ return;
+ case FeaturemodelingPackage.FEATURE_MODEL__FEATURE_LINK:
+ getFeatureLink().clear();
+ return;
+ case FeaturemodelingPackage.FEATURE_MODEL__FEATURE_CONSTRAINT:
+ getFeatureConstraint().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FeatureConstraint> getFeatureConstraint() {
+ if (featureConstraint == null) {
+ featureConstraint = new EObjectResolvingEList<FeatureConstraint>(FeatureConstraint.class, this, FeaturemodelingPackage.FEATURE_MODEL__FEATURE_CONSTRAINT);
+ }
+ return featureConstraint;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FeatureLink> getFeatureLink() {
+ if (featureLink == null) {
+ featureLink = new EObjectResolvingEList<FeatureLink>(FeatureLink.class, this, FeaturemodelingPackage.FEATURE_MODEL__FEATURE_LINK);
+ }
+ return featureLink;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Feature> getRootFeature() {
+ if (rootFeature == null) {
+ rootFeature = new EObjectResolvingEList<Feature>(Feature.class, this, FeaturemodelingPackage.FEATURE_MODEL__ROOT_FEATURE);
+ }
+ return rootFeature;
+ }
+
+} // FeatureModelImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeatureTreeNodeImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeatureTreeNodeImpl.java
new file mode 100644
index 00000000000..df5536395f4
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeatureTreeNodeImpl.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.featuremodeling.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ContextImpl;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureTreeNode;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Feature Tree Node</b></em>
+ * '. <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class FeatureTreeNodeImpl extends ContextImpl implements FeatureTreeNode {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected FeatureTreeNodeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FeaturemodelingPackage.Literals.FEATURE_TREE_NODE;
+ }
+
+} // FeatureTreeNodeImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeaturemodelingFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeaturemodelingFactoryImpl.java
new file mode 100644
index 00000000000..14f66f33c46
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeaturemodelingFactoryImpl.java
@@ -0,0 +1,230 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.featuremodeling.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.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTime;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTimeKind;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureConstraint;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureGroup;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingFactory;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.VariabilityDependencyKind;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!-- end-user-doc -->
+ * @generated
+ */
+public class FeaturemodelingFactoryImpl extends EFactoryImpl implements FeaturemodelingFactory {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static FeaturemodelingPackage getPackage() {
+ return FeaturemodelingPackage.eINSTANCE;
+ }
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public static FeaturemodelingFactory init() {
+ try {
+ FeaturemodelingFactory theFeaturemodelingFactory = (FeaturemodelingFactory)EPackage.Registry.INSTANCE.getEFactory(FeaturemodelingPackage.eNS_URI);
+ if (theFeaturemodelingFactory != null) {
+ return theFeaturemodelingFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new FeaturemodelingFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public FeaturemodelingFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertBindingTimeKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case FeaturemodelingPackage.BINDING_TIME_KIND:
+ return convertBindingTimeKindToString(eDataType, instanceValue);
+ case FeaturemodelingPackage.VARIABILITY_DEPENDENCY_KIND:
+ return convertVariabilityDependencyKindToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertVariabilityDependencyKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case FeaturemodelingPackage.FEATURE_MODEL: return createFeatureModel();
+ case FeaturemodelingPackage.FEATURE: return createFeature();
+ case FeaturemodelingPackage.BINDING_TIME: return createBindingTime();
+ case FeaturemodelingPackage.FEATURE_LINK: return createFeatureLink();
+ case FeaturemodelingPackage.FEATURE_CONSTRAINT: return createFeatureConstraint();
+ case FeaturemodelingPackage.FEATURE_GROUP: return createFeatureGroup();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public BindingTime createBindingTime() {
+ BindingTimeImpl bindingTime = new BindingTimeImpl();
+ return bindingTime;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public BindingTimeKind createBindingTimeKindFromString(EDataType eDataType, String initialValue) {
+ BindingTimeKind result = BindingTimeKind.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 Feature createFeature() {
+ FeatureImpl feature = new FeatureImpl();
+ return feature;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public FeatureConstraint createFeatureConstraint() {
+ FeatureConstraintImpl featureConstraint = new FeatureConstraintImpl();
+ return featureConstraint;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public FeatureGroup createFeatureGroup() {
+ FeatureGroupImpl featureGroup = new FeatureGroupImpl();
+ return featureGroup;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public FeatureLink createFeatureLink() {
+ FeatureLinkImpl featureLink = new FeatureLinkImpl();
+ return featureLink;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FeatureModel createFeatureModel() {
+ FeatureModelImpl featureModel = new FeatureModelImpl();
+ return featureModel;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case FeaturemodelingPackage.BINDING_TIME_KIND:
+ return createBindingTimeKindFromString(eDataType, initialValue);
+ case FeaturemodelingPackage.VARIABILITY_DEPENDENCY_KIND:
+ return createVariabilityDependencyKindFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VariabilityDependencyKind createVariabilityDependencyKindFromString(EDataType eDataType, String initialValue) {
+ VariabilityDependencyKind result = VariabilityDependencyKind.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 FeaturemodelingPackage getFeaturemodelingPackage() {
+ return (FeaturemodelingPackage)getEPackage();
+ }
+
+} // FeaturemodelingFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeaturemodelingPackageImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeaturemodelingPackageImpl.java
new file mode 100644
index 00000000000..7dd9ec91a02
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/impl/FeaturemodelingPackageImpl.java
@@ -0,0 +1,766 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.featuremodeling.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.eastadl.EastadlPackage;
+import org.eclipse.papyrus.eastadl.annex.AnnexPackage;
+import org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.StructurePackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTime;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTimeKind;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureConstraint;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureGroup;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureTreeNode;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingFactory;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.VariabilityDependencyKind;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc -->
+ * @generated
+ */
+public class FeaturemodelingPackageImpl extends EPackageImpl implements FeaturemodelingPackage {
+
+ /**
+ * <!-- 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 FeaturemodelingPackage#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 FeaturemodelingPackage init() {
+ if (isInited) return (FeaturemodelingPackage)EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI);
+
+ // Obtain or create and register package
+ FeaturemodelingPackageImpl theFeaturemodelingPackage = (FeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof FeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new FeaturemodelingPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ SysmlPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EastadlPackageImpl theEastadlPackage = (EastadlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) instanceof EastadlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) : EastadlPackage.eINSTANCE);
+ VariabilityPackageImpl theVariabilityPackage = (VariabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) instanceof VariabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) : VariabilityPackage.eINSTANCE);
+ InfrastructurePackageImpl theInfrastructurePackage = (InfrastructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) instanceof InfrastructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) : InfrastructurePackage.eINSTANCE);
+ DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) instanceof DatatypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) : DatatypesPackage.eINSTANCE);
+ UserattributesPackageImpl theUserattributesPackage = (UserattributesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) instanceof UserattributesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) : UserattributesPackage.eINSTANCE);
+ ElementsPackageImpl theElementsPackage = (ElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) instanceof ElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) : ElementsPackage.eINSTANCE);
+ StructurePackageImpl theStructurePackage = (StructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) instanceof StructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) : StructurePackage.eINSTANCE);
+ FunctionmodelingPackageImpl theFunctionmodelingPackage = (FunctionmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) instanceof FunctionmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) : FunctionmodelingPackage.eINSTANCE);
+ HardwaremodelingPackageImpl theHardwaremodelingPackage = (HardwaremodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) instanceof HardwaremodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) : HardwaremodelingPackage.eINSTANCE);
+ SystemmodelingPackageImpl theSystemmodelingPackage = (SystemmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) instanceof SystemmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) : SystemmodelingPackage.eINSTANCE);
+ VehiclefeaturemodelingPackageImpl theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) instanceof VehiclefeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) : VehiclefeaturemodelingPackage.eINSTANCE);
+ BehaviorPackageImpl theBehaviorPackage = (BehaviorPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) instanceof BehaviorPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) : BehaviorPackage.eINSTANCE);
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) : RequirementsPackage.eINSTANCE);
+ VerificationvalidationPackageImpl theVerificationvalidationPackage = (VerificationvalidationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) instanceof VerificationvalidationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) : VerificationvalidationPackage.eINSTANCE);
+ TimingPackageImpl theTimingPackage = (TimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) instanceof TimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) : TimingPackage.eINSTANCE);
+ TimingconstraintsPackageImpl theTimingconstraintsPackage = (TimingconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) instanceof TimingconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) : TimingconstraintsPackage.eINSTANCE);
+ EventsPackageImpl theEventsPackage = (EventsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+ InterchangePackageImpl theInterchangePackage = (InterchangePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) instanceof InterchangePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) : InterchangePackage.eINSTANCE);
+ EnvironmentPackageImpl theEnvironmentPackage = (EnvironmentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) instanceof EnvironmentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) : EnvironmentPackage.eINSTANCE);
+ DependabilityPackageImpl theDependabilityPackage = (DependabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) instanceof DependabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) : DependabilityPackage.eINSTANCE);
+ ErrormodelPackageImpl theErrormodelPackage = (ErrormodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) instanceof ErrormodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) : ErrormodelPackage.eINSTANCE);
+ SafetyrequirementPackageImpl theSafetyrequirementPackage = (SafetyrequirementPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) instanceof SafetyrequirementPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) : SafetyrequirementPackage.eINSTANCE);
+ SafetyconstraintsPackageImpl theSafetyconstraintsPackage = (SafetyconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) instanceof SafetyconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) : SafetyconstraintsPackage.eINSTANCE);
+ SafetycasePackageImpl theSafetycasePackage = (SafetycasePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) instanceof SafetycasePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) : SafetycasePackage.eINSTANCE);
+ AnnexPackageImpl theAnnexPackage = (AnnexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) instanceof AnnexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) : AnnexPackage.eINSTANCE);
+ NeedsPackageImpl theNeedsPackage = (NeedsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) instanceof NeedsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) : NeedsPackage.eINSTANCE);
+ GenericconstraintsPackageImpl theGenericconstraintsPackage = (GenericconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) instanceof GenericconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) : GenericconstraintsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theFeaturemodelingPackage.createPackageContents();
+ theEastadlPackage.createPackageContents();
+ theVariabilityPackage.createPackageContents();
+ theInfrastructurePackage.createPackageContents();
+ theDatatypesPackage.createPackageContents();
+ theUserattributesPackage.createPackageContents();
+ theElementsPackage.createPackageContents();
+ theStructurePackage.createPackageContents();
+ theFunctionmodelingPackage.createPackageContents();
+ theHardwaremodelingPackage.createPackageContents();
+ theSystemmodelingPackage.createPackageContents();
+ theVehiclefeaturemodelingPackage.createPackageContents();
+ theBehaviorPackage.createPackageContents();
+ theRequirementsPackage.createPackageContents();
+ theVerificationvalidationPackage.createPackageContents();
+ theTimingPackage.createPackageContents();
+ theTimingconstraintsPackage.createPackageContents();
+ theEventsPackage.createPackageContents();
+ theInterchangePackage.createPackageContents();
+ theEnvironmentPackage.createPackageContents();
+ theDependabilityPackage.createPackageContents();
+ theErrormodelPackage.createPackageContents();
+ theSafetyrequirementPackage.createPackageContents();
+ theSafetyconstraintsPackage.createPackageContents();
+ theSafetycasePackage.createPackageContents();
+ theAnnexPackage.createPackageContents();
+ theNeedsPackage.createPackageContents();
+ theGenericconstraintsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theFeaturemodelingPackage.initializePackageContents();
+ theEastadlPackage.initializePackageContents();
+ theVariabilityPackage.initializePackageContents();
+ theInfrastructurePackage.initializePackageContents();
+ theDatatypesPackage.initializePackageContents();
+ theUserattributesPackage.initializePackageContents();
+ theElementsPackage.initializePackageContents();
+ theStructurePackage.initializePackageContents();
+ theFunctionmodelingPackage.initializePackageContents();
+ theHardwaremodelingPackage.initializePackageContents();
+ theSystemmodelingPackage.initializePackageContents();
+ theVehiclefeaturemodelingPackage.initializePackageContents();
+ theBehaviorPackage.initializePackageContents();
+ theRequirementsPackage.initializePackageContents();
+ theVerificationvalidationPackage.initializePackageContents();
+ theTimingPackage.initializePackageContents();
+ theTimingconstraintsPackage.initializePackageContents();
+ theEventsPackage.initializePackageContents();
+ theInterchangePackage.initializePackageContents();
+ theEnvironmentPackage.initializePackageContents();
+ theDependabilityPackage.initializePackageContents();
+ theErrormodelPackage.initializePackageContents();
+ theSafetyrequirementPackage.initializePackageContents();
+ theSafetyconstraintsPackage.initializePackageContents();
+ theSafetycasePackage.initializePackageContents();
+ theAnnexPackage.initializePackageContents();
+ theNeedsPackage.initializePackageContents();
+ theGenericconstraintsPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theFeaturemodelingPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(FeaturemodelingPackage.eNS_URI, theFeaturemodelingPackage);
+ return theFeaturemodelingPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass featureModelEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass featureLinkEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass featureEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass featureTreeNodeEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass bindingTimeEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass featureGroupEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass featureConstraintEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum bindingTimeKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum variabilityDependencyKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * 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.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private FeaturemodelingPackageImpl() {
+ super(eNS_URI, FeaturemodelingFactory.eINSTANCE);
+ }
+
+ /**
+ * 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
+ featureModelEClass = createEClass(FEATURE_MODEL);
+ createEReference(featureModelEClass, FEATURE_MODEL__BASE_PACKAGE);
+ createEReference(featureModelEClass, FEATURE_MODEL__BASE_CLASS);
+ createEReference(featureModelEClass, FEATURE_MODEL__ROOT_FEATURE);
+ createEReference(featureModelEClass, FEATURE_MODEL__FEATURE_LINK);
+ createEReference(featureModelEClass, FEATURE_MODEL__FEATURE_CONSTRAINT);
+
+ featureEClass = createEClass(FEATURE);
+ createEReference(featureEClass, FEATURE__BASE_CLASS);
+ createEAttribute(featureEClass, FEATURE__CARDINALITY);
+ createEReference(featureEClass, FEATURE__REQUIRED_BINDING_TIME);
+ createEReference(featureEClass, FEATURE__ACTUAL_BINDING_TIME);
+ createEReference(featureEClass, FEATURE__FEATURE_PARAMETER);
+ createEReference(featureEClass, FEATURE__CHILD_NODE);
+
+ featureTreeNodeEClass = createEClass(FEATURE_TREE_NODE);
+
+ bindingTimeEClass = createEClass(BINDING_TIME);
+ createEAttribute(bindingTimeEClass, BINDING_TIME__KIND);
+ createEReference(bindingTimeEClass, BINDING_TIME__BASE_CLASS);
+
+ featureLinkEClass = createEClass(FEATURE_LINK);
+ createEAttribute(featureLinkEClass, FEATURE_LINK__IS_BIDIRECTIONAL);
+ createEAttribute(featureLinkEClass, FEATURE_LINK__CUSTOM_TYPE);
+ createEReference(featureLinkEClass, FEATURE_LINK__BASE_DEPENDENCY);
+ createEReference(featureLinkEClass, FEATURE_LINK__START);
+ createEReference(featureLinkEClass, FEATURE_LINK__END);
+ createEReference(featureLinkEClass, FEATURE_LINK__BASE_ASSOCIATION_CLASS);
+ createEAttribute(featureLinkEClass, FEATURE_LINK__KIND);
+
+ featureConstraintEClass = createEClass(FEATURE_CONSTRAINT);
+ createEAttribute(featureConstraintEClass, FEATURE_CONSTRAINT__CRITERION);
+ createEReference(featureConstraintEClass, FEATURE_CONSTRAINT__BASE_CLASS);
+ createEReference(featureConstraintEClass, FEATURE_CONSTRAINT__BASE_CONSTRAINT);
+
+ featureGroupEClass = createEClass(FEATURE_GROUP);
+ createEReference(featureGroupEClass, FEATURE_GROUP__BASE_CLASS);
+ createEAttribute(featureGroupEClass, FEATURE_GROUP__CARDINALITY);
+ createEReference(featureGroupEClass, FEATURE_GROUP__CHILD_FEATURE);
+
+ // Create enums
+ bindingTimeKindEEnum = createEEnum(BINDING_TIME_KIND);
+ variabilityDependencyKindEEnum = createEEnum(VARIABILITY_DEPENDENCY_KIND);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBindingTime() {
+ return bindingTimeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBindingTime_Kind() {
+ return (EAttribute)bindingTimeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBindingTime_Base_Class() {
+ return (EReference)bindingTimeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getBindingTimeKind() {
+ return bindingTimeKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFeature() {
+ return featureEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFeature_Base_Class() {
+ return (EReference)featureEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFeature_ActualBindingTime() {
+ return (EReference)featureEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFeature_Cardinality() {
+ return (EAttribute)featureEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFeature_ChildNode() {
+ return (EReference)featureEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFeature_FeatureParameter() {
+ return (EReference)featureEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFeature_RequiredBindingTime() {
+ return (EReference)featureEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFeatureConstraint() {
+ return featureConstraintEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFeatureConstraint_Criterion() {
+ return (EAttribute)featureConstraintEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFeatureConstraint_Base_Class() {
+ return (EReference)featureConstraintEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFeatureConstraint_Base_Constraint() {
+ return (EReference)featureConstraintEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFeatureGroup() {
+ return featureGroupEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFeatureGroup_Base_Class() {
+ return (EReference)featureGroupEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFeatureGroup_Cardinality() {
+ return (EAttribute)featureGroupEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFeatureGroup_ChildFeature() {
+ return (EReference)featureGroupEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFeatureLink() {
+ return featureLinkEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFeatureLink_CustomType() {
+ return (EAttribute)featureLinkEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFeatureLink_Base_Dependency() {
+ return (EReference)featureLinkEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFeatureLink_End() {
+ return (EReference)featureLinkEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFeatureLink_Base_AssociationClass() {
+ return (EReference)featureLinkEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFeatureLink_IsBidirectional() {
+ return (EAttribute)featureLinkEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFeatureLink_Kind() {
+ return (EAttribute)featureLinkEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFeatureLink_Start() {
+ return (EReference)featureLinkEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFeatureModel() {
+ return featureModelEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFeatureModel_Base_Package() {
+ return (EReference)featureModelEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFeatureModel_Base_Class() {
+ return (EReference)featureModelEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFeatureModel_FeatureConstraint() {
+ return (EReference)featureModelEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFeatureModel_FeatureLink() {
+ return (EReference)featureModelEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFeatureModel_RootFeature() {
+ return (EReference)featureModelEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public FeaturemodelingFactory getFeaturemodelingFactory() {
+ return (FeaturemodelingFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFeatureTreeNode() {
+ return featureTreeNodeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getVariabilityDependencyKind() {
+ return variabilityDependencyKindEEnum;
+ }
+
+ /**
+ * 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
+ ElementsPackage theElementsPackage = (ElementsPackage)EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI);
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+ TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+ DatatypesPackage theDatatypesPackage = (DatatypesPackage)EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ featureModelEClass.getESuperTypes().add(theElementsPackage.getContext());
+ featureEClass.getESuperTypes().add(this.getFeatureTreeNode());
+ featureTreeNodeEClass.getESuperTypes().add(theElementsPackage.getContext());
+ bindingTimeEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ featureLinkEClass.getESuperTypes().add(theElementsPackage.getRelationship());
+ featureConstraintEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ featureGroupEClass.getESuperTypes().add(this.getFeatureTreeNode());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(featureModelEClass, FeatureModel.class, "FeatureModel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getFeatureModel_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, FeatureModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFeatureModel_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, FeatureModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFeatureModel_RootFeature(), this.getFeature(), null, "rootFeature", null, 0, -1, FeatureModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFeatureModel_FeatureLink(), this.getFeatureLink(), null, "featureLink", null, 0, -1, FeatureModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFeatureModel_FeatureConstraint(), this.getFeatureConstraint(), null, "featureConstraint", null, 0, -1, FeatureModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(featureEClass, Feature.class, "Feature", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getFeature_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, Feature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getFeature_Cardinality(), theTypesPackage.getString(), "cardinality", null, 1, 1, Feature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFeature_RequiredBindingTime(), this.getBindingTime(), null, "requiredBindingTime", null, 0, 1, Feature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFeature_ActualBindingTime(), this.getBindingTime(), null, "actualBindingTime", null, 1, 1, Feature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFeature_FeatureParameter(), theDatatypesPackage.getEADatatypePrototype(), null, "featureParameter", null, 0, 1, Feature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFeature_ChildNode(), this.getFeatureTreeNode(), null, "childNode", null, 0, -1, Feature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(featureTreeNodeEClass, FeatureTreeNode.class, "FeatureTreeNode", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(bindingTimeEClass, BindingTime.class, "BindingTime", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getBindingTime_Kind(), this.getBindingTimeKind(), "kind", "systemDesignTime", 1, 1, BindingTime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getBindingTime_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, BindingTime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(featureLinkEClass, FeatureLink.class, "FeatureLink", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getFeatureLink_IsBidirectional(), theTypesPackage.getBoolean(), "isBidirectional", null, 0, 1, FeatureLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getFeatureLink_CustomType(), theTypesPackage.getString(), "customType", null, 1, 1, FeatureLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFeatureLink_Base_Dependency(), theUMLPackage.getDependency(), null, "base_Dependency", null, 0, 1, FeatureLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFeatureLink_Start(), this.getFeature(), null, "start", null, 1, 1, FeatureLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFeatureLink_End(), this.getFeature(), null, "end", null, 1, 1, FeatureLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFeatureLink_Base_AssociationClass(), theUMLPackage.getAssociationClass(), null, "base_AssociationClass", null, 0, 1, FeatureLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getFeatureLink_Kind(), this.getVariabilityDependencyKind(), "kind", null, 1, 1, FeatureLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(featureConstraintEClass, FeatureConstraint.class, "FeatureConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getFeatureConstraint_Criterion(), theTypesPackage.getString(), "criterion", null, 1, 1, FeatureConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFeatureConstraint_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, FeatureConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFeatureConstraint_Base_Constraint(), theUMLPackage.getConstraint(), null, "base_Constraint", null, 0, 1, FeatureConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(featureGroupEClass, FeatureGroup.class, "FeatureGroup", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getFeatureGroup_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, FeatureGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getFeatureGroup_Cardinality(), theTypesPackage.getString(), "cardinality", null, 1, 1, FeatureGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFeatureGroup_ChildFeature(), this.getFeature(), null, "childFeature", null, 2, -1, FeatureGroup.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(bindingTimeKindEEnum, BindingTimeKind.class, "BindingTimeKind");
+ addEEnumLiteral(bindingTimeKindEEnum, BindingTimeKind.SYSTEM_DESIGN_TIME);
+ addEEnumLiteral(bindingTimeKindEEnum, BindingTimeKind.CODE_GENERATION_TIME);
+ addEEnumLiteral(bindingTimeKindEEnum, BindingTimeKind.PRECOMPILE_TIME);
+ addEEnumLiteral(bindingTimeKindEEnum, BindingTimeKind.LINK_TIME);
+ addEEnumLiteral(bindingTimeKindEEnum, BindingTimeKind.POST_BUILD);
+ addEEnumLiteral(bindingTimeKindEEnum, BindingTimeKind.RUNTIME);
+
+ initEEnum(variabilityDependencyKindEEnum, VariabilityDependencyKind.class, "VariabilityDependencyKind");
+ addEEnumLiteral(variabilityDependencyKindEEnum, VariabilityDependencyKind.NEEDS);
+ addEEnumLiteral(variabilityDependencyKindEEnum, VariabilityDependencyKind.OPTIONAL_ALTERNATIVE);
+ addEEnumLiteral(variabilityDependencyKindEEnum, VariabilityDependencyKind.CUSTOM);
+ addEEnumLiteral(variabilityDependencyKindEEnum, VariabilityDependencyKind.MANDATORY_ALTERNATIVE);
+ addEEnumLiteral(variabilityDependencyKindEEnum, VariabilityDependencyKind.SUGGESTS);
+ addEEnumLiteral(variabilityDependencyKindEEnum, VariabilityDependencyKind.IMPEDES);
+ }
+
+} // FeaturemodelingPackageImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/util/FeaturemodelingAdapterFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/util/FeaturemodelingAdapterFactory.java
new file mode 100644
index 00000000000..f8154985c3a
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/util/FeaturemodelingAdapterFactory.java
@@ -0,0 +1,289 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.featuremodeling.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.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Relationship;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTime;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureConstraint;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureGroup;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureTreeNode;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage
+ * @generated
+ */
+public class FeaturemodelingAdapterFactory extends AdapterFactoryImpl {
+
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected static FeaturemodelingPackage modelPackage;
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ protected FeaturemodelingSwitch<Adapter> modelSwitch = new FeaturemodelingSwitch<Adapter>() {
+ @Override
+ public Adapter caseFeatureModel(FeatureModel object) {
+ return createFeatureModelAdapter();
+ }
+ @Override
+ public Adapter caseFeature(Feature object) {
+ return createFeatureAdapter();
+ }
+ @Override
+ public Adapter caseFeatureTreeNode(FeatureTreeNode object) {
+ return createFeatureTreeNodeAdapter();
+ }
+ @Override
+ public Adapter caseBindingTime(BindingTime object) {
+ return createBindingTimeAdapter();
+ }
+ @Override
+ public Adapter caseFeatureLink(FeatureLink object) {
+ return createFeatureLinkAdapter();
+ }
+ @Override
+ public Adapter caseFeatureConstraint(FeatureConstraint object) {
+ return createFeatureConstraintAdapter();
+ }
+ @Override
+ public Adapter caseFeatureGroup(FeatureGroup object) {
+ return createFeatureGroupAdapter();
+ }
+ @Override
+ public Adapter caseEAElement(EAElement object) {
+ return createEAElementAdapter();
+ }
+ @Override
+ public Adapter caseContext(Context object) {
+ return createContextAdapter();
+ }
+ @Override
+ public Adapter caseRelationship(Relationship object) {
+ return createRelationshipAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public FeaturemodelingAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = FeaturemodelingPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTime <em>Binding Time</em>}'.
+ * <!-- begin-user-doc --> This default implementation returns null so
+ * that we can easily ignore cases; 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.eastadl.structure.featuremodeling.BindingTime
+ * @generated
+ */
+ public Adapter createBindingTimeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Context <em>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.eastadl.infrastructure.elements.Context
+ * @generated
+ */
+ public Adapter createContextAdapter() {
+ 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;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature <em>Feature</em>}'.
+ * <!-- begin-user-doc --> This default implementation returns null so that
+ * we can easily ignore cases; 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.eastadl.structure.featuremodeling.Feature
+ * @generated
+ */
+ public Adapter createFeatureAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureConstraint <em>Feature 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.eastadl.structure.featuremodeling.FeatureConstraint
+ * @generated
+ */
+ public Adapter createFeatureConstraintAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureGroup <em>Feature Group</em>}'.
+ * <!-- begin-user-doc --> This default implementation returns null so
+ * that we can easily ignore cases; 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.eastadl.structure.featuremodeling.FeatureGroup
+ * @generated
+ */
+ public Adapter createFeatureGroupAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement <em>EA Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAElement
+ * @generated
+ */
+ public Adapter createEAElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink <em>Feature Link</em>}'.
+ * <!-- begin-user-doc --> This default implementation returns null so
+ * that we can easily ignore cases; 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.eastadl.structure.featuremodeling.FeatureLink
+ * @generated
+ */
+ public Adapter createFeatureLinkAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel <em>Feature 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.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel
+ * @generated
+ */
+ public Adapter createFeatureModelAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureTreeNode <em>Feature Tree Node</em>}'.
+ * <!-- begin-user-doc --> This default implementation returns
+ * null so that we can easily ignore cases; 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.eastadl.structure.featuremodeling.FeatureTreeNode
+ * @generated
+ */
+ public Adapter createFeatureTreeNodeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Relationship <em>Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.Relationship
+ * @generated
+ */
+ public Adapter createRelationshipAdapter() {
+ return null;
+ }
+
+ /**
+ * 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;
+ }
+
+} // FeaturemodelingAdapterFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/util/FeaturemodelingResourceFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/util/FeaturemodelingResourceFactoryImpl.java
new file mode 100644
index 00000000000..9b65c253565
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/util/FeaturemodelingResourceFactoryImpl.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.featuremodeling.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.eclipse.papyrus.eastadl.structure.featuremodeling.util.FeaturemodelingResourceImpl
+ * @generated
+ */
+public class FeaturemodelingResourceFactoryImpl extends ResourceFactoryImpl {
+
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public FeaturemodelingResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new FeaturemodelingResourceImpl(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;
+ }
+
+} // FeaturemodelingResourceFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/util/FeaturemodelingResourceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/util/FeaturemodelingResourceImpl.java
new file mode 100644
index 00000000000..e0f01bec67e
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/util/FeaturemodelingResourceImpl.java
@@ -0,0 +1,38 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.featuremodeling.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.eclipse.papyrus.eastadl.structure.featuremodeling.util.FeaturemodelingResourceFactoryImpl
+ * @generated
+ */
+public class FeaturemodelingResourceImpl extends XMLResourceImpl {
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public FeaturemodelingResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} // FeaturemodelingResourceImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/util/FeaturemodelingSwitch.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/util/FeaturemodelingSwitch.java
new file mode 100644
index 00000000000..1090630d641
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/util/FeaturemodelingSwitch.java
@@ -0,0 +1,303 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.featuremodeling.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Relationship;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTime;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureConstraint;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureGroup;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureLink;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureTreeNode;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage
+ * @generated
+ */
+public class FeaturemodelingSwitch<T> extends Switch<T> {
+
+ /**
+ * The cached model package
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected static FeaturemodelingPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public FeaturemodelingSwitch() {
+ if (modelPackage == null) {
+ modelPackage = FeaturemodelingPackage.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;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Binding Time</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will
+ * terminate the switch. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Binding Time</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBindingTime(BindingTime object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>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>Context</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseContext(Context object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Feature</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will
+ * terminate the switch. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Feature</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFeature(Feature object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Feature 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>Feature Constraint</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFeatureConstraint(FeatureConstraint object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Feature Group</em>'.
+ * <!-- begin-user-doc --> This implementation returns null; returning a non-null result will
+ * terminate the switch. <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Feature Group</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFeatureGroup(FeatureGroup object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAElement(EAElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Feature Link</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will
+ * terminate the switch. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Feature Link</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFeatureLink(FeatureLink object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Feature 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>Feature Model</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFeatureModel(FeatureModel object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Feature Tree Node</em>'.
+ * <!-- begin-user-doc --> This implementation returns null; returning a non-null result will
+ * terminate the switch. <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Feature Tree Node</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFeatureTreeNode(FeatureTreeNode object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Relationship</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Relationship</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRelationship(Relationship 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;
+ }
+
+ /**
+ * 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 FeaturemodelingPackage.FEATURE_MODEL: {
+ FeatureModel featureModel = (FeatureModel)theEObject;
+ T result = caseFeatureModel(featureModel);
+ if (result == null) result = caseContext(featureModel);
+ if (result == null) result = caseEAElement(featureModel);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FeaturemodelingPackage.FEATURE: {
+ Feature feature = (Feature)theEObject;
+ T result = caseFeature(feature);
+ if (result == null) result = caseFeatureTreeNode(feature);
+ if (result == null) result = caseContext(feature);
+ if (result == null) result = caseEAElement(feature);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FeaturemodelingPackage.FEATURE_TREE_NODE: {
+ FeatureTreeNode featureTreeNode = (FeatureTreeNode)theEObject;
+ T result = caseFeatureTreeNode(featureTreeNode);
+ if (result == null) result = caseContext(featureTreeNode);
+ if (result == null) result = caseEAElement(featureTreeNode);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FeaturemodelingPackage.BINDING_TIME: {
+ BindingTime bindingTime = (BindingTime)theEObject;
+ T result = caseBindingTime(bindingTime);
+ if (result == null) result = caseEAElement(bindingTime);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FeaturemodelingPackage.FEATURE_LINK: {
+ FeatureLink featureLink = (FeatureLink)theEObject;
+ T result = caseFeatureLink(featureLink);
+ if (result == null) result = caseRelationship(featureLink);
+ if (result == null) result = caseEAElement(featureLink);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FeaturemodelingPackage.FEATURE_CONSTRAINT: {
+ FeatureConstraint featureConstraint = (FeatureConstraint)theEObject;
+ T result = caseFeatureConstraint(featureConstraint);
+ if (result == null) result = caseEAElement(featureConstraint);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FeaturemodelingPackage.FEATURE_GROUP: {
+ FeatureGroup featureGroup = (FeatureGroup)theEObject;
+ T result = caseFeatureGroup(featureGroup);
+ if (result == null) result = caseFeatureTreeNode(featureGroup);
+ if (result == null) result = caseContext(featureGroup);
+ if (result == null) result = caseEAElement(featureGroup);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+} // FeaturemodelingSwitch
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/util/FeaturemodelingXMLProcessor.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/util/FeaturemodelingXMLProcessor.java
new file mode 100644
index 00000000000..7b42a0dd7e3
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/featuremodeling/util/FeaturemodelingXMLProcessor.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.featuremodeling.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.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ */
+public class FeaturemodelingXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public FeaturemodelingXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ FeaturemodelingPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the FeaturemodelingResourceFactoryImpl 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 FeaturemodelingResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new FeaturemodelingResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} // FeaturemodelingXMLProcessor
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/AllocateableElement.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/AllocateableElement.java
new file mode 100644
index 00000000000..01f52f5973a
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/AllocateableElement.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Allocateable Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The AllocateableElement is an abstract superclass for elements that are allocateable.
+ *
+ * Semantics:
+ * The AllocateableElement abstracts all elements that are allocateable.
+ * Subclasses of the abstract class AllocateableElement add their own semantics.
+ *
+ * Extension: abstract, no extension
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getAllocateableElement()
+ * @model abstract="true"
+ * @generated
+ */
+public interface AllocateableElement extends EObject {
+} // AllocateableElement
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/Allocation.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/Allocation.java
new file mode 100644
index 00000000000..2666673dd28
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/Allocation.java
@@ -0,0 +1,118 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Allocation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The Allocation element contains functionAllocations. It can bundle functionAllocations that belong together, e.g., all functionAllocations for a simulation.
+ *
+ * Semantics:
+ * The Allocation element contains functionAllocations, i.e., it can bundle functionAllocations that belong together.
+ *
+ * Extension: Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.Allocation#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.Allocation#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.Allocation#getFunctionAllocation <em>Function Allocation</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getAllocation()
+ * @model
+ * @generated
+ */
+public interface Allocation extends EAElement {
+ /**
+ * 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.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getAllocation_Base_Class()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.Allocation#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>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.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getAllocation_Base_Package()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.Allocation#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>Function Allocation</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionAllocation}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Function Allocation</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Function Allocation</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getAllocation_FunctionAllocation()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<FunctionAllocation> getFunctionAllocation();
+
+} // Allocation
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/AnalysisFunctionPrototype.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/AnalysisFunctionPrototype.java
new file mode 100644
index 00000000000..803908ab32a
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/AnalysisFunctionPrototype.java
@@ -0,0 +1,65 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Analysis Function Prototype</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The AnalysisFunctionPrototype represents references to the occurrence of the AnalysisFunctionType that types it when it acts as a part.
+ *
+ * The AnalysisFunctionPrototype is typed by an AnalysisFunctionType.
+ *
+ *
+ * Semantics:
+ * The AnalysisFunctionPrototype represents an occurrence of the AnalysisFunctionType that types it.
+ *
+ *
+ * Extension:
+ * UML Property, specialization of SysML::BlockProperty
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.AnalysisFunctionPrototype#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getAnalysisFunctionPrototype()
+ * @model
+ * @generated
+ */
+public interface AnalysisFunctionPrototype extends FunctionPrototype {
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Type</em>' reference.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getAnalysisFunctionPrototype_Type()
+ * @model required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ AnalysisFunctionType getType();
+
+} // AnalysisFunctionPrototype
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/AnalysisFunctionType.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/AnalysisFunctionType.java
new file mode 100644
index 00000000000..3716bd22698
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/AnalysisFunctionType.java
@@ -0,0 +1,73 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Analysis Function Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The AnalysisFunctionType is a concrete FunctionType and therefore inherits the elementary function properties from the abstract metaclass FunctionType. The AnalysisFunctionType is used to model the functional structure on AnalysisLevel. The syntax of AnalysisFunctionTypes is inspired from the type-prototype pattern used by AUTOSAR.
+ *
+ * The AnalysisFunctions may interact with other AnalysisFunctions (i.e., also FunctionalDevices) through their FunctionPorts.
+ *
+ * Furthermore, an AnalysisFunction may be decomposed into (sub-)AnalysisFunctions. This allows breaking up hierarchically the functionalities provided by the parent AnalysisFunction into subfunctionalities.
+ *
+ * A FunctionBehavior may be associated with each AnalysisFunction. In the case where the AnalysisFunction is decomposed, the behavior is a specification for the composed behavior of the subAnalysisFunction. If the AnalysisFunction is not decomposed (i.e., if the AnalysisFunction is elementary), then the behavior is describing the behavior of the subAnalysisFunction, which is to be used when building the global behavior of the FunctionalAnalysisArchitecture by composition of the leaf behaviors.
+ *
+ *
+ * Semantics:
+ * The AnalysisFunctionType represents a node in a tree structure corresponding to the functional decomposition of a top level AnalysisFunction. The AnalysisFunction is representing the analysis function used to describe the functionalities provided by a vehicle on the AnalysisLevel. At the AnalysisLevel, AnalysisFunctions are defined and structured according to the functional requirements, i.e., the functionalities provided to the user.
+ *
+ * Constraints:
+ * [1] AnalysisFunctionTypes may only be used on AnalysisLevel.
+ *
+ *
+ * Extension: UML Class, specialization of SysML::Block
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.AnalysisFunctionType#getPart <em>Part</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getAnalysisFunctionType()
+ * @model
+ * @generated
+ */
+public interface AnalysisFunctionType extends FunctionType {
+ /**
+ * Returns the value of the '<em><b>Part</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.AnalysisFunctionPrototype}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Part</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>Part</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getAnalysisFunctionType_Part()
+ * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<AnalysisFunctionPrototype> getPart();
+
+} // AnalysisFunctionType
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/BasicSoftwareFunctionType.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/BasicSoftwareFunctionType.java
new file mode 100644
index 00000000000..90596270efa
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/BasicSoftwareFunctionType.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Basic Software Function Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The BasicSoftwareFunctionType is an abstraction of middleware functionality.
+ *
+ * Semantics:
+ * The BasicSoftwareFunctionType is an abstraction of the middleware.
+ *
+ * Extension:
+ * UML Class, specialization of SysML::Block
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getBasicSoftwareFunctionType()
+ * @model
+ * @generated
+ */
+public interface BasicSoftwareFunctionType extends DesignFunctionType {
+} // BasicSoftwareFunctionType
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/ClientServerKind.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/ClientServerKind.java
new file mode 100644
index 00000000000..5300b880bd9
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/ClientServerKind.java
@@ -0,0 +1,230 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling;
+
+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>Client Server Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * This element is an enumeration for the kind of the FunctionClientServerPort, which can either be a "client" or a "server".
+ *
+ * Semantics:
+ * The ClientServerKind is an enumeration with the two literals "client" and "server".
+ *
+ * Extension:
+ * Enumeration, no extension.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getClientServerKind()
+ * @model
+ * @generated
+ */
+public enum ClientServerKind implements Enumerator {
+ /**
+ * The '<em><b>Client</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #CLIENT_VALUE
+ * @generated
+ * @ordered
+ */
+ CLIENT(0, "client", "client"),
+
+ /**
+ * The '<em><b>Server</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SERVER_VALUE
+ * @generated
+ * @ordered
+ */
+ SERVER(1, "server", "server");
+
+ /**
+ * The '<em><b>Client</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Client</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #CLIENT
+ * @model name="client"
+ * @generated
+ * @ordered
+ */
+ public static final int CLIENT_VALUE = 0;
+
+ /**
+ * The '<em><b>Server</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Server</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #SERVER
+ * @model name="server"
+ * @generated
+ * @ordered
+ */
+ public static final int SERVER_VALUE = 1;
+
+ /**
+ * An array of all the '<em><b>Client Server Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final ClientServerKind[] VALUES_ARRAY =
+ new ClientServerKind[] {
+ CLIENT,
+ SERVER,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Client Server Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<ClientServerKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Client Server Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ClientServerKind get(int value) {
+ switch (value) {
+ case CLIENT_VALUE: return CLIENT;
+ case SERVER_VALUE: return SERVER;
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Client Server Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ClientServerKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ClientServerKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Client Server Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ClientServerKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ClientServerKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ 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 ClientServerKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * 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;
+ }
+
+} //ClientServerKind
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/DesignFunctionPrototype.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/DesignFunctionPrototype.java
new file mode 100644
index 00000000000..836f41b4117
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/DesignFunctionPrototype.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Design Function Prototype</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The DesignFunctionPrototype represents references to the occurrence of the DesignFunctionType that types it when it acts as a part.
+ * The DesignFunctionPrototype is typed by a DesignFunctionType .
+ *
+ * Semantics:
+ * The DesignFunctionPrototype represents an occurrence of the DesignFunctionType that types it.
+ *
+ * Extension:
+ * UML Property, specialization of SysML::BlockProperty
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionPrototype#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getDesignFunctionPrototype()
+ * @model
+ * @generated
+ */
+public interface DesignFunctionPrototype extends FunctionPrototype, AllocateableElement {
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Type</em>' reference.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getDesignFunctionPrototype_Type()
+ * @model required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ DesignFunctionType getType();
+
+} // DesignFunctionPrototype
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/DesignFunctionType.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/DesignFunctionType.java
new file mode 100644
index 00000000000..f4da575acf9
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/DesignFunctionType.java
@@ -0,0 +1,76 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Design Function Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The DesignFunctionType is a concrete FunctionType and therefore inherits the elementary function properties from the abstract metaclass FunctionType. The DesignFunctionType is used to model the functional structure on DesignLevel. The syntax of DesignFunctionTypes is inspired from the type-prototype pattern used by AUTOSAR.
+ *
+ * The DesignFunctions may interact with other DesignFunctions (i.e., also BasicSoftwareFunctions, HardwareFunctions, and LocalDeviceManager) through their FunctionPorts.
+ *
+ * Furthermore, a DesignFunction may be decomposed into (sub-)DesignFunctions. This allows breaking up hierarchically the functionalities provided by the parent DesignFunction into subfunctionalities.
+ *
+ * Execution time constraints on the DesignFunctionType can be expressed by ExecutionTimeConstraints, see the Timing package.
+ *
+ * If two or more occurrences of an elementary Function are allocated on the same ECU, the code will be placed on the ECU only once (so these occurrences will use the same code but separate memory areas for data).
+ *
+ *
+ * Semantics:
+ * The DesignFunctionType represents a node in a tree structure corresponding to the functional decomposition of a top level DesignFunction. The DesignFunction is representing the design function used to describe the functionalities provided by a vehicle on the DesignLevel. At the DesignLevel, DesignFunctions are defined and structured according to the functional and hardware system design.
+ *
+ * Constraints:
+ * [1] DesignFunctionTypes may only be used on DesignLevel.
+ *
+ *
+ *
+ * Extension: UML Class, specialization of SysML::Block
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionType#getPart <em>Part</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getDesignFunctionType()
+ * @model
+ * @generated
+ */
+public interface DesignFunctionType extends FunctionType {
+ /**
+ * Returns the value of the '<em><b>Part</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionPrototype}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Part</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>Part</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getDesignFunctionType_Part()
+ * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<DesignFunctionPrototype> getPart();
+
+} // DesignFunctionType
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/EADirectionKind.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/EADirectionKind.java
new file mode 100644
index 00000000000..c429e8c2086
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/EADirectionKind.java
@@ -0,0 +1,257 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling;
+
+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>EA Direction Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * This element is an enumeration for the direction of a Port, which can either be "in", "out", or "inout".
+ *
+ * Semantics:
+ * The EADirectionKind is an enumeration with the three literals "in", "out", and "inout".
+ *
+ * Extension:
+ * Enumeration, no extension.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getEADirectionKind()
+ * @model
+ * @generated
+ */
+public enum EADirectionKind implements Enumerator {
+ /**
+ * The '<em><b>In</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #IN_VALUE
+ * @generated
+ * @ordered
+ */
+ IN(0, "in", "in"),
+
+ /**
+ * The '<em><b>Out</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #OUT_VALUE
+ * @generated
+ * @ordered
+ */
+ OUT(1, "out", "out"),
+
+ /**
+ * The '<em><b>Inout</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #INOUT_VALUE
+ * @generated
+ * @ordered
+ */
+ INOUT(2, "inout", "inout");
+
+ /**
+ * The '<em><b>In</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>In</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #IN
+ * @model name="in"
+ * @generated
+ * @ordered
+ */
+ public static final int IN_VALUE = 0;
+
+ /**
+ * The '<em><b>Out</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Out</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #OUT
+ * @model name="out"
+ * @generated
+ * @ordered
+ */
+ public static final int OUT_VALUE = 1;
+
+ /**
+ * The '<em><b>Inout</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Inout</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #INOUT
+ * @model name="inout"
+ * @generated
+ * @ordered
+ */
+ public static final int INOUT_VALUE = 2;
+
+ /**
+ * An array of all the '<em><b>EA Direction Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final EADirectionKind[] VALUES_ARRAY =
+ new EADirectionKind[] {
+ IN,
+ OUT,
+ INOUT,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>EA Direction Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<EADirectionKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>EA Direction Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static EADirectionKind get(int value) {
+ switch (value) {
+ case IN_VALUE: return IN;
+ case OUT_VALUE: return OUT;
+ case INOUT_VALUE: return INOUT;
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>EA Direction Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static EADirectionKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ EADirectionKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>EA Direction Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static EADirectionKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ EADirectionKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ 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 EADirectionKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * 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;
+ }
+
+} //EADirectionKind
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionAllocation.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionAllocation.java
new file mode 100644
index 00000000000..13b064267b0
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionAllocation.java
@@ -0,0 +1,152 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.AllocationTarget;
+import org.eclipse.uml2.uml.Dependency;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Function Allocation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * FunctionAllocation represents an allocation constraint binding an AllocateableElement on an AllocationTarget.
+ *
+ * The same constraint could be expressed in a textual design constraint.
+ *
+ * Semantics:
+ * AllocationTarget is specialized by HardwareComponentPrototype in the HardwareModeling package and AllocateableElement is specialized by the concrete elements DesignFunctionPrototype and FunctionConnector in the FunctionModeling package.
+ *
+ * Notation:
+ * A FunctionAllocation is shown as a dependency (dashed line) with an "allocation" keyword attached to it.
+ *
+ *
+ * Extension: Class, specializesDesignConstraint
+ * target to AUTOSAR::ECUResourceTemplate::ECU
+ * allocatedAutosarComponent to AUTOSAR::Components::ClientPort
+ *
+ * ToDo:
+ * Cf. AUTOSAR SWMapping::MappingConstraint
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionAllocation#getTarget <em>Target</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionAllocation#getAllocatedElement <em>Allocated Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionAllocation#getBase_Dependency <em>Base Dependency</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionAllocation#getAllocatedElement_path <em>Allocated Element path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionAllocation#getTarget_path <em>Target path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionAllocation()
+ * @model
+ * @generated
+ */
+public interface FunctionAllocation extends EAElement {
+ /**
+ * Returns the value of the '<em><b>Allocated Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Allocated Element</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Allocated Element</em>' reference.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionAllocation_AllocatedElement()
+ * @model required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ AllocateableElement getAllocatedElement();
+
+ /**
+ * Returns the value of the '<em><b>Base Dependency</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Dependency</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 Dependency</em>' reference.
+ * @see #setBase_Dependency(Dependency)
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionAllocation_Base_Dependency()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Dependency getBase_Dependency();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionAllocation#getBase_Dependency <em>Base Dependency</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Dependency</em>' reference.
+ * @see #getBase_Dependency()
+ * @generated
+ */
+ void setBase_Dependency(Dependency value);
+
+ /**
+ * Returns the value of the '<em><b>Allocated Element path</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.AllocateableElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Allocated Element path</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>Allocated Element path</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionAllocation_AllocatedElement_path()
+ * @model
+ * @generated
+ */
+ EList<AllocateableElement> getAllocatedElement_path();
+
+ /**
+ * Returns the value of the '<em><b>Target path</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.AllocationTarget}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Target path</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 path</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionAllocation_Target_path()
+ * @model
+ * @generated
+ */
+ EList<AllocationTarget> getTarget_path();
+
+ /**
+ * Returns the value of the '<em><b>Target</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The ECU where the functionality must be allocated.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Target</em>' reference.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionAllocation_Target()
+ * @model required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ AllocationTarget getTarget();
+
+} // FunctionAllocation
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionClientServerInterface.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionClientServerInterface.java
new file mode 100644
index 00000000000..1cbda4afb75
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionClientServerInterface.java
@@ -0,0 +1,92 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.uml2.uml.Interface;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Function Client Server Interface</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The FunctionClientServerInterface is used to specify the operations in FunctionClientServerPorts.
+ *
+ * Semantics:
+ * The operations of the FunctionClientServerInterface are required or provided through the FunctionClientServerPorts typed by the FunctionClientServerInterface.
+ *
+ * Extension: UML Interface
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerInterface#getBase_Interface <em>Base Interface</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerInterface#getOperation <em>Operation</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionClientServerInterface()
+ * @model
+ * @generated
+ */
+public interface FunctionClientServerInterface extends EAElement {
+ /**
+ * Returns the value of the '<em><b>Base Interface</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Interface</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 Interface</em>' reference.
+ * @see #setBase_Interface(Interface)
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionClientServerInterface_Base_Interface()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Interface getBase_Interface();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerInterface#getBase_Interface <em>Base Interface</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Interface</em>' reference.
+ * @see #getBase_Interface()
+ * @generated
+ */
+ void setBase_Interface(Interface value);
+
+ /**
+ * Returns the value of the '<em><b>Operation</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.Operation}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Operation</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>Operation</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionClientServerInterface_Operation()
+ * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<Operation> getOperation();
+
+} // FunctionClientServerInterface
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionClientServerPort.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionClientServerPort.java
new file mode 100644
index 00000000000..f0212fd7305
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionClientServerPort.java
@@ -0,0 +1,124 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling;
+
+import org.eclipse.uml2.uml.Port;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Function Client Server Port</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The FunctionClientServerPort is a FunctionPort for client-server interaction. A number of FunctionClientServerPorts of clientServerType "client" can be connected to one FunctionClientServerPort of clientServerType "server", i.e. when connected the multiplicity for the connection is n to 1 for client and server.
+ *
+ * Semantics:
+ * The FunctionClientServerPort is a FunctionPort for client-server interaction.
+ *
+ * FunctionClientServerPorts are single buffer overwrite and nonconsumable.
+ *
+ * Constraints:
+ * [1] A FunctionClientServerPort of clientServerType "client" can only be connected to one FunctionClientServerPort of clientServerType "server".
+ *
+ * Extension: UML Port
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerPort#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerPort#getBase_Port <em>Base Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerPort#getClientServerType <em>Client Server Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionClientServerPort()
+ * @model
+ * @generated
+ */
+public interface FunctionClientServerPort extends FunctionPort {
+ /**
+ * Returns the value of the '<em><b>Client Server Type</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.ClientServerKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Client Server 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>Client Server Type</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.ClientServerKind
+ * @see #setClientServerType(ClientServerKind)
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionClientServerPort_ClientServerType()
+ * @model unique="false" required="true" ordered="false"
+ * @generated
+ */
+ ClientServerKind getClientServerType();
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The interface of this port.
+ *
+ * {derived from UML::TypedElement::type}
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Type</em>' reference.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionClientServerPort_Type()
+ * @model required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ FunctionClientServerInterface getType();
+
+ /**
+ * Returns the value of the '<em><b>Base Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base 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>Base Port</em>' reference.
+ * @see #setBase_Port(Port)
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionClientServerPort_Base_Port()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Port getBase_Port();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerPort#getBase_Port <em>Base Port</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Port</em>' reference.
+ * @see #getBase_Port()
+ * @generated
+ */
+ void setBase_Port(Port value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerPort#getClientServerType <em>Client Server Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Client Server Type</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.ClientServerKind
+ * @see #getClientServerType()
+ * @generated
+ */
+ void setClientServerType(ClientServerKind value);
+
+} // FunctionClientServerPort
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionConnector.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionConnector.java
new file mode 100644
index 00000000000..0feb2e0d841
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionConnector.java
@@ -0,0 +1,141 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.uml2.uml.Connector;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Function Connector</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The FunctionConnector indicates that the connected FunctionPorts exchange signals or client-server requests/responses.
+ *
+ * Semantics:
+ * The FunctionConnector connects a pair of FunctionFlowPorts or FunctionClientServerPorts. If two FunctionFlowPorts are connected, data elements of the type of the output FunctionFlowPort flow from the output FunctionFlowPort to the input FunctionFlowPort. If FunctionClientServerPorts are connected, the client calls the server according to the operations of the interfaces. The occurrence of the FunctionType that specifies the occurrence of the FunctionPrototype has to be identified by the FunctionConnector as well.
+ * The FunctionConnector is normally routed according to the hardware topology and the allocation of source and destination. If there are redundant paths, a FunctionAllocation may be used to prescribe allocation.
+ *
+ *
+ * Constraints:
+ * [1] Can connect two FunctionFlowPorts of different direction when this is an assembly FunctionConnector.
+ *
+ * [2] Can connect two FunctionFlowPorts of the same direction when this is a delegation FunctionConnector.
+ *
+ * [3] Can connect two ClientServerPorts of different kind when this is an assembly FunctionConnector.
+ *
+ * [4] Can connect two ClientServerPorts of the same kind when this is a delegation FunctionConnector.
+ *
+ * [5] Can connect two FunctionFlowPorts with direction inout.
+ *
+ * Notation: FunctionConnector is shown as a solid line
+ *
+ * Extension: UML Connector
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionConnector#getPort <em>Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionConnector#getBase_Connector <em>Base Connector</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionConnector#getPort1_path <em>Port1 path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionConnector#getPort2_path <em>Port2 path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionConnector()
+ * @model
+ * @generated
+ */
+public interface FunctionConnector extends EAElement, AllocateableElement {
+ /**
+ * Returns the value of the '<em><b>Port</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPort}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The ports that are connected by this connector.
+ * {derived from UML::Connector::end}
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Port</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionConnector_Port()
+ * @model upper="2" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<FunctionPort> getPort();
+
+ /**
+ * 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.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionConnector_Base_Connector()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Connector getBase_Connector();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionConnector#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>Port1 path</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Port1 path</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>Port1 path</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionConnector_Port1_path()
+ * @model
+ * @generated
+ */
+ EList<FunctionPrototype> getPort1_path();
+
+ /**
+ * Returns the value of the '<em><b>Port2 path</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Port2 path</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>Port2 path</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionConnector_Port2_path()
+ * @model
+ * @generated
+ */
+ EList<FunctionPrototype> getPort2_path();
+
+} // FunctionConnector
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionFlowPort.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionFlowPort.java
new file mode 100644
index 00000000000..aafe69f8042
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionFlowPort.java
@@ -0,0 +1,99 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling;
+
+
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatype;
+import org.eclipse.papyrus.sysml.portandflows.FlowPort;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Function Flow Port</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The FunctionFlowPort is a metaclass for flowports, inspired by the SysML FlowPort.
+ *
+ * Semantics:
+ * FunctionFlowPorts are single buffer overwrite and nonconsumable.
+ *
+ * FunctionFlowPorts can be connected if their FunctionPort signatures match; i.e.:
+ *
+ * EADatatypes that are ValueTypes are compatible if
+ *
+ * * They have the same "dimension".
+ *
+ * * They have the same "unit".
+ *
+ * EADatatypes that are RangeableValueTypes are compatible if
+ *
+ * * The source EADatatype has the same or better "accuracy".
+ *
+ * * They have the same baseRangeable.
+ *
+ * * The source EADatatype has the same or smaller "maxValue".
+ *
+ * * The source EADatatype has the same or higher "minValue".
+ *
+ * * The source EADatatype has the same or higher "resolution".
+ *
+ * * They have the same "significantDigits".
+ *
+ * EADatatypes that are EnumerationValueTypes are compatible if
+ *
+ * * They have the same baseEnumeration.
+ *
+ * FunctionFlowPort with direction=in, is called an input FunctionFlowPort:
+ *
+ * The input FunctionFlowPort indicates that the containing Function requires input data. The EADatatype of this data is defined by the associated EADatatype. The data is sampled at the invocation of the containing entity for discrete Functions. For continuous Functions, the input FunctionFlowPort represents a continuous input connection point.
+ *
+ * The input FunctionFlowPort declares a reception point of data. It represents a single element buffer, which is overridden with the latest data. The type of the data is defined by the associated EADatatype.
+ *
+ * FunctionFlowPort with direction=out, is called an output FunctionFlowPort:
+ *
+ * The output FunctionFlowPort indicates that the containing Function provides output data. The EADatatype of this data is defined by the associated EADatatype. The data is sent at the completion of the containing entity for discrete Functions. For continuous Functions, the output FunctionFlowPort represents a (time-)continuous output connection point.
+ *
+ * The output FunctionFlowPort declares a transmission point of data. The type of the data is defined by the associated EADatatype.
+ *
+ *
+ * Extension: UML Port, specialization of SysML::FlowPort
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionFlowPort#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionFlowPort()
+ * @model
+ * @generated
+ */
+public interface FunctionFlowPort extends FlowPort, FunctionPort {
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type</em>' reference.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionFlowPort_Type()
+ * @model required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EADatatype getType();
+
+} // FunctionFlowPort
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionPort.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionPort.java
new file mode 100644
index 00000000000..a4eae009970
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionPort.java
@@ -0,0 +1,36 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling;
+
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Function Port</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The ports conserve variables for component interaction.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionPort()
+ * @model abstract="true"
+ * @generated
+ */
+public interface FunctionPort extends EAElement {
+} // FunctionPort
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionPowerPort.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionPowerPort.java
new file mode 100644
index 00000000000..4f3681565f1
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionPowerPort.java
@@ -0,0 +1,100 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling;
+
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.CompositeDatatype;
+import org.eclipse.uml2.uml.Port;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Function Power Port</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The FunctionPowerPort is a FunctionPort for denoting the physical interactions between environment and sensing/actuation functions.
+ *
+ * Semantics:
+ * The FunctionPowerPort conserves physical variables in a dynamic process.
+ *
+ * The typing Datatype owns two datatypePrototypes called Across and Through, representing the exchanged physical variables of the FunctionPowerPort. In two or more directly connected function power ports, the Across variables always get the same value and the Through variables always sum up to zero.
+ *
+ * Constraints:
+ * [1] The owner of a FunctionPowerPort is either a FunctionalDevice, a HardwareFunctionType, or a FunctionType for environment
+ *
+ * [2] Two connected FunctionPowerPort must have the same Datatype.
+ *
+ * [3] The typing Datatype shall have two datatypePrototypes called Across and Through, with Datatypes that are consistent and representing the variables of the PowerPort.
+ *
+ *
+ * Extension: UML Port
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPowerPort#getBase_Port <em>Base Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPowerPort#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionPowerPort()
+ * @model
+ * @generated
+ */
+public interface FunctionPowerPort extends FunctionPort {
+ /**
+ * Returns the value of the '<em><b>Base Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base 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>Base Port</em>' reference.
+ * @see #setBase_Port(Port)
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionPowerPort_Base_Port()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Port getBase_Port();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPowerPort#getBase_Port <em>Base Port</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Port</em>' reference.
+ * @see #getBase_Port()
+ * @generated
+ */
+ void setBase_Port(Port value);
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Type</em>' reference.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionPowerPort_Type()
+ * @model required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ CompositeDatatype getType();
+
+} // FunctionPowerPort
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionPrototype.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionPrototype.java
new file mode 100644
index 00000000000..aca8468047f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionPrototype.java
@@ -0,0 +1,97 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling;
+
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.Property;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Function Prototype</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * FunctionPrototype represents a reference to the occurrence of a FunctionType when it acts as a part.
+ *
+ * The FunctionPrototype is typed by a FunctionType.
+ *
+ * FunctionTrigger in the Behavior package is associated to a FunctionPrototype.
+ *
+ *
+ *
+ * Semantics:
+ * The FunctionPrototype represents an occurrence of the FunctionType that types it.
+ *
+ * Notation:
+ * Shall be shown in the same style as the class specified as type, however it shall be clear that this is a part.
+ *
+ * Changes:
+ * Renamed from ADLFunctionPart
+ *
+ * Extension:
+ * To specialize SysML::BlockProperty, which extends Property
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionPrototype()
+ * @model abstract="true"
+ * @generated
+ */
+public interface FunctionPrototype extends EAElement {
+ /**
+ * 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.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionPrototype_Base_Property()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Property getBase_Property();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype#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);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation" required="true" ordered="false"
+ * @generated
+ */
+ Image getIcon();
+
+} // FunctionPrototype
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionType.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionType.java
new file mode 100644
index 00000000000..1e51cd3bc02
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionType.java
@@ -0,0 +1,156 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.sysml.blocks.Block;
+import org.eclipse.uml2.uml.Image;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Function Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The abstract metaclass FunctionType abstracts the function component types that are used to model the functional structure, which is distinguished from the implementation of component types using AUTOSAR. The syntax of FunctionTypes is inspired from the concept of Block from SysML.
+ *
+ * FunctionBehavior and FunctionTrigger in the Behavior package are associated to a FunctionType.
+ *
+ *
+ * Semantics:
+ * The FunctionType abstracts the function component types that are used to model the functional structure on AnalysisLevel and DesignLevel.
+ * Leaf functions of an EAST-ADL2 function hierarchy are called elementary Functions.
+ * Elementary Functions have synchronous execution semantics:
+ * 1. Read inputs
+ * 2. Execute (duration: Execution time)
+ * 3. Write outputs
+ * Execution is defined by a behavior that acts as a transfer function.
+ * Subclasses of the abstract class FunctionType add their own semantics.
+ *
+ * If a behavior is attached to the FunctionType, the execution semantic for a discrete elementary FunctionType complies with the run-to-completion semantic. This has the following implications:
+ *
+ * 1. Input that arrives at the input FunctionPorts after execution begins will be ignored until the next execution cycle.
+ *
+ * 2. If more than one input value arrives per FunctionPort before execution begins the last value will override all previous ones in the public part of the input FunctionPort (single element buffers for input).
+ *
+ * 3. The local part of a FunctionPort does not change its value during execution of the behavior.
+ *
+ * 4. During an execution cycle only one output value can be sent per FunctionPort. If consecutive output values are produced on the same FunctionPort during a single execution cycle, the last value will override all previous ones on the output FunctionPort (single element buffers for output).
+ *
+ * 5. Output will not be available at an output FunctionPort before execution ends.
+ *
+ * 6. Elementary FunctionTypes may not produce any side effects (i.e., all data passes the FunctionPorts).
+ *
+ *
+ * Constraints:
+ * [1] Elementary FunctionTypes shall not have parts.
+ *
+ * Notation:
+ * The FunctionType is shown as a solid-outline rectangle containing the name, with its FunctionPorts or PortGroups on the perimeter. Contained entities may be shown with its FunctionConnectors (White-box view)
+ *
+ * Extension: UML Class, specialization of SysML::Block
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType#isIsElementary <em>Is Elementary</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType#getPort <em>Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType#getPortGroup <em>Port Group</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType#getConnector <em>Connector</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionType()
+ * @model abstract="true"
+ * @generated
+ */
+public interface FunctionType extends Context, Block {
+ /**
+ * Returns the value of the '<em><b>Connector</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionConnector}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Connector</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>Connector</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionType_Connector()
+ * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<FunctionConnector> getConnector();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation" required="true" ordered="false"
+ * @generated
+ */
+ Image getIcon();
+
+ /**
+ * Returns the value of the '<em><b>Port</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPort}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Owned in- and out-flow ports.
+ * {derived from UML::EncapsulatedClassifier::ownedPort}
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Port</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionType_Port()
+ * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<FunctionPort> getPort();
+
+ /**
+ * Returns the value of the '<em><b>Port Group</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.PortGroup}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Grouping of ports owned by this element.
+ * {derived from UML::Class::nestedClassifier}
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Port Group</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionType_PortGroup()
+ * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<PortGroup> getPortGroup();
+
+ /**
+ * Returns the value of the '<em><b>Is Elementary</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Elementary</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Elementary</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionType_IsElementary()
+ * @model default="false" dataType="org.eclipse.uml2.types.Boolean" required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ boolean isIsElementary();
+
+} // FunctionType
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionalDevice.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionalDevice.java
new file mode 100644
index 00000000000..e63bc7f1e1a
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionalDevice.java
@@ -0,0 +1,44 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Functional Device</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The FunctionalDevice represents an abstract sensor or actuator that encapsulates sensor/actuator dynamics and the interfacing software. The FunctionalDevice is the interface between the electronic architecture and the environment (connected by ClampConnectors). As such, it is a transfer function between the AnalysisFunction and the physical entity that it measures or actuates.
+ * A Realization dependency can be used for traceability between LocalDeviceManagers and Sensors/Actuators that are represented by the FunctionalDevice.
+ *
+ * Semantics:
+ * The behavior associated with the FunctionalDevice is the transfer function between the environment model representing the environment and an AnalysisFunction. The transfer function represents the sensor or actuator and its interfacing hardware and software (connectors, electronics, in/out interface, driver software, and application software).
+ *
+ * Constraints:
+ * No additional constraints.
+ *
+ * Changes:
+ * Now specializes AnalysisFunctionType.
+ *
+ * Extension: Class, specialization of SysML::Block
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getFunctionalDevice()
+ * @model
+ * @generated
+ */
+public interface FunctionalDevice extends AnalysisFunctionType {
+} // FunctionalDevice
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionmodelingFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionmodelingFactory.java
new file mode 100644
index 00000000000..61d0d4adb2b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionmodelingFactory.java
@@ -0,0 +1,196 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling;
+
+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.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage
+ * @generated
+ */
+public interface FunctionmodelingFactory extends EFactory {
+
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ FunctionmodelingFactory eINSTANCE = org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Allocation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Allocation</em>'.
+ * @generated
+ */
+ Allocation createAllocation();
+
+ /**
+ * Returns a new object of class '<em>Analysis Function Prototype</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Analysis Function Prototype</em>'.
+ * @generated
+ */
+ AnalysisFunctionPrototype createAnalysisFunctionPrototype();
+
+ /**
+ * Returns a new object of class '<em>Analysis Function Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Analysis Function Type</em>'.
+ * @generated
+ */
+ AnalysisFunctionType createAnalysisFunctionType();
+
+ /**
+ * Returns a new object of class '<em>Basic Software Function Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Basic Software Function Type</em>'.
+ * @generated
+ */
+ BasicSoftwareFunctionType createBasicSoftwareFunctionType();
+
+ /**
+ * Returns a new object of class '<em>Design Function Prototype</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Design Function Prototype</em>'.
+ * @generated
+ */
+ DesignFunctionPrototype createDesignFunctionPrototype();
+
+ /**
+ * Returns a new object of class '<em>Design Function Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Design Function Type</em>'.
+ * @generated
+ */
+ DesignFunctionType createDesignFunctionType();
+
+ /**
+ * Returns a new object of class '<em>Functional Device</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return a new object of class '<em>Functional Device</em>'.
+ * @generated
+ */
+ FunctionalDevice createFunctionalDevice();
+
+ /**
+ * Returns a new object of class '<em>Function Allocation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Function Allocation</em>'.
+ * @generated
+ */
+ FunctionAllocation createFunctionAllocation();
+
+ /**
+ * Returns a new object of class '<em>Function Client Server Interface</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Function Client Server Interface</em>'.
+ * @generated
+ */
+ FunctionClientServerInterface createFunctionClientServerInterface();
+
+ /**
+ * Returns a new object of class '<em>Function Client Server Port</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Function Client Server Port</em>'.
+ * @generated
+ */
+ FunctionClientServerPort createFunctionClientServerPort();
+
+ /**
+ * Returns a new object of class '<em>Function Connector</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Function Connector</em>'.
+ * @generated
+ */
+ FunctionConnector createFunctionConnector();
+
+ /**
+ * Returns a new object of class '<em>Function Flow Port</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Function Flow Port</em>'.
+ * @generated
+ */
+ FunctionFlowPort createFunctionFlowPort();
+
+ /**
+ * Returns a new object of class '<em>Function Power Port</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Function Power Port</em>'.
+ * @generated
+ */
+ FunctionPowerPort createFunctionPowerPort();
+
+ /**
+ * Returns a new object of class '<em>Hardware Function Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hardware Function Type</em>'.
+ * @generated
+ */
+ HardwareFunctionType createHardwareFunctionType();
+
+ /**
+ * Returns a new object of class '<em>Local Device Manager</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return a new object of class '<em>Local Device Manager</em>'.
+ * @generated
+ */
+ LocalDeviceManager createLocalDeviceManager();
+
+ /**
+ * Returns a new object of class '<em>Operation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Operation</em>'.
+ * @generated
+ */
+ Operation createOperation();
+
+ /**
+ * Returns a new object of class '<em>Port Group</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Port Group</em>'.
+ * @generated
+ */
+ PortGroup createPortGroup();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ FunctionmodelingPackage getFunctionmodelingPackage();
+
+} // FunctionmodelingFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionmodelingPackage.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionmodelingPackage.java
new file mode 100644
index 00000000000..a3233df0cbe
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/FunctionmodelingPackage.java
@@ -0,0 +1,3115 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling;
+
+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.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage;
+
+
+/**
+ * <!-- 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 --> <!-- begin-model-doc --> The function modeling is performed on the FAA and
+ * FDA levels, modeled as AnalysisArchitecture and DesignArchitecture. The compositional hierarchy
+ * of these abstraction layers starts with FunctionalAnalysisArchitecture and
+ * FunctionalDesignArchitecture respectively. The FAA is modeled with FunctionalDevices and the FDA
+ * is modeled with LocalDeviceManagers. The purpose of the metaclasses in the FunctionModeling
+ * domain metamodel package is to specify rigorously ("formally") the FunctionModeling concepts for
+ * the specific domain. This section contains a specification for each individual metaclass in the
+ * FunctionModeling package.
+ *
+ * Overview: Essentially the modeling is done via a set of interconnected functions which may be
+ * composed hierarchically. Thus the core elements are ADLFunctionType and ADLFunctionPrototype. The
+ * latter represents the local use of an instance of the former. Functions are connected through
+ * ADLConnectorPrototypes and ADLPorts. <!-- end-model-doc -->
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface FunctionmodelingPackage extends EPackage {
+
+ /**
+ * <!-- 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.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionTypeImpl <em>Function Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionTypeImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getFunctionType()
+ * @generated
+ */
+ EClass FUNCTION_TYPE = eINSTANCE.getFunctionType();
+
+ /**
+ * The meta object literal for the '<em><b>Is Elementary</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FUNCTION_TYPE__IS_ELEMENTARY = eINSTANCE.getFunctionType_IsElementary();
+
+ /**
+ * The meta object literal for the '<em><b>Port</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION_TYPE__PORT = eINSTANCE.getFunctionType_Port();
+
+ /**
+ * The meta object literal for the '<em><b>Port Group</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION_TYPE__PORT_GROUP = eINSTANCE.getFunctionType_PortGroup();
+
+ /**
+ * The meta object literal for the '<em><b>Connector</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION_TYPE__CONNECTOR = eINSTANCE.getFunctionType_Connector();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionPortImpl <em>Function Port</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionPortImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getFunctionPort()
+ * @generated
+ */
+ EClass FUNCTION_PORT = eINSTANCE.getFunctionPort();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionConnectorImpl <em>Function Connector</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionConnectorImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getFunctionConnector()
+ * @generated
+ */
+ EClass FUNCTION_CONNECTOR = eINSTANCE.getFunctionConnector();
+
+ /**
+ * The meta object literal for the '<em><b>Port</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION_CONNECTOR__PORT = eINSTANCE.getFunctionConnector_Port();
+
+ /**
+ * The meta object literal for the '<em><b>Base Connector</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION_CONNECTOR__BASE_CONNECTOR = eINSTANCE.getFunctionConnector_Base_Connector();
+
+ /**
+ * The meta object literal for the '<em><b>Port1 path</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION_CONNECTOR__PORT1_PATH = eINSTANCE.getFunctionConnector_Port1_path();
+
+ /**
+ * The meta object literal for the '<em><b>Port2 path</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION_CONNECTOR__PORT2_PATH = eINSTANCE.getFunctionConnector_Port2_path();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.AnalysisFunctionPrototypeImpl <em>Analysis Function Prototype</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.AnalysisFunctionPrototypeImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getAnalysisFunctionPrototype()
+ * @generated
+ */
+ EClass ANALYSIS_FUNCTION_PROTOTYPE = eINSTANCE.getAnalysisFunctionPrototype();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ANALYSIS_FUNCTION_PROTOTYPE__TYPE = eINSTANCE.getAnalysisFunctionPrototype_Type();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionFlowPortImpl <em>Function Flow Port</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionFlowPortImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getFunctionFlowPort()
+ * @generated
+ */
+ EClass FUNCTION_FLOW_PORT = eINSTANCE.getFunctionFlowPort();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION_FLOW_PORT__TYPE = eINSTANCE.getFunctionFlowPort_Type();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionClientServerPortImpl <em>Function Client Server Port</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionClientServerPortImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getFunctionClientServerPort()
+ * @generated
+ */
+ EClass FUNCTION_CLIENT_SERVER_PORT = eINSTANCE.getFunctionClientServerPort();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION_CLIENT_SERVER_PORT__TYPE = eINSTANCE.getFunctionClientServerPort_Type();
+
+ /**
+ * The meta object literal for the '<em><b>Base Port</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION_CLIENT_SERVER_PORT__BASE_PORT = eINSTANCE.getFunctionClientServerPort_Base_Port();
+
+ /**
+ * The meta object literal for the '<em><b>Client Server Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FUNCTION_CLIENT_SERVER_PORT__CLIENT_SERVER_TYPE = eINSTANCE.getFunctionClientServerPort_ClientServerType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionClientServerInterfaceImpl <em>Function Client Server Interface</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionClientServerInterfaceImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getFunctionClientServerInterface()
+ * @generated
+ */
+ EClass FUNCTION_CLIENT_SERVER_INTERFACE = eINSTANCE.getFunctionClientServerInterface();
+
+ /**
+ * The meta object literal for the '<em><b>Base Interface</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION_CLIENT_SERVER_INTERFACE__BASE_INTERFACE = eINSTANCE.getFunctionClientServerInterface_Base_Interface();
+
+ /**
+ * The meta object literal for the '<em><b>Operation</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION_CLIENT_SERVER_INTERFACE__OPERATION = eINSTANCE.getFunctionClientServerInterface_Operation();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.OperationImpl <em>Operation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.OperationImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getOperation()
+ * @generated
+ */
+ EClass OPERATION = eINSTANCE.getOperation();
+
+ /**
+ * The meta object literal for the '<em><b>Base Operation</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPERATION__BASE_OPERATION = eINSTANCE.getOperation_Base_Operation();
+
+ /**
+ * The meta object literal for the '<em><b>Argument</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPERATION__ARGUMENT = eINSTANCE.getOperation_Argument();
+
+ /**
+ * The meta object literal for the '<em><b>Return</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPERATION__RETURN = eINSTANCE.getOperation_Return();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.PortGroupImpl <em>Port Group</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.PortGroupImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getPortGroup()
+ * @generated
+ */
+ EClass PORT_GROUP = eINSTANCE.getPortGroup();
+
+ /**
+ * The meta object literal for the '<em><b>Port</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PORT_GROUP__PORT = eINSTANCE.getPortGroup_Port();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PORT_GROUP__BASE_CLASS = eINSTANCE.getPortGroup_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Base Port</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PORT_GROUP__BASE_PORT = eINSTANCE.getPortGroup_Base_Port();
+
+ /**
+ * The meta object literal for the '<em><b>Port Group</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PORT_GROUP__PORT_GROUP = eINSTANCE.getPortGroup_PortGroup();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.BasicSoftwareFunctionTypeImpl <em>Basic Software Function Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.BasicSoftwareFunctionTypeImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getBasicSoftwareFunctionType()
+ * @generated
+ */
+ EClass BASIC_SOFTWARE_FUNCTION_TYPE = eINSTANCE.getBasicSoftwareFunctionType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.HardwareFunctionTypeImpl <em>Hardware Function Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.HardwareFunctionTypeImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getHardwareFunctionType()
+ * @generated
+ */
+ EClass HARDWARE_FUNCTION_TYPE = eINSTANCE.getHardwareFunctionType();
+
+ /**
+ * The meta object literal for the '<em><b>Hardware Component</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HARDWARE_FUNCTION_TYPE__HARDWARE_COMPONENT = eINSTANCE.getHardwareFunctionType_HardwareComponent();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionAllocationImpl <em>Function Allocation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionAllocationImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getFunctionAllocation()
+ * @generated
+ */
+ EClass FUNCTION_ALLOCATION = eINSTANCE.getFunctionAllocation();
+
+ /**
+ * The meta object literal for the '<em><b>Target</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION_ALLOCATION__TARGET = eINSTANCE.getFunctionAllocation_Target();
+
+ /**
+ * The meta object literal for the '<em><b>Allocated Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION_ALLOCATION__ALLOCATED_ELEMENT = eINSTANCE.getFunctionAllocation_AllocatedElement();
+
+ /**
+ * The meta object literal for the '<em><b>Base Dependency</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION_ALLOCATION__BASE_DEPENDENCY = eINSTANCE.getFunctionAllocation_Base_Dependency();
+
+ /**
+ * The meta object literal for the '<em><b>Allocated Element path</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION_ALLOCATION__ALLOCATED_ELEMENT_PATH = eINSTANCE.getFunctionAllocation_AllocatedElement_path();
+
+ /**
+ * The meta object literal for the '<em><b>Target path</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION_ALLOCATION__TARGET_PATH = eINSTANCE.getFunctionAllocation_Target_path();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.AllocationImpl <em>Allocation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.AllocationImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getAllocation()
+ * @generated
+ */
+ EClass ALLOCATION = eINSTANCE.getAllocation();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ALLOCATION__BASE_CLASS = eINSTANCE.getAllocation_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ALLOCATION__BASE_PACKAGE = eINSTANCE.getAllocation_Base_Package();
+
+ /**
+ * The meta object literal for the '<em><b>Function Allocation</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ALLOCATION__FUNCTION_ALLOCATION = eINSTANCE.getAllocation_FunctionAllocation();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionPowerPortImpl <em>Function Power Port</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionPowerPortImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getFunctionPowerPort()
+ * @generated
+ */
+ EClass FUNCTION_POWER_PORT = eINSTANCE.getFunctionPowerPort();
+
+ /**
+ * The meta object literal for the '<em><b>Base Port</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION_POWER_PORT__BASE_PORT = eINSTANCE.getFunctionPowerPort_Base_Port();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION_POWER_PORT__TYPE = eINSTANCE.getFunctionPowerPort_Type();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.EADirectionKind <em>EA Direction Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.EADirectionKind
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getEADirectionKind()
+ * @generated
+ */
+ EEnum EA_DIRECTION_KIND = eINSTANCE.getEADirectionKind();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.ClientServerKind <em>Client Server Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.ClientServerKind
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getClientServerKind()
+ * @generated
+ */
+ EEnum CLIENT_SERVER_KIND = eINSTANCE.getClientServerKind();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionPrototypeImpl <em>Function Prototype</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionPrototypeImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getFunctionPrototype()
+ * @generated
+ */
+ EClass FUNCTION_PROTOTYPE = eINSTANCE.getFunctionPrototype();
+
+ /**
+ * The meta object literal for the '<em><b>Base Property</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION_PROTOTYPE__BASE_PROPERTY = eINSTANCE.getFunctionPrototype_Base_Property();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.AllocateableElementImpl <em>Allocateable Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.AllocateableElementImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getAllocateableElement()
+ * @generated
+ */
+ EClass ALLOCATEABLE_ELEMENT = eINSTANCE.getAllocateableElement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.LocalDeviceManagerImpl <em>Local Device Manager</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.LocalDeviceManagerImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getLocalDeviceManager()
+ * @generated
+ */
+ EClass LOCAL_DEVICE_MANAGER = eINSTANCE.getLocalDeviceManager();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.DesignFunctionTypeImpl <em>Design Function Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.DesignFunctionTypeImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getDesignFunctionType()
+ * @generated
+ */
+ EClass DESIGN_FUNCTION_TYPE = eINSTANCE.getDesignFunctionType();
+
+ /**
+ * The meta object literal for the '<em><b>Part</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DESIGN_FUNCTION_TYPE__PART = eINSTANCE.getDesignFunctionType_Part();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.DesignFunctionPrototypeImpl <em>Design Function Prototype</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.DesignFunctionPrototypeImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getDesignFunctionPrototype()
+ * @generated
+ */
+ EClass DESIGN_FUNCTION_PROTOTYPE = eINSTANCE.getDesignFunctionPrototype();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DESIGN_FUNCTION_PROTOTYPE__TYPE = eINSTANCE.getDesignFunctionPrototype_Type();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionalDeviceImpl <em>Functional Device</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionalDeviceImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getFunctionalDevice()
+ * @generated
+ */
+ EClass FUNCTIONAL_DEVICE = eINSTANCE.getFunctionalDevice();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.AnalysisFunctionTypeImpl <em>Analysis Function Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.AnalysisFunctionTypeImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getAnalysisFunctionType()
+ * @generated
+ */
+ EClass ANALYSIS_FUNCTION_TYPE = eINSTANCE.getAnalysisFunctionType();
+
+ /**
+ * The meta object literal for the '<em><b>Part</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ANALYSIS_FUNCTION_TYPE__PART = eINSTANCE.getAnalysisFunctionType_Part();
+
+ }
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "functionmodeling";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.papyrusuml.org/EAST-ADL2/Structure/FunctionModeling/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "FunctionModeling";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ FunctionmodelingPackage eINSTANCE = org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.DesignFunctionTypeImpl <em>Design Function Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.DesignFunctionTypeImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getDesignFunctionType()
+ * @generated
+ */
+ int DESIGN_FUNCTION_TYPE = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionTypeImpl <em>Function Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionTypeImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getFunctionType()
+ * @generated
+ */
+ int FUNCTION_TYPE = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_TYPE__NAME = ElementsPackage.CONTEXT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_TYPE__BASE_NAMED_ELEMENT = ElementsPackage.CONTEXT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_TYPE__OWNED_COMMENT = ElementsPackage.CONTEXT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_TYPE__TRACEABLE_SPECIFICATION = ElementsPackage.CONTEXT__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_TYPE__OWNED_RELATIONSHIP = ElementsPackage.CONTEXT__OWNED_RELATIONSHIP;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionConnectorImpl <em>Function Connector</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionConnectorImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getFunctionConnector()
+ * @generated
+ */
+ int FUNCTION_CONNECTOR = 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionFlowPortImpl <em>Function Flow Port</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionFlowPortImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getFunctionFlowPort()
+ * @generated
+ */
+ int FUNCTION_FLOW_PORT = 12;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionClientServerPortImpl <em>Function Client Server Port</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionClientServerPortImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getFunctionClientServerPort()
+ * @generated
+ */
+ int FUNCTION_CLIENT_SERVER_PORT = 13;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionClientServerInterfaceImpl <em>Function Client Server Interface</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionClientServerInterfaceImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getFunctionClientServerInterface()
+ * @generated
+ */
+ int FUNCTION_CLIENT_SERVER_INTERFACE = 14;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.PortGroupImpl <em>Port Group</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.PortGroupImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getPortGroup()
+ * @generated
+ */
+ int PORT_GROUP = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.LocalDeviceManagerImpl <em>Local Device Manager</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.LocalDeviceManagerImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getLocalDeviceManager()
+ * @generated
+ */
+ int LOCAL_DEVICE_MANAGER = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionalDeviceImpl <em>Functional Device</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionalDeviceImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getFunctionalDevice()
+ * @generated
+ */
+ int FUNCTIONAL_DEVICE = 9;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.AnalysisFunctionTypeImpl <em>Analysis Function Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.AnalysisFunctionTypeImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getAnalysisFunctionType()
+ * @generated
+ */
+ int ANALYSIS_FUNCTION_TYPE = 10;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.AnalysisFunctionPrototypeImpl <em>Analysis Function Prototype</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.AnalysisFunctionPrototypeImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getAnalysisFunctionPrototype()
+ * @generated
+ */
+ int ANALYSIS_FUNCTION_PROTOTYPE = 11;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionPrototypeImpl <em>Function Prototype</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionPrototypeImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getFunctionPrototype()
+ * @generated
+ */
+ int FUNCTION_PROTOTYPE = 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.OperationImpl <em>Operation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.OperationImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getOperation()
+ * @generated
+ */
+ int OPERATION = 15;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.DesignFunctionPrototypeImpl <em>Design Function Prototype</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.DesignFunctionPrototypeImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getDesignFunctionPrototype()
+ * @generated
+ */
+ int DESIGN_FUNCTION_PROTOTYPE = 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.AllocateableElementImpl <em>Allocateable Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.AllocateableElementImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getAllocateableElement()
+ * @generated
+ */
+ int ALLOCATEABLE_ELEMENT = 6;
+
+ /**
+ * The feature id for the '<em><b>Is Encapsulated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_TYPE__IS_ENCAPSULATED = ElementsPackage.CONTEXT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_TYPE__BASE_CLASS = ElementsPackage.CONTEXT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Is Elementary</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_TYPE__IS_ELEMENTARY = ElementsPackage.CONTEXT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Port</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_TYPE__PORT = ElementsPackage.CONTEXT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Port Group</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_TYPE__PORT_GROUP = ElementsPackage.CONTEXT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Connector</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_TYPE__CONNECTOR = ElementsPackage.CONTEXT_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Function Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_TYPE_FEATURE_COUNT = ElementsPackage.CONTEXT_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_FUNCTION_TYPE__NAME = FUNCTION_TYPE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_FUNCTION_TYPE__BASE_NAMED_ELEMENT = FUNCTION_TYPE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_FUNCTION_TYPE__OWNED_COMMENT = FUNCTION_TYPE__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_FUNCTION_TYPE__TRACEABLE_SPECIFICATION = FUNCTION_TYPE__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_FUNCTION_TYPE__OWNED_RELATIONSHIP = FUNCTION_TYPE__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Is Encapsulated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_FUNCTION_TYPE__IS_ENCAPSULATED = FUNCTION_TYPE__IS_ENCAPSULATED;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_FUNCTION_TYPE__BASE_CLASS = FUNCTION_TYPE__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Is Elementary</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_FUNCTION_TYPE__IS_ELEMENTARY = FUNCTION_TYPE__IS_ELEMENTARY;
+
+ /**
+ * The feature id for the '<em><b>Port</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_FUNCTION_TYPE__PORT = FUNCTION_TYPE__PORT;
+
+ /**
+ * The feature id for the '<em><b>Port Group</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_FUNCTION_TYPE__PORT_GROUP = FUNCTION_TYPE__PORT_GROUP;
+
+ /**
+ * The feature id for the '<em><b>Connector</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_FUNCTION_TYPE__CONNECTOR = FUNCTION_TYPE__CONNECTOR;
+
+ /**
+ * The feature id for the '<em><b>Part</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_FUNCTION_TYPE__PART = FUNCTION_TYPE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Design Function Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_FUNCTION_TYPE_FEATURE_COUNT = FUNCTION_TYPE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOCAL_DEVICE_MANAGER__NAME = DESIGN_FUNCTION_TYPE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOCAL_DEVICE_MANAGER__BASE_NAMED_ELEMENT = DESIGN_FUNCTION_TYPE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOCAL_DEVICE_MANAGER__OWNED_COMMENT = DESIGN_FUNCTION_TYPE__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOCAL_DEVICE_MANAGER__TRACEABLE_SPECIFICATION = DESIGN_FUNCTION_TYPE__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOCAL_DEVICE_MANAGER__OWNED_RELATIONSHIP = DESIGN_FUNCTION_TYPE__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Is Encapsulated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOCAL_DEVICE_MANAGER__IS_ENCAPSULATED = DESIGN_FUNCTION_TYPE__IS_ENCAPSULATED;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOCAL_DEVICE_MANAGER__BASE_CLASS = DESIGN_FUNCTION_TYPE__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Is Elementary</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOCAL_DEVICE_MANAGER__IS_ELEMENTARY = DESIGN_FUNCTION_TYPE__IS_ELEMENTARY;
+
+ /**
+ * The feature id for the '<em><b>Port</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOCAL_DEVICE_MANAGER__PORT = DESIGN_FUNCTION_TYPE__PORT;
+
+ /**
+ * The feature id for the '<em><b>Port Group</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOCAL_DEVICE_MANAGER__PORT_GROUP = DESIGN_FUNCTION_TYPE__PORT_GROUP;
+
+ /**
+ * The feature id for the '<em><b>Connector</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOCAL_DEVICE_MANAGER__CONNECTOR = DESIGN_FUNCTION_TYPE__CONNECTOR;
+
+ /**
+ * The feature id for the '<em><b>Part</b></em>' reference list.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOCAL_DEVICE_MANAGER__PART = DESIGN_FUNCTION_TYPE__PART;
+
+ /**
+ * The number of structural features of the '<em>Local Device Manager</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOCAL_DEVICE_MANAGER_FEATURE_COUNT = DESIGN_FUNCTION_TYPE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionPortImpl <em>Function Port</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionPortImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getFunctionPort()
+ * @generated
+ */
+ int FUNCTION_PORT = 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_PORT__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_PORT__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_PORT__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The number of structural features of the '<em>Function Port</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_PORT_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT_GROUP__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT_GROUP__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT_GROUP__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Port</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT_GROUP__PORT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT_GROUP__BASE_CLASS = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT_GROUP__BASE_PORT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Port Group</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT_GROUP__PORT_GROUP = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Port Group</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PORT_GROUP_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_CONNECTOR__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_CONNECTOR__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_CONNECTOR__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Port</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_CONNECTOR__PORT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Connector</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_CONNECTOR__BASE_CONNECTOR = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Port1 path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_CONNECTOR__PORT1_PATH = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Port2 path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_CONNECTOR__PORT2_PATH = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Function Connector</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_CONNECTOR_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Allocateable Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALLOCATEABLE_ELEMENT_FEATURE_COUNT = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_PROTOTYPE__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_PROTOTYPE__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_PROTOTYPE__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_PROTOTYPE__BASE_PROPERTY = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Function Prototype</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_PROTOTYPE_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_FUNCTION_PROTOTYPE__NAME = FUNCTION_PROTOTYPE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_FUNCTION_PROTOTYPE__BASE_NAMED_ELEMENT = FUNCTION_PROTOTYPE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_FUNCTION_PROTOTYPE__OWNED_COMMENT = FUNCTION_PROTOTYPE__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_FUNCTION_PROTOTYPE__BASE_PROPERTY = FUNCTION_PROTOTYPE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_FUNCTION_PROTOTYPE__TYPE = FUNCTION_PROTOTYPE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Design Function Prototype</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_FUNCTION_PROTOTYPE_FEATURE_COUNT = FUNCTION_PROTOTYPE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANALYSIS_FUNCTION_TYPE__NAME = FUNCTION_TYPE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANALYSIS_FUNCTION_TYPE__BASE_NAMED_ELEMENT = FUNCTION_TYPE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANALYSIS_FUNCTION_TYPE__OWNED_COMMENT = FUNCTION_TYPE__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANALYSIS_FUNCTION_TYPE__TRACEABLE_SPECIFICATION = FUNCTION_TYPE__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANALYSIS_FUNCTION_TYPE__OWNED_RELATIONSHIP = FUNCTION_TYPE__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Is Encapsulated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANALYSIS_FUNCTION_TYPE__IS_ENCAPSULATED = FUNCTION_TYPE__IS_ENCAPSULATED;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANALYSIS_FUNCTION_TYPE__BASE_CLASS = FUNCTION_TYPE__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Is Elementary</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANALYSIS_FUNCTION_TYPE__IS_ELEMENTARY = FUNCTION_TYPE__IS_ELEMENTARY;
+
+ /**
+ * The feature id for the '<em><b>Port</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANALYSIS_FUNCTION_TYPE__PORT = FUNCTION_TYPE__PORT;
+
+ /**
+ * The feature id for the '<em><b>Port Group</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANALYSIS_FUNCTION_TYPE__PORT_GROUP = FUNCTION_TYPE__PORT_GROUP;
+
+ /**
+ * The feature id for the '<em><b>Connector</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANALYSIS_FUNCTION_TYPE__CONNECTOR = FUNCTION_TYPE__CONNECTOR;
+
+ /**
+ * The feature id for the '<em><b>Part</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANALYSIS_FUNCTION_TYPE__PART = FUNCTION_TYPE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Analysis Function Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANALYSIS_FUNCTION_TYPE_FEATURE_COUNT = FUNCTION_TYPE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTIONAL_DEVICE__NAME = ANALYSIS_FUNCTION_TYPE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTIONAL_DEVICE__BASE_NAMED_ELEMENT = ANALYSIS_FUNCTION_TYPE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTIONAL_DEVICE__OWNED_COMMENT = ANALYSIS_FUNCTION_TYPE__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTIONAL_DEVICE__TRACEABLE_SPECIFICATION = ANALYSIS_FUNCTION_TYPE__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTIONAL_DEVICE__OWNED_RELATIONSHIP = ANALYSIS_FUNCTION_TYPE__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Is Encapsulated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTIONAL_DEVICE__IS_ENCAPSULATED = ANALYSIS_FUNCTION_TYPE__IS_ENCAPSULATED;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTIONAL_DEVICE__BASE_CLASS = ANALYSIS_FUNCTION_TYPE__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Is Elementary</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTIONAL_DEVICE__IS_ELEMENTARY = ANALYSIS_FUNCTION_TYPE__IS_ELEMENTARY;
+
+ /**
+ * The feature id for the '<em><b>Port</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTIONAL_DEVICE__PORT = ANALYSIS_FUNCTION_TYPE__PORT;
+
+ /**
+ * The feature id for the '<em><b>Port Group</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTIONAL_DEVICE__PORT_GROUP = ANALYSIS_FUNCTION_TYPE__PORT_GROUP;
+
+ /**
+ * The feature id for the '<em><b>Connector</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTIONAL_DEVICE__CONNECTOR = ANALYSIS_FUNCTION_TYPE__CONNECTOR;
+
+ /**
+ * The feature id for the '<em><b>Part</b></em>' reference list.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTIONAL_DEVICE__PART = ANALYSIS_FUNCTION_TYPE__PART;
+
+ /**
+ * The number of structural features of the '<em>Functional Device</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int FUNCTIONAL_DEVICE_FEATURE_COUNT = ANALYSIS_FUNCTION_TYPE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANALYSIS_FUNCTION_PROTOTYPE__NAME = FUNCTION_PROTOTYPE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANALYSIS_FUNCTION_PROTOTYPE__BASE_NAMED_ELEMENT = FUNCTION_PROTOTYPE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANALYSIS_FUNCTION_PROTOTYPE__OWNED_COMMENT = FUNCTION_PROTOTYPE__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANALYSIS_FUNCTION_PROTOTYPE__BASE_PROPERTY = FUNCTION_PROTOTYPE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANALYSIS_FUNCTION_PROTOTYPE__TYPE = FUNCTION_PROTOTYPE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Analysis Function Prototype</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANALYSIS_FUNCTION_PROTOTYPE_FEATURE_COUNT = FUNCTION_PROTOTYPE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_FLOW_PORT__BASE_PORT = PortandflowsPackage.FLOW_PORT__BASE_PORT;
+
+ /**
+ * The feature id for the '<em><b>Is Atomic</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_FLOW_PORT__IS_ATOMIC = PortandflowsPackage.FLOW_PORT__IS_ATOMIC;
+
+ /**
+ * The feature id for the '<em><b>Is Conjugated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_FLOW_PORT__IS_CONJUGATED = PortandflowsPackage.FLOW_PORT__IS_CONJUGATED;
+
+ /**
+ * The feature id for the '<em><b>Direction</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_FLOW_PORT__DIRECTION = PortandflowsPackage.FLOW_PORT__DIRECTION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_FLOW_PORT__NAME = PortandflowsPackage.FLOW_PORT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_FLOW_PORT__BASE_NAMED_ELEMENT = PortandflowsPackage.FLOW_PORT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_FLOW_PORT__OWNED_COMMENT = PortandflowsPackage.FLOW_PORT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_FLOW_PORT__TYPE = PortandflowsPackage.FLOW_PORT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Function Flow Port</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_FLOW_PORT_FEATURE_COUNT = PortandflowsPackage.FLOW_PORT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_CLIENT_SERVER_PORT__NAME = FUNCTION_PORT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_CLIENT_SERVER_PORT__BASE_NAMED_ELEMENT = FUNCTION_PORT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_CLIENT_SERVER_PORT__OWNED_COMMENT = FUNCTION_PORT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_CLIENT_SERVER_PORT__TYPE = FUNCTION_PORT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_CLIENT_SERVER_PORT__BASE_PORT = FUNCTION_PORT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Client Server Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_CLIENT_SERVER_PORT__CLIENT_SERVER_TYPE = FUNCTION_PORT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Function Client Server Port</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_CLIENT_SERVER_PORT_FEATURE_COUNT = FUNCTION_PORT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_CLIENT_SERVER_INTERFACE__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_CLIENT_SERVER_INTERFACE__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_CLIENT_SERVER_INTERFACE__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Interface</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_CLIENT_SERVER_INTERFACE__BASE_INTERFACE = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Operation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_CLIENT_SERVER_INTERFACE__OPERATION = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Function Client Server Interface</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_CLIENT_SERVER_INTERFACE_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Operation</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION__BASE_OPERATION = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Argument</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION__ARGUMENT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Return</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION__RETURN = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Operation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.BasicSoftwareFunctionTypeImpl <em>Basic Software Function Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.BasicSoftwareFunctionTypeImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getBasicSoftwareFunctionType()
+ * @generated
+ */
+ int BASIC_SOFTWARE_FUNCTION_TYPE = 16;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASIC_SOFTWARE_FUNCTION_TYPE__NAME = DESIGN_FUNCTION_TYPE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASIC_SOFTWARE_FUNCTION_TYPE__BASE_NAMED_ELEMENT = DESIGN_FUNCTION_TYPE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASIC_SOFTWARE_FUNCTION_TYPE__OWNED_COMMENT = DESIGN_FUNCTION_TYPE__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASIC_SOFTWARE_FUNCTION_TYPE__TRACEABLE_SPECIFICATION = DESIGN_FUNCTION_TYPE__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASIC_SOFTWARE_FUNCTION_TYPE__OWNED_RELATIONSHIP = DESIGN_FUNCTION_TYPE__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Is Encapsulated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASIC_SOFTWARE_FUNCTION_TYPE__IS_ENCAPSULATED = DESIGN_FUNCTION_TYPE__IS_ENCAPSULATED;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASIC_SOFTWARE_FUNCTION_TYPE__BASE_CLASS = DESIGN_FUNCTION_TYPE__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Is Elementary</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASIC_SOFTWARE_FUNCTION_TYPE__IS_ELEMENTARY = DESIGN_FUNCTION_TYPE__IS_ELEMENTARY;
+
+ /**
+ * The feature id for the '<em><b>Port</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASIC_SOFTWARE_FUNCTION_TYPE__PORT = DESIGN_FUNCTION_TYPE__PORT;
+
+ /**
+ * The feature id for the '<em><b>Port Group</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASIC_SOFTWARE_FUNCTION_TYPE__PORT_GROUP = DESIGN_FUNCTION_TYPE__PORT_GROUP;
+
+ /**
+ * The feature id for the '<em><b>Connector</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASIC_SOFTWARE_FUNCTION_TYPE__CONNECTOR = DESIGN_FUNCTION_TYPE__CONNECTOR;
+
+ /**
+ * The feature id for the '<em><b>Part</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASIC_SOFTWARE_FUNCTION_TYPE__PART = DESIGN_FUNCTION_TYPE__PART;
+
+ /**
+ * The number of structural features of the '<em>Basic Software Function Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASIC_SOFTWARE_FUNCTION_TYPE_FEATURE_COUNT = DESIGN_FUNCTION_TYPE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.HardwareFunctionTypeImpl <em>Hardware Function Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.HardwareFunctionTypeImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getHardwareFunctionType()
+ * @generated
+ */
+ int HARDWARE_FUNCTION_TYPE = 17;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_FUNCTION_TYPE__NAME = DESIGN_FUNCTION_TYPE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_FUNCTION_TYPE__BASE_NAMED_ELEMENT = DESIGN_FUNCTION_TYPE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_FUNCTION_TYPE__OWNED_COMMENT = DESIGN_FUNCTION_TYPE__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_FUNCTION_TYPE__TRACEABLE_SPECIFICATION = DESIGN_FUNCTION_TYPE__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_FUNCTION_TYPE__OWNED_RELATIONSHIP = DESIGN_FUNCTION_TYPE__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Is Encapsulated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_FUNCTION_TYPE__IS_ENCAPSULATED = DESIGN_FUNCTION_TYPE__IS_ENCAPSULATED;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_FUNCTION_TYPE__BASE_CLASS = DESIGN_FUNCTION_TYPE__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Is Elementary</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_FUNCTION_TYPE__IS_ELEMENTARY = DESIGN_FUNCTION_TYPE__IS_ELEMENTARY;
+
+ /**
+ * The feature id for the '<em><b>Port</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_FUNCTION_TYPE__PORT = DESIGN_FUNCTION_TYPE__PORT;
+
+ /**
+ * The feature id for the '<em><b>Port Group</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_FUNCTION_TYPE__PORT_GROUP = DESIGN_FUNCTION_TYPE__PORT_GROUP;
+
+ /**
+ * The feature id for the '<em><b>Connector</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_FUNCTION_TYPE__CONNECTOR = DESIGN_FUNCTION_TYPE__CONNECTOR;
+
+ /**
+ * The feature id for the '<em><b>Part</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_FUNCTION_TYPE__PART = DESIGN_FUNCTION_TYPE__PART;
+
+ /**
+ * The feature id for the '<em><b>Hardware Component</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_FUNCTION_TYPE__HARDWARE_COMPONENT = DESIGN_FUNCTION_TYPE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Hardware Function Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_FUNCTION_TYPE_FEATURE_COUNT = DESIGN_FUNCTION_TYPE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionAllocationImpl <em>Function Allocation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionAllocationImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getFunctionAllocation()
+ * @generated
+ */
+ int FUNCTION_ALLOCATION = 18;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_ALLOCATION__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_ALLOCATION__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_ALLOCATION__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Target</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_ALLOCATION__TARGET = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Allocated Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_ALLOCATION__ALLOCATED_ELEMENT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Dependency</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_ALLOCATION__BASE_DEPENDENCY = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Allocated Element path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_ALLOCATION__ALLOCATED_ELEMENT_PATH = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Target path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_ALLOCATION__TARGET_PATH = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Function Allocation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_ALLOCATION_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.AllocationImpl <em>Allocation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.AllocationImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getAllocation()
+ * @generated
+ */
+ int ALLOCATION = 19;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALLOCATION__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALLOCATION__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALLOCATION__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALLOCATION__BASE_CLASS = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALLOCATION__BASE_PACKAGE = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Function Allocation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALLOCATION__FUNCTION_ALLOCATION = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Allocation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALLOCATION_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionPowerPortImpl <em>Function Power Port</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionPowerPortImpl
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getFunctionPowerPort()
+ * @generated
+ */
+ int FUNCTION_POWER_PORT = 20;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_POWER_PORT__NAME = FUNCTION_PORT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_POWER_PORT__BASE_NAMED_ELEMENT = FUNCTION_PORT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_POWER_PORT__OWNED_COMMENT = FUNCTION_PORT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_POWER_PORT__BASE_PORT = FUNCTION_PORT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_POWER_PORT__TYPE = FUNCTION_PORT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Function Power Port</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_POWER_PORT_FEATURE_COUNT = FUNCTION_PORT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.EADirectionKind <em>EA Direction Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.EADirectionKind
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getEADirectionKind()
+ * @generated
+ */
+ int EA_DIRECTION_KIND = 22;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.ClientServerKind <em>Client Server Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.ClientServerKind
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl#getClientServerKind()
+ * @generated
+ */
+ int CLIENT_SERVER_KIND = 21;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.AllocateableElement <em>Allocateable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Allocateable Element</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.AllocateableElement
+ * @generated
+ */
+ EClass getAllocateableElement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.Allocation <em>Allocation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Allocation</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.Allocation
+ * @generated
+ */
+ EClass getAllocation();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.Allocation#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.eclipse.papyrus.eastadl.structure.functionmodeling.Allocation#getBase_Class()
+ * @see #getAllocation()
+ * @generated
+ */
+ EReference getAllocation_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.Allocation#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.eclipse.papyrus.eastadl.structure.functionmodeling.Allocation#getBase_Package()
+ * @see #getAllocation()
+ * @generated
+ */
+ EReference getAllocation_Base_Package();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.Allocation#getFunctionAllocation <em>Function Allocation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Function Allocation</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.Allocation#getFunctionAllocation()
+ * @see #getAllocation()
+ * @generated
+ */
+ EReference getAllocation_FunctionAllocation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.AnalysisFunctionPrototype <em>Analysis Function Prototype</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Analysis Function Prototype</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.AnalysisFunctionPrototype
+ * @generated
+ */
+ EClass getAnalysisFunctionPrototype();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.AnalysisFunctionPrototype#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.AnalysisFunctionPrototype#getType()
+ * @see #getAnalysisFunctionPrototype()
+ * @generated
+ */
+ EReference getAnalysisFunctionPrototype_Type();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.AnalysisFunctionType <em>Analysis Function Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Analysis Function Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.AnalysisFunctionType
+ * @generated
+ */
+ EClass getAnalysisFunctionType();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.AnalysisFunctionType#getPart <em>Part</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Part</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.AnalysisFunctionType#getPart()
+ * @see #getAnalysisFunctionType()
+ * @generated
+ */
+ EReference getAnalysisFunctionType_Part();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.BasicSoftwareFunctionType <em>Basic Software Function Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Basic Software Function Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.BasicSoftwareFunctionType
+ * @generated
+ */
+ EClass getBasicSoftwareFunctionType();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.ClientServerKind <em>Client Server Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Client Server Kind</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.ClientServerKind
+ * @generated
+ */
+ EEnum getClientServerKind();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.EADirectionKind <em>EA Direction Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>EA Direction Kind</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.EADirectionKind
+ * @generated
+ */
+ EEnum getEADirectionKind();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionPrototype <em>Design Function Prototype</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Design Function Prototype</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionPrototype
+ * @generated
+ */
+ EClass getDesignFunctionPrototype();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionPrototype#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionPrototype#getType()
+ * @see #getDesignFunctionPrototype()
+ * @generated
+ */
+ EReference getDesignFunctionPrototype_Type();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionType <em>Design Function Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Design Function Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionType
+ * @generated
+ */
+ EClass getDesignFunctionType();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionType#getPart <em>Part</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Part</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionType#getPart()
+ * @see #getDesignFunctionType()
+ * @generated
+ */
+ EReference getDesignFunctionType_Part();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionalDevice <em>Functional Device</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Functional Device</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionalDevice
+ * @generated
+ */
+ EClass getFunctionalDevice();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionAllocation <em>Function Allocation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Function Allocation</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionAllocation
+ * @generated
+ */
+ EClass getFunctionAllocation();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionAllocation#getAllocatedElement <em>Allocated Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Allocated Element</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionAllocation#getAllocatedElement()
+ * @see #getFunctionAllocation()
+ * @generated
+ */
+ EReference getFunctionAllocation_AllocatedElement();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionAllocation#getBase_Dependency <em>Base Dependency</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Dependency</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionAllocation#getBase_Dependency()
+ * @see #getFunctionAllocation()
+ * @generated
+ */
+ EReference getFunctionAllocation_Base_Dependency();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionAllocation#getAllocatedElement_path <em>Allocated Element path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Allocated Element path</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionAllocation#getAllocatedElement_path()
+ * @see #getFunctionAllocation()
+ * @generated
+ */
+ EReference getFunctionAllocation_AllocatedElement_path();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionAllocation#getTarget_path <em>Target path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Target path</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionAllocation#getTarget_path()
+ * @see #getFunctionAllocation()
+ * @generated
+ */
+ EReference getFunctionAllocation_Target_path();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionAllocation#getTarget <em>Target</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Target</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionAllocation#getTarget()
+ * @see #getFunctionAllocation()
+ * @generated
+ */
+ EReference getFunctionAllocation_Target();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerInterface <em>Function Client Server Interface</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Function Client Server Interface</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerInterface
+ * @generated
+ */
+ EClass getFunctionClientServerInterface();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerInterface#getBase_Interface <em>Base Interface</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Interface</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerInterface#getBase_Interface()
+ * @see #getFunctionClientServerInterface()
+ * @generated
+ */
+ EReference getFunctionClientServerInterface_Base_Interface();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerInterface#getOperation <em>Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Operation</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerInterface#getOperation()
+ * @see #getFunctionClientServerInterface()
+ * @generated
+ */
+ EReference getFunctionClientServerInterface_Operation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerPort <em>Function Client Server Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Function Client Server Port</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerPort
+ * @generated
+ */
+ EClass getFunctionClientServerPort();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerPort#getClientServerType <em>Client Server Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Client Server Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerPort#getClientServerType()
+ * @see #getFunctionClientServerPort()
+ * @generated
+ */
+ EAttribute getFunctionClientServerPort_ClientServerType();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerPort#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerPort#getType()
+ * @see #getFunctionClientServerPort()
+ * @generated
+ */
+ EReference getFunctionClientServerPort_Type();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerPort#getBase_Port <em>Base Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Port</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerPort#getBase_Port()
+ * @see #getFunctionClientServerPort()
+ * @generated
+ */
+ EReference getFunctionClientServerPort_Base_Port();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionConnector <em>Function Connector</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Function Connector</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionConnector
+ * @generated
+ */
+ EClass getFunctionConnector();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionConnector#getPort <em>Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Port</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionConnector#getPort()
+ * @see #getFunctionConnector()
+ * @generated
+ */
+ EReference getFunctionConnector_Port();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionConnector#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.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionConnector#getBase_Connector()
+ * @see #getFunctionConnector()
+ * @generated
+ */
+ EReference getFunctionConnector_Base_Connector();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionConnector#getPort1_path <em>Port1 path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Port1 path</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionConnector#getPort1_path()
+ * @see #getFunctionConnector()
+ * @generated
+ */
+ EReference getFunctionConnector_Port1_path();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionConnector#getPort2_path <em>Port2 path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Port2 path</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionConnector#getPort2_path()
+ * @see #getFunctionConnector()
+ * @generated
+ */
+ EReference getFunctionConnector_Port2_path();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionFlowPort <em>Function Flow Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Function Flow Port</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionFlowPort
+ * @generated
+ */
+ EClass getFunctionFlowPort();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionFlowPort#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionFlowPort#getType()
+ * @see #getFunctionFlowPort()
+ * @generated
+ */
+ EReference getFunctionFlowPort_Type();
+
+ /**
+ * 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
+ */
+ FunctionmodelingFactory getFunctionmodelingFactory();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPort <em>Function Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Function Port</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPort
+ * @generated
+ */
+ EClass getFunctionPort();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPowerPort <em>Function Power Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Function Power Port</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPowerPort
+ * @generated
+ */
+ EClass getFunctionPowerPort();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPowerPort#getBase_Port <em>Base Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Port</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPowerPort#getBase_Port()
+ * @see #getFunctionPowerPort()
+ * @generated
+ */
+ EReference getFunctionPowerPort_Base_Port();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPowerPort#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPowerPort#getType()
+ * @see #getFunctionPowerPort()
+ * @generated
+ */
+ EReference getFunctionPowerPort_Type();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype <em>Function Prototype</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Function Prototype</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype
+ * @generated
+ */
+ EClass getFunctionPrototype();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype#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.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype#getBase_Property()
+ * @see #getFunctionPrototype()
+ * @generated
+ */
+ EReference getFunctionPrototype_Base_Property();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType <em>Function Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Function Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType
+ * @generated
+ */
+ EClass getFunctionType();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType#getConnector <em>Connector</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Connector</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType#getConnector()
+ * @see #getFunctionType()
+ * @generated
+ */
+ EReference getFunctionType_Connector();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType#isIsElementary <em>Is Elementary</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Elementary</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType#isIsElementary()
+ * @see #getFunctionType()
+ * @generated
+ */
+ EAttribute getFunctionType_IsElementary();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType#getPort <em>Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Port</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType#getPort()
+ * @see #getFunctionType()
+ * @generated
+ */
+ EReference getFunctionType_Port();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType#getPortGroup <em>Port Group</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Port Group</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType#getPortGroup()
+ * @see #getFunctionType()
+ * @generated
+ */
+ EReference getFunctionType_PortGroup();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.HardwareFunctionType <em>Hardware Function Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hardware Function Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.HardwareFunctionType
+ * @generated
+ */
+ EClass getHardwareFunctionType();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.HardwareFunctionType#getHardwareComponent <em>Hardware Component</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Hardware Component</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.HardwareFunctionType#getHardwareComponent()
+ * @see #getHardwareFunctionType()
+ * @generated
+ */
+ EReference getHardwareFunctionType_HardwareComponent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.LocalDeviceManager <em>Local Device Manager</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Local Device Manager</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.LocalDeviceManager
+ * @generated
+ */
+ EClass getLocalDeviceManager();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.Operation <em>Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Operation</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.Operation
+ * @generated
+ */
+ EClass getOperation();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.Operation#getBase_Operation <em>Base Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Operation</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.Operation#getBase_Operation()
+ * @see #getOperation()
+ * @generated
+ */
+ EReference getOperation_Base_Operation();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.Operation#getArgument <em>Argument</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Argument</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.Operation#getArgument()
+ * @see #getOperation()
+ * @generated
+ */
+ EReference getOperation_Argument();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.Operation#getReturn <em>Return</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Return</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.Operation#getReturn()
+ * @see #getOperation()
+ * @generated
+ */
+ EReference getOperation_Return();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.PortGroup <em>Port Group</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Port Group</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.PortGroup
+ * @generated
+ */
+ EClass getPortGroup();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.PortGroup#getPort <em>Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Port</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.PortGroup#getPort()
+ * @see #getPortGroup()
+ * @generated
+ */
+ EReference getPortGroup_Port();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.PortGroup#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.eclipse.papyrus.eastadl.structure.functionmodeling.PortGroup#getBase_Class()
+ * @see #getPortGroup()
+ * @generated
+ */
+ EReference getPortGroup_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.PortGroup#getBase_Port <em>Base Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Port</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.PortGroup#getBase_Port()
+ * @see #getPortGroup()
+ * @generated
+ */
+ EReference getPortGroup_Base_Port();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.PortGroup#getPortGroup <em>Port Group</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Port Group</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.PortGroup#getPortGroup()
+ * @see #getPortGroup()
+ * @generated
+ */
+ EReference getPortGroup_PortGroup();
+
+} // FunctionmodelingPackage
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/HardwareFunctionType.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/HardwareFunctionType.java
new file mode 100644
index 00000000000..15dc0a16f51
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/HardwareFunctionType.java
@@ -0,0 +1,83 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling;
+
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hardware Function Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The HardwareFunctionType is the transfer function for the identified HardwareComponentType or a specification of an intended transfer function. HardwareFunctionType types DesignFunctionPrototypes in the FunctionalDesignArchitecture. The DesignFunctionPrototype is typically the end of the ClampConnector on DesignLevel.
+ *
+ * Prototypes typed by HardwareComponentType may be allocated to HardwareComponents in which case the HardwareFunctionType must match the HardwareFunctionType of the target HardwareComponent.
+ *
+ * DesignFunctionPrototypes typed by HardwareFunctionType may be allocated to HardwareComponents in which case the HardwareFunctionType must match the HardwareFunctionType of the target HardwareComponent.
+ *
+ * Constraints:
+ * [1] A DesignFunctionPrototype typed by a HardwareFunctionType shall be connected to the EnvironmentModel via ClampConnectors and to BSWFunctions via FunctionConnectors.
+ *
+ * Semantics:
+ * The HardwareFunctionHardwareFunctionType is the transfer function for hardware components such as sensors, actuators, amplifiers, etc or a specification of an intended transfer function.
+ *
+ * HardwareFunctions can be allocated to Sensors or Actuators, i.e. the interfacing element to the plant model.
+ *
+ *
+ * Extension:
+ * UML Class, specialization of SysML::Block
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.HardwareFunctionType#getHardwareComponent <em>Hardware Component</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getHardwareFunctionType()
+ * @model
+ * @generated
+ */
+public interface HardwareFunctionType extends DesignFunctionType {
+ /**
+ * Returns the value of the '<em><b>Hardware Component</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Hardware 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>Hardware Component</em>' reference.
+ * @see #setHardwareComponent(HardwareComponentType)
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getHardwareFunctionType_HardwareComponent()
+ * @model ordered="false"
+ * @generated
+ */
+ HardwareComponentType getHardwareComponent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.HardwareFunctionType#getHardwareComponent <em>Hardware Component</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Hardware Component</em>' reference.
+ * @see #getHardwareComponent()
+ * @generated
+ */
+ void setHardwareComponent(HardwareComponentType value);
+
+} // HardwareFunctionType
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/LocalDeviceManager.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/LocalDeviceManager.java
new file mode 100644
index 00000000000..df4f22eb81f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/LocalDeviceManager.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Local Device Manager</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The LocalDeviceManager represents a DesignFunction that act as a manager or functional interface to Sensors, Actuators and other devices. It is responsible fort translating between the electrical/logical interface of the device, as provided by a BasicSoftwareFunction, and the physical interface of the device. For example, consider a temperature sensor with voltage output. The HardwareFunctionType defines the transfer from temperature to voltage. A BasicSoftwareFunction relays the voltage from the microcontroller’s I/O. The role of the LocalDeviceManager is now to translate from voltage to temperature value, taking into account the sensor’s characteristics such as nonlinearities, calibration, etc. The resulting temperature is available to the other DesignFunctions. By separating the device specific part from the middleware and ECU specific parts, it is possible to systematically change interface function together with the device.
+ *
+ *
+ * Semantics:
+ * The LocalDeviceManager encapsulates the device-specific or functional parts of a Sensor or, Actuator, device, etc. interface.
+ *
+ *
+ * Constraints:
+ * [1] A DesignFunctionPrototype typed by a LocalDeviceManager shall be allocated to the same ECU node as the device that it manages is connected to.
+ *
+ * [2] A LocalDeviceManager may only interface either Sensors or Actuators.
+ *
+ * [3] A LocalDeviceManager shall interface BSWFunctions and DesignFunctions.
+ *
+ *
+ * Extension: Class, specialization of SysML::Block
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getLocalDeviceManager()
+ * @model
+ * @generated
+ */
+public interface LocalDeviceManager extends DesignFunctionType {
+} // LocalDeviceManager
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/Operation.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/Operation.java
new file mode 100644
index 00000000000..1e741772c08
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/Operation.java
@@ -0,0 +1,108 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatypePrototype;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Operation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The Operation is the provided/required operation of a FunctionClientServerInterface. It can specify its return values and arguments by EADatatypePrototypes.
+ *
+ * Semantics:
+ * The Operation is the provided/required operation of a FunctionClientServerInterface.
+ *
+ * Extension: UML Operation
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.Operation#getBase_Operation <em>Base Operation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.Operation#getArgument <em>Argument</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.Operation#getReturn <em>Return</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getOperation()
+ * @model
+ * @generated
+ */
+public interface Operation extends EAElement {
+ /**
+ * Returns the value of the '<em><b>Base Operation</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Operation</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 Operation</em>' reference.
+ * @see #setBase_Operation(org.eclipse.uml2.uml.Operation)
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getOperation_Base_Operation()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Operation getBase_Operation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.Operation#getBase_Operation <em>Base Operation</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Operation</em>' reference.
+ * @see #getBase_Operation()
+ * @generated
+ */
+ void setBase_Operation(org.eclipse.uml2.uml.Operation value);
+
+ /**
+ * Returns the value of the '<em><b>Argument</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatypePrototype}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Argument</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>Argument</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getOperation_Argument()
+ * @model transient="true" changeable="false" volatile="true" derived="true"
+ * @generated
+ */
+ EList<EADatatypePrototype> getArgument();
+
+ /**
+ * Returns the value of the '<em><b>Return</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Return</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Return</em>' reference.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getOperation_Return()
+ * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EADatatypePrototype getReturn();
+
+} // Operation
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/PortGroup.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/PortGroup.java
new file mode 100644
index 00000000000..20726ad7553
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/PortGroup.java
@@ -0,0 +1,136 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.uml2.uml.Port;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Port Group</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The ADLPortGroup metaclass is used to collapse several ports to one. All ports that are part of a port group are graphically represented as a single port. Connectors connected to ports of a port group pair are graphically collapsed to a single line.
+ * The ADLPortGroup has no semantic meaning except that it makes graphical representation of the connected ports easier to read, and provides a means to logically organize several ports to one group.
+ * Connectors are still connected to the contained ports, but tool support may simplify connections by allowing semi-automatic or automatic connection to all ports of a port group.
+ *
+ * Semantics:
+ * The ADLPortGroup provides a means to organize ports and connectors. It does not add semantics. In the model, the ports contained in the port group are connected as individual ports.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.PortGroup#getPort <em>Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.PortGroup#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.PortGroup#getBase_Port <em>Base Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.PortGroup#getPortGroup <em>Port Group</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getPortGroup()
+ * @model
+ * @generated
+ */
+public interface PortGroup extends EAElement {
+ /**
+ * Returns the value of the '<em><b>Port</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPort}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The grouped ports.
+ * {derived from UML::EncapsulatedClassifier::ownedPort} when this stereotype is applied on a Class. When the stereotype is applied on a Port the value is derived from the ports in the type.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Port</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getPortGroup_Port()
+ * @model required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<FunctionPort> getPort();
+
+ /**
+ * 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.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getPortGroup_Base_Class()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.PortGroup#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>Base Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base 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>Base Port</em>' reference.
+ * @see #setBase_Port(Port)
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getPortGroup_Base_Port()
+ * @model ordered="false"
+ * @generated
+ */
+ Port getBase_Port();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.PortGroup#getBase_Port <em>Base Port</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Port</em>' reference.
+ * @see #getBase_Port()
+ * @generated
+ */
+ void setBase_Port(Port value);
+
+ /**
+ * Returns the value of the '<em><b>Port Group</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.PortGroup}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Port Group</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Port Group</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#getPortGroup_PortGroup()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<PortGroup> getPortGroup();
+
+} // PortGroup
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/AllocateableElementImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/AllocateableElementImpl.java
new file mode 100644
index 00000000000..26de1d8f3af
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/AllocateableElementImpl.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.AllocateableElement;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Allocateable Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class AllocateableElementImpl extends EObjectImpl implements AllocateableElement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AllocateableElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FunctionmodelingPackage.Literals.ALLOCATEABLE_ELEMENT;
+ }
+
+} //AllocateableElementImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/AllocationImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/AllocationImpl.java
new file mode 100644
index 00000000000..393584f61d6
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/AllocationImpl.java
@@ -0,0 +1,267 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling.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.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.Allocation;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionAllocation;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Allocation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.AllocationImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.AllocationImpl#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.AllocationImpl#getFunctionAllocation <em>Function Allocation</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AllocationImpl extends EAElementImpl implements Allocation {
+ /**
+ * 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 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 #getFunctionAllocation() <em>Function Allocation</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFunctionAllocation()
+ * @generated
+ * @ordered
+ */
+ protected EList<FunctionAllocation> functionAllocation;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AllocationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FunctionmodelingPackage.ALLOCATION__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case FunctionmodelingPackage.ALLOCATION__BASE_PACKAGE:
+ if (resolve) return getBase_Package();
+ return basicGetBase_Package();
+ case FunctionmodelingPackage.ALLOCATION__FUNCTION_ALLOCATION:
+ return getFunctionAllocation();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FunctionmodelingPackage.ALLOCATION__BASE_CLASS:
+ return base_Class != null;
+ case FunctionmodelingPackage.ALLOCATION__BASE_PACKAGE:
+ return base_Package != null;
+ case FunctionmodelingPackage.ALLOCATION__FUNCTION_ALLOCATION:
+ return functionAllocation != null && !functionAllocation.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case FunctionmodelingPackage.ALLOCATION__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case FunctionmodelingPackage.ALLOCATION__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+ return;
+ case FunctionmodelingPackage.ALLOCATION__FUNCTION_ALLOCATION:
+ getFunctionAllocation().clear();
+ getFunctionAllocation().addAll((Collection<? extends FunctionAllocation>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FunctionmodelingPackage.Literals.ALLOCATION;
+ }
+
+ /**
+ * <!-- 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, FunctionmodelingPackage.ALLOCATION__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, FunctionmodelingPackage.ALLOCATION__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- 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, FunctionmodelingPackage.ALLOCATION__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, FunctionmodelingPackage.ALLOCATION__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FunctionmodelingPackage.ALLOCATION__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case FunctionmodelingPackage.ALLOCATION__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)null);
+ return;
+ case FunctionmodelingPackage.ALLOCATION__FUNCTION_ALLOCATION:
+ getFunctionAllocation().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FunctionAllocation> getFunctionAllocation() {
+ if (functionAllocation == null) {
+ functionAllocation = new EObjectResolvingEList<FunctionAllocation>(FunctionAllocation.class, this, FunctionmodelingPackage.ALLOCATION__FUNCTION_ALLOCATION);
+ }
+ return functionAllocation;
+ }
+
+} //AllocationImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/AnalysisFunctionPrototypeImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/AnalysisFunctionPrototypeImpl.java
new file mode 100644
index 00000000000..143d17e4c4b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/AnalysisFunctionPrototypeImpl.java
@@ -0,0 +1,151 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.AnalysisFunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.AnalysisFunctionType;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.utils.EASTResource;
+import org.eclipse.papyrus.uml.tools.utils.ElementUtil;
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Analysis Function Prototype</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.AnalysisFunctionPrototypeImpl#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AnalysisFunctionPrototypeImpl extends FunctionPrototypeImpl implements AnalysisFunctionPrototype {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected AnalysisFunctionPrototypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public AnalysisFunctionType basicGetType() {
+
+ AnalysisFunctionType type = null;
+
+ if(getBase_Property() != null) {
+ // Retrieve the type of the ADLFunctionPrototype
+ Type basicType = getBase_Property().getType();
+
+
+ if(basicType != null) {
+ type = (AnalysisFunctionType)UMLUtil.getStereotypeApplication(basicType, AnalysisFunctionType.class);
+ }
+ }
+
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FunctionmodelingPackage.ANALYSIS_FUNCTION_PROTOTYPE__TYPE:
+ if (resolve) return getType();
+ return basicGetType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FunctionmodelingPackage.ANALYSIS_FUNCTION_PROTOTYPE__TYPE:
+ return basicGetType() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FunctionmodelingPackage.Literals.ANALYSIS_FUNCTION_PROTOTYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public Image getIcon() {
+
+ Image ImageNotFound = null;
+
+ if(getBase_Property() != null) {
+ Stereotype st = getBase_Property().getAppliedStereotype(EASTResource.ANALYSISFUNCTIONPROTOTYPE_ID);
+
+ Image defaultImage = st.getIcons().get(0);
+ Image typeImage = null;
+
+ FunctionType type = getType();
+ if((type != null) && (type.getBase_Class() != null)) {
+ typeImage = ElementUtil.getStereotypeImage(type.getBase_Class(), "icon");
+ }
+
+ if(typeImage != null) {
+ return typeImage;
+ } else {
+ return defaultImage;
+ }
+
+ } else {
+ return ImageNotFound;
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public AnalysisFunctionType getType() {
+ AnalysisFunctionType type = basicGetType();
+ return type != null && type.eIsProxy() ? (AnalysisFunctionType)eResolveProxy((InternalEObject)type) : type;
+ }
+
+} // AnalysisFunctionPrototypeImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/AnalysisFunctionTypeImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/AnalysisFunctionTypeImpl.java
new file mode 100644
index 00000000000..c1399adf819
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/AnalysisFunctionTypeImpl.java
@@ -0,0 +1,148 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling.impl;
+
+import java.util.Iterator;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.util.BasicInternalEList;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.AnalysisFunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.AnalysisFunctionType;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.utils.EASTResource;
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Analysis Function Type</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.AnalysisFunctionTypeImpl#getPart <em>Part</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AnalysisFunctionTypeImpl extends FunctionTypeImpl implements AnalysisFunctionType {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected AnalysisFunctionTypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FunctionmodelingPackage.ANALYSIS_FUNCTION_TYPE__PART:
+ return getPart();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FunctionmodelingPackage.ANALYSIS_FUNCTION_TYPE__PART:
+ return !getPart().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FunctionmodelingPackage.Literals.ANALYSIS_FUNCTION_TYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public Image getIcon() {
+
+ if(getBase_Class() != null) {
+ Stereotype st = getBase_Class().getAppliedStereotype(EASTResource.ANALYSISFUNCTIONTYPE_ID);
+ EList<Image> images = st.getIcons();
+
+ if(isIsElementary()) {
+ return images.get(1);
+ } else {
+ return images.get(0);
+ }
+ } else {
+ return null;
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<AnalysisFunctionPrototype> getPart() {
+ EList<AnalysisFunctionPrototype> parts = new BasicEList<AnalysisFunctionPrototype>();
+ AnalysisFunctionPrototype currentFunctionPrototype;
+
+ if(getBase_Class() != null) {
+ // Parse owned Properties
+ Iterator<Property> itDep = getBase_Class().getAttributes().iterator();
+ while(itDep.hasNext()) {
+ Property currentProperty = itDep.next();
+
+ currentFunctionPrototype = (AnalysisFunctionPrototype)UMLUtil.getStereotypeApplication(currentProperty,
+ AnalysisFunctionPrototype.class);
+
+ if(currentFunctionPrototype != null) {
+ parts.add(currentFunctionPrototype);
+ }
+ }
+ }
+
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<AnalysisFunctionPrototype>(AnalysisFunctionPrototype.class, parts.size(), parts
+ .toArray());
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public boolean isIsElementary() {
+ return ((getPart().size() == 0) && (getConnector().size() == 0));
+ }
+} // AnalysisFunctionTypeImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/BasicSoftwareFunctionTypeImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/BasicSoftwareFunctionTypeImpl.java
new file mode 100644
index 00000000000..f6463e7f8e4
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/BasicSoftwareFunctionTypeImpl.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.BasicSoftwareFunctionType;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Basic Software Function Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class BasicSoftwareFunctionTypeImpl extends DesignFunctionTypeImpl implements BasicSoftwareFunctionType {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BasicSoftwareFunctionTypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FunctionmodelingPackage.Literals.BASIC_SOFTWARE_FUNCTION_TYPE;
+ }
+
+} //BasicSoftwareFunctionTypeImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/DesignFunctionPrototypeImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/DesignFunctionPrototypeImpl.java
new file mode 100644
index 00000000000..07637b92b0c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/DesignFunctionPrototypeImpl.java
@@ -0,0 +1,150 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionType;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.utils.EASTResource;
+import org.eclipse.papyrus.uml.tools.utils.ElementUtil;
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Design Function Prototype</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.DesignFunctionPrototypeImpl#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DesignFunctionPrototypeImpl extends FunctionPrototypeImpl implements DesignFunctionPrototype {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected DesignFunctionPrototypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public DesignFunctionType basicGetType() {
+
+ DesignFunctionType type = null;
+
+ if(getBase_Property() != null) {
+ // Retrieve the type of the DesignFunctionPrototype
+ Type basicType = getBase_Property().getType();
+
+ if(basicType != null) {
+ type = (DesignFunctionType)UMLUtil.getStereotypeApplication(basicType, DesignFunctionType.class);
+ }
+ }
+
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FunctionmodelingPackage.DESIGN_FUNCTION_PROTOTYPE__TYPE:
+ if (resolve) return getType();
+ return basicGetType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FunctionmodelingPackage.DESIGN_FUNCTION_PROTOTYPE__TYPE:
+ return basicGetType() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FunctionmodelingPackage.Literals.DESIGN_FUNCTION_PROTOTYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public Image getIcon() {
+
+ Image ImageNotFound = null;
+
+ if(getBase_Property() != null) {
+ Stereotype st = getBase_Property().getAppliedStereotype(EASTResource.DESIGNFUNCTIONPROTOTYPE_ID);
+
+ Image defaultImage = st.getIcons().get(0);
+ Image typeImage = null;
+
+ FunctionType type = getType();
+ if((type != null) && (type.getBase_Class() != null)) {
+ typeImage = ElementUtil.getStereotypeImage(type.getBase_Class(), "icon");
+ }
+
+ if(typeImage != null) {
+ return typeImage;
+ } else {
+ return defaultImage;
+ }
+
+ } else {
+ return ImageNotFound;
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public DesignFunctionType getType() {
+ DesignFunctionType type = basicGetType();
+ return type != null && type.eIsProxy() ? (DesignFunctionType)eResolveProxy((InternalEObject)type) : type;
+ }
+
+} // DesignFunctionPrototypeImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/DesignFunctionTypeImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/DesignFunctionTypeImpl.java
new file mode 100644
index 00000000000..3c8866367f4
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/DesignFunctionTypeImpl.java
@@ -0,0 +1,148 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling.impl;
+
+import java.util.Iterator;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.util.BasicInternalEList;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionType;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.utils.EASTResource;
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Design Function Type</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.DesignFunctionTypeImpl#getPart <em>Part</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DesignFunctionTypeImpl extends FunctionTypeImpl implements DesignFunctionType {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected DesignFunctionTypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FunctionmodelingPackage.DESIGN_FUNCTION_TYPE__PART:
+ return getPart();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FunctionmodelingPackage.DESIGN_FUNCTION_TYPE__PART:
+ return !getPart().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FunctionmodelingPackage.Literals.DESIGN_FUNCTION_TYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public Image getIcon() {
+
+ if(getBase_Class() != null) {
+ Stereotype st = getBase_Class().getAppliedStereotype(EASTResource.DESIGNFUNCTIONTYPE_ID);
+ EList<Image> images = st.getIcons();
+
+ if(isIsElementary()) {
+ return images.get(1);
+ } else {
+ return images.get(0);
+ }
+ } else {
+ return null;
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<DesignFunctionPrototype> getPart() {
+ EList<DesignFunctionPrototype> parts = new BasicEList<DesignFunctionPrototype>();
+ DesignFunctionPrototype currentFunctionPrototype;
+
+ if(getBase_Class() != null) {
+ // Parse owned Properties
+ Iterator<Property> itDep = getBase_Class().getAttributes().iterator();
+ while(itDep.hasNext()) {
+ Property currentProperty = itDep.next();
+
+ currentFunctionPrototype = (DesignFunctionPrototype)UMLUtil.getStereotypeApplication(currentProperty,
+ DesignFunctionPrototype.class);
+
+ if(currentFunctionPrototype != null) {
+ parts.add(currentFunctionPrototype);
+ }
+ }
+ }
+
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<DesignFunctionPrototype>(DesignFunctionPrototype.class, parts.size(), parts
+ .toArray());
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public boolean isIsElementary() {
+ return ((getPart().size() == 0) && (getConnector().size() == 0));
+ }
+} // DesignFunctionTypeImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionAllocationImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionAllocationImpl.java
new file mode 100644
index 00000000000..0641b8a54f8
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionAllocationImpl.java
@@ -0,0 +1,302 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling.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.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.AllocateableElement;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionAllocation;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.AllocationTarget;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Function Allocation</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionAllocationImpl#getTarget <em>Target</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionAllocationImpl#getAllocatedElement <em>Allocated Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionAllocationImpl#getBase_Dependency <em>Base Dependency</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionAllocationImpl#getAllocatedElement_path <em>Allocated Element path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionAllocationImpl#getTarget_path <em>Target path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FunctionAllocationImpl extends EAElementImpl implements FunctionAllocation {
+
+ /**
+ * The cached value of the '{@link #getBase_Dependency() <em>Base Dependency</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Dependency()
+ * @generated
+ * @ordered
+ */
+ protected Dependency base_Dependency;
+
+ /**
+ * The cached value of the '{@link #getAllocatedElement_path() <em>Allocated Element path</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAllocatedElement_path()
+ * @generated
+ * @ordered
+ */
+ protected EList<AllocateableElement> allocatedElement_path;
+
+ /**
+ * The cached value of the '{@link #getTarget_path() <em>Target path</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTarget_path()
+ * @generated
+ * @ordered
+ */
+ protected EList<AllocationTarget> target_path;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected FunctionAllocationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public AllocateableElement basicGetAllocatedElement() {
+ AllocateableElement result = null;
+
+ if(getBase_Dependency() != null) {
+ Element elt = getBase_Dependency().getSources().get(0);
+
+ if(elt != null)
+ result = (AllocateableElement)UMLUtil.getStereotypeApplication(elt, AllocateableElement.class);
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency getBase_Dependency() {
+ if (base_Dependency != null && base_Dependency.eIsProxy()) {
+ InternalEObject oldBase_Dependency = (InternalEObject)base_Dependency;
+ base_Dependency = (Dependency)eResolveProxy(oldBase_Dependency);
+ if (base_Dependency != oldBase_Dependency) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, FunctionmodelingPackage.FUNCTION_ALLOCATION__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+ }
+ }
+ return base_Dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency basicGetBase_Dependency() {
+ return base_Dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Dependency(Dependency newBase_Dependency) {
+ Dependency oldBase_Dependency = base_Dependency;
+ base_Dependency = newBase_Dependency;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FunctionmodelingPackage.FUNCTION_ALLOCATION__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<AllocateableElement> getAllocatedElement_path() {
+ if (allocatedElement_path == null) {
+ allocatedElement_path = new EObjectResolvingEList<AllocateableElement>(AllocateableElement.class, this, FunctionmodelingPackage.FUNCTION_ALLOCATION__ALLOCATED_ELEMENT_PATH);
+ }
+ return allocatedElement_path;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<AllocationTarget> getTarget_path() {
+ if (target_path == null) {
+ target_path = new EObjectResolvingEList<AllocationTarget>(AllocationTarget.class, this, FunctionmodelingPackage.FUNCTION_ALLOCATION__TARGET_PATH);
+ }
+ return target_path;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public AllocationTarget basicGetTarget() {
+ AllocationTarget result = null;
+
+ if(getBase_Dependency() != null) {
+ Element elt = getBase_Dependency().getTargets().get(0);
+
+ if(elt != null)
+ result = (AllocationTarget)UMLUtil.getStereotypeApplication(elt, AllocationTarget.class);
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_ALLOCATION__TARGET:
+ if (resolve) return getTarget();
+ return basicGetTarget();
+ case FunctionmodelingPackage.FUNCTION_ALLOCATION__ALLOCATED_ELEMENT:
+ if (resolve) return getAllocatedElement();
+ return basicGetAllocatedElement();
+ case FunctionmodelingPackage.FUNCTION_ALLOCATION__BASE_DEPENDENCY:
+ if (resolve) return getBase_Dependency();
+ return basicGetBase_Dependency();
+ case FunctionmodelingPackage.FUNCTION_ALLOCATION__ALLOCATED_ELEMENT_PATH:
+ return getAllocatedElement_path();
+ case FunctionmodelingPackage.FUNCTION_ALLOCATION__TARGET_PATH:
+ return getTarget_path();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_ALLOCATION__TARGET:
+ return basicGetTarget() != null;
+ case FunctionmodelingPackage.FUNCTION_ALLOCATION__ALLOCATED_ELEMENT:
+ return basicGetAllocatedElement() != null;
+ case FunctionmodelingPackage.FUNCTION_ALLOCATION__BASE_DEPENDENCY:
+ return base_Dependency != null;
+ case FunctionmodelingPackage.FUNCTION_ALLOCATION__ALLOCATED_ELEMENT_PATH:
+ return allocatedElement_path != null && !allocatedElement_path.isEmpty();
+ case FunctionmodelingPackage.FUNCTION_ALLOCATION__TARGET_PATH:
+ return target_path != null && !target_path.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_ALLOCATION__BASE_DEPENDENCY:
+ setBase_Dependency((Dependency)newValue);
+ return;
+ case FunctionmodelingPackage.FUNCTION_ALLOCATION__ALLOCATED_ELEMENT_PATH:
+ getAllocatedElement_path().clear();
+ getAllocatedElement_path().addAll((Collection<? extends AllocateableElement>)newValue);
+ return;
+ case FunctionmodelingPackage.FUNCTION_ALLOCATION__TARGET_PATH:
+ getTarget_path().clear();
+ getTarget_path().addAll((Collection<? extends AllocationTarget>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FunctionmodelingPackage.Literals.FUNCTION_ALLOCATION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_ALLOCATION__BASE_DEPENDENCY:
+ setBase_Dependency((Dependency)null);
+ return;
+ case FunctionmodelingPackage.FUNCTION_ALLOCATION__ALLOCATED_ELEMENT_PATH:
+ getAllocatedElement_path().clear();
+ return;
+ case FunctionmodelingPackage.FUNCTION_ALLOCATION__TARGET_PATH:
+ getTarget_path().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public AllocateableElement getAllocatedElement() {
+ AllocateableElement allocatedElement = basicGetAllocatedElement();
+ return allocatedElement != null && allocatedElement.eIsProxy() ? (AllocateableElement)eResolveProxy((InternalEObject)allocatedElement) : allocatedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public AllocationTarget getTarget() {
+ AllocationTarget target = basicGetTarget();
+ return target != null && target.eIsProxy() ? (AllocationTarget)eResolveProxy((InternalEObject)target) : target;
+ }
+
+} // FunctionAllocationImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionClientServerInterfaceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionClientServerInterfaceImpl.java
new file mode 100644
index 00000000000..fcbd8609781
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionClientServerInterfaceImpl.java
@@ -0,0 +1,201 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling.impl;
+
+import java.util.Iterator;
+
+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.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.BasicInternalEList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerInterface;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.Operation;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Function Client Server Interface</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionClientServerInterfaceImpl#getBase_Interface <em>Base Interface</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionClientServerInterfaceImpl#getOperation <em>Operation</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FunctionClientServerInterfaceImpl extends EAElementImpl implements FunctionClientServerInterface {
+
+ /**
+ * The cached value of the '{@link #getBase_Interface() <em>Base Interface</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Interface()
+ * @generated
+ * @ordered
+ */
+ protected Interface base_Interface;
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected FunctionClientServerInterfaceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_CLIENT_SERVER_INTERFACE__BASE_INTERFACE:
+ if (resolve) return getBase_Interface();
+ return basicGetBase_Interface();
+ case FunctionmodelingPackage.FUNCTION_CLIENT_SERVER_INTERFACE__OPERATION:
+ return getOperation();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_CLIENT_SERVER_INTERFACE__BASE_INTERFACE:
+ return base_Interface != null;
+ case FunctionmodelingPackage.FUNCTION_CLIENT_SERVER_INTERFACE__OPERATION:
+ return !getOperation().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_CLIENT_SERVER_INTERFACE__BASE_INTERFACE:
+ setBase_Interface((Interface)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FunctionmodelingPackage.Literals.FUNCTION_CLIENT_SERVER_INTERFACE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interface getBase_Interface() {
+ if (base_Interface != null && base_Interface.eIsProxy()) {
+ InternalEObject oldBase_Interface = (InternalEObject)base_Interface;
+ base_Interface = (Interface)eResolveProxy(oldBase_Interface);
+ if (base_Interface != oldBase_Interface) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, FunctionmodelingPackage.FUNCTION_CLIENT_SERVER_INTERFACE__BASE_INTERFACE, oldBase_Interface, base_Interface));
+ }
+ }
+ return base_Interface;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interface basicGetBase_Interface() {
+ return base_Interface;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Interface(Interface newBase_Interface) {
+ Interface oldBase_Interface = base_Interface;
+ base_Interface = newBase_Interface;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FunctionmodelingPackage.FUNCTION_CLIENT_SERVER_INTERFACE__BASE_INTERFACE, oldBase_Interface, base_Interface));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_CLIENT_SERVER_INTERFACE__BASE_INTERFACE:
+ setBase_Interface((Interface)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<Operation> getOperation() {
+ EList<Operation> parts = new BasicEList<Operation>();
+ Operation currentOperation;
+
+ if(getBase_Interface() != null) {
+ // Parse owned Operation
+ Iterator<org.eclipse.uml2.uml.Operation> itDep = getBase_Interface().getAllOperations().iterator();
+ while(itDep.hasNext()) {
+ org.eclipse.uml2.uml.Operation currentOp = itDep.next();
+
+
+ currentOperation = (Operation)UMLUtil.getStereotypeApplication(currentOp,
+ Operation.class);
+
+ if(currentOperation != null) {
+ parts.add(currentOperation);
+ }
+ }
+ }
+
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<Operation>(Operation.class, parts.size(), parts.toArray());
+ }
+
+} // FunctionClientServerInterfaceImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionClientServerPortImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionClientServerPortImpl.java
new file mode 100644
index 00000000000..56dd22bb67f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionClientServerPortImpl.java
@@ -0,0 +1,269 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling.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.eastadl.structure.functionmodeling.ClientServerKind;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerInterface;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+//import org.eclipse.papyrus.uml.tools.utils.UMLUtil;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Function Client Server Port</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionClientServerPortImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionClientServerPortImpl#getBase_Port <em>Base Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionClientServerPortImpl#getClientServerType <em>Client Server Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FunctionClientServerPortImpl extends FunctionPortImpl implements FunctionClientServerPort {
+
+ /**
+ * The cached value of the '{@link #getBase_Port() <em>Base Port</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Port()
+ * @generated
+ * @ordered
+ */
+ protected Port base_Port;
+
+ /**
+ * The default value of the '{@link #getClientServerType() <em>Client Server Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClientServerType()
+ * @generated
+ * @ordered
+ */
+ protected static final ClientServerKind CLIENT_SERVER_TYPE_EDEFAULT = ClientServerKind.CLIENT;
+
+ /**
+ * The cached value of the '{@link #getClientServerType() <em>Client Server Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClientServerType()
+ * @generated
+ * @ordered
+ */
+ protected ClientServerKind clientServerType = CLIENT_SERVER_TYPE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected FunctionClientServerPortImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public FunctionClientServerInterface basicGetType() {
+ // Implementation for basicGetType() defined on ADLClientServerPortImpl
+ FunctionClientServerInterface adlInterface = null;
+
+ if(getBase_Port() != null) {
+ Type umlType = getBase_Port().getType();
+ if(umlType != null) {
+ adlInterface = (FunctionClientServerInterface)UMLUtil.getStereotypeApplication(umlType,FunctionClientServerInterface.class);
+ }
+
+
+ }
+
+ return adlInterface;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Port getBase_Port() {
+ if (base_Port != null && base_Port.eIsProxy()) {
+ InternalEObject oldBase_Port = (InternalEObject)base_Port;
+ base_Port = (Port)eResolveProxy(oldBase_Port);
+ if (base_Port != oldBase_Port) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, FunctionmodelingPackage.FUNCTION_CLIENT_SERVER_PORT__BASE_PORT, oldBase_Port, base_Port));
+ }
+ }
+ return base_Port;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Port basicGetBase_Port() {
+ return base_Port;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Port(Port newBase_Port) {
+ Port oldBase_Port = base_Port;
+ base_Port = newBase_Port;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FunctionmodelingPackage.FUNCTION_CLIENT_SERVER_PORT__BASE_PORT, oldBase_Port, base_Port));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_CLIENT_SERVER_PORT__TYPE:
+ if (resolve) return getType();
+ return basicGetType();
+ case FunctionmodelingPackage.FUNCTION_CLIENT_SERVER_PORT__BASE_PORT:
+ if (resolve) return getBase_Port();
+ return basicGetBase_Port();
+ case FunctionmodelingPackage.FUNCTION_CLIENT_SERVER_PORT__CLIENT_SERVER_TYPE:
+ return getClientServerType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_CLIENT_SERVER_PORT__TYPE:
+ return basicGetType() != null;
+ case FunctionmodelingPackage.FUNCTION_CLIENT_SERVER_PORT__BASE_PORT:
+ return base_Port != null;
+ case FunctionmodelingPackage.FUNCTION_CLIENT_SERVER_PORT__CLIENT_SERVER_TYPE:
+ return clientServerType != CLIENT_SERVER_TYPE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_CLIENT_SERVER_PORT__BASE_PORT:
+ setBase_Port((Port)newValue);
+ return;
+ case FunctionmodelingPackage.FUNCTION_CLIENT_SERVER_PORT__CLIENT_SERVER_TYPE:
+ setClientServerType((ClientServerKind)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FunctionmodelingPackage.Literals.FUNCTION_CLIENT_SERVER_PORT;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_CLIENT_SERVER_PORT__BASE_PORT:
+ setBase_Port((Port)null);
+ return;
+ case FunctionmodelingPackage.FUNCTION_CLIENT_SERVER_PORT__CLIENT_SERVER_TYPE:
+ setClientServerType(CLIENT_SERVER_TYPE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ClientServerKind getClientServerType() {
+ return clientServerType;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionClientServerInterface getType() {
+ FunctionClientServerInterface type = basicGetType();
+ return type != null && type.eIsProxy() ? (FunctionClientServerInterface)eResolveProxy((InternalEObject)type) : type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setClientServerType(ClientServerKind newClientServerType) {
+ ClientServerKind oldClientServerType = clientServerType;
+ clientServerType = newClientServerType == null ? CLIENT_SERVER_TYPE_EDEFAULT : newClientServerType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FunctionmodelingPackage.FUNCTION_CLIENT_SERVER_PORT__CLIENT_SERVER_TYPE, oldClientServerType, clientServerType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (clientServerType: ");
+ result.append(clientServerType);
+ result.append(')');
+ return result.toString();
+ }
+
+} // FunctionClientServerPortImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionConnectorImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionConnectorImpl.java
new file mode 100644
index 00000000000..6ba17664943
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionConnectorImpl.java
@@ -0,0 +1,279 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling.impl;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+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.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.BasicInternalEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionConnector;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Function Connector</b></em> '. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionConnectorImpl#getPort <em>Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionConnectorImpl#getBase_Connector <em>Base Connector</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionConnectorImpl#getPort1_path <em>Port1 path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionConnectorImpl#getPort2_path <em>Port2 path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FunctionConnectorImpl extends EAElementImpl implements FunctionConnector {
+
+ /**
+ * 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 #getPort1_path() <em>Port1 path</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPort1_path()
+ * @generated
+ * @ordered
+ */
+ protected EList<FunctionPrototype> port1_path;
+
+ /**
+ * The cached value of the '{@link #getPort2_path() <em>Port2 path</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPort2_path()
+ * @generated
+ * @ordered
+ */
+ protected EList<FunctionPrototype> port2_path;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected FunctionConnectorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_CONNECTOR__PORT:
+ return getPort();
+ case FunctionmodelingPackage.FUNCTION_CONNECTOR__BASE_CONNECTOR:
+ if (resolve) return getBase_Connector();
+ return basicGetBase_Connector();
+ case FunctionmodelingPackage.FUNCTION_CONNECTOR__PORT1_PATH:
+ return getPort1_path();
+ case FunctionmodelingPackage.FUNCTION_CONNECTOR__PORT2_PATH:
+ return getPort2_path();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_CONNECTOR__PORT:
+ return !getPort().isEmpty();
+ case FunctionmodelingPackage.FUNCTION_CONNECTOR__BASE_CONNECTOR:
+ return base_Connector != null;
+ case FunctionmodelingPackage.FUNCTION_CONNECTOR__PORT1_PATH:
+ return port1_path != null && !port1_path.isEmpty();
+ case FunctionmodelingPackage.FUNCTION_CONNECTOR__PORT2_PATH:
+ return port2_path != null && !port2_path.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_CONNECTOR__BASE_CONNECTOR:
+ setBase_Connector((Connector)newValue);
+ return;
+ case FunctionmodelingPackage.FUNCTION_CONNECTOR__PORT1_PATH:
+ getPort1_path().clear();
+ getPort1_path().addAll((Collection<? extends FunctionPrototype>)newValue);
+ return;
+ case FunctionmodelingPackage.FUNCTION_CONNECTOR__PORT2_PATH:
+ getPort2_path().clear();
+ getPort2_path().addAll((Collection<? extends FunctionPrototype>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FunctionmodelingPackage.Literals.FUNCTION_CONNECTOR;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_CONNECTOR__BASE_CONNECTOR:
+ setBase_Connector((Connector)null);
+ return;
+ case FunctionmodelingPackage.FUNCTION_CONNECTOR__PORT1_PATH:
+ getPort1_path().clear();
+ return;
+ case FunctionmodelingPackage.FUNCTION_CONNECTOR__PORT2_PATH:
+ getPort2_path().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<FunctionPort> getPort() {
+
+ EList<FunctionPort> flowPorts = new BasicEList<FunctionPort>();
+ FunctionPort currentFlowPort;
+
+ if(getBase_Connector() != null) {
+ // Parse owned Connectors
+ Iterator<ConnectorEnd> it = getBase_Connector().getEnds().iterator();
+ while(it.hasNext()) {
+ ConnectorEnd current = it.next();
+ ConnectableElement ce = current.getRole();
+
+ if((ce != null) && (ce instanceof Port)) {
+ // Test if currentProperty is stereotyped ADLFunctionPrototype
+ currentFlowPort = (FunctionPort)UMLUtil.getStereotypeApplication(ce, FunctionPort.class);
+
+ if(currentFlowPort != null) {
+ flowPorts.add(currentFlowPort);
+ }
+ }
+ }
+ }
+
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<FunctionPort>(FunctionPort.class, flowPorts.size(), flowPorts.toArray());
+ }
+
+ /**
+ * <!-- 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, FunctionmodelingPackage.FUNCTION_CONNECTOR__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, FunctionmodelingPackage.FUNCTION_CONNECTOR__BASE_CONNECTOR, oldBase_Connector, base_Connector));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FunctionPrototype> getPort1_path() {
+ if (port1_path == null) {
+ port1_path = new EObjectResolvingEList<FunctionPrototype>(FunctionPrototype.class, this, FunctionmodelingPackage.FUNCTION_CONNECTOR__PORT1_PATH);
+ }
+ return port1_path;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FunctionPrototype> getPort2_path() {
+ if (port2_path == null) {
+ port2_path = new EObjectResolvingEList<FunctionPrototype>(FunctionPrototype.class, this, FunctionmodelingPackage.FUNCTION_CONNECTOR__PORT2_PATH);
+ }
+ return port2_path;
+ }
+
+} // FunctionConnectorImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionFlowPortImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionFlowPortImpl.java
new file mode 100644
index 00000000000..dd69600adca
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionFlowPortImpl.java
@@ -0,0 +1,337 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling.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.eastadl.infrastructure.datatypes.EADatatype;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Comment;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionFlowPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.sysml.portandflows.internal.impl.FlowPortImpl;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Function Flow Port</b></em> '. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionFlowPortImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionFlowPortImpl#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionFlowPortImpl#getOwnedComment <em>Owned Comment</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionFlowPortImpl#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FunctionFlowPortImpl extends FlowPortImpl implements FunctionFlowPort {
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getBase_NamedElement() <em>Base Named Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_NamedElement()
+ * @generated
+ * @ordered
+ */
+ protected NamedElement base_NamedElement;
+
+ /**
+ * The cached value of the '{@link #getOwnedComment() <em>Owned Comment</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedComment()
+ * @generated
+ * @ordered
+ */
+ protected EList<Comment> ownedComment;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected FunctionFlowPortImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EADatatype basicGetType() {
+ EADatatype dataType = null;
+
+ if(getBase_Port() != null) {
+ Type umlType = getBase_Port().getType();
+
+
+ if(umlType != null) {
+ dataType = (EADatatype)UMLUtil.getStereotypeApplication(umlType, EADatatype.class);
+ }
+ }
+
+ return dataType;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == EAElement.class) {
+ switch (derivedFeatureID) {
+ case FunctionmodelingPackage.FUNCTION_FLOW_PORT__NAME: return ElementsPackage.EA_ELEMENT__NAME;
+ case FunctionmodelingPackage.FUNCTION_FLOW_PORT__BASE_NAMED_ELEMENT: return ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+ case FunctionmodelingPackage.FUNCTION_FLOW_PORT__OWNED_COMMENT: return ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+ default: return -1;
+ }
+ }
+ if (baseClass == FunctionPort.class) {
+ switch (derivedFeatureID) {
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == EAElement.class) {
+ switch (baseFeatureID) {
+ case ElementsPackage.EA_ELEMENT__NAME: return FunctionmodelingPackage.FUNCTION_FLOW_PORT__NAME;
+ case ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT: return FunctionmodelingPackage.FUNCTION_FLOW_PORT__BASE_NAMED_ELEMENT;
+ case ElementsPackage.EA_ELEMENT__OWNED_COMMENT: return FunctionmodelingPackage.FUNCTION_FLOW_PORT__OWNED_COMMENT;
+ default: return -1;
+ }
+ }
+ if (baseClass == FunctionPort.class) {
+ switch (baseFeatureID) {
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_FLOW_PORT__NAME:
+ return getName();
+ case FunctionmodelingPackage.FUNCTION_FLOW_PORT__BASE_NAMED_ELEMENT:
+ if (resolve) return getBase_NamedElement();
+ return basicGetBase_NamedElement();
+ case FunctionmodelingPackage.FUNCTION_FLOW_PORT__OWNED_COMMENT:
+ return getOwnedComment();
+ case FunctionmodelingPackage.FUNCTION_FLOW_PORT__TYPE:
+ if (resolve) return getType();
+ return basicGetType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_FLOW_PORT__NAME:
+ return NAME_EDEFAULT == null ? getName() != null : !NAME_EDEFAULT.equals(getName());
+ case FunctionmodelingPackage.FUNCTION_FLOW_PORT__BASE_NAMED_ELEMENT:
+ return base_NamedElement != null;
+ case FunctionmodelingPackage.FUNCTION_FLOW_PORT__OWNED_COMMENT:
+ return ownedComment != null && !ownedComment.isEmpty();
+ case FunctionmodelingPackage.FUNCTION_FLOW_PORT__TYPE:
+ return basicGetType() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_FLOW_PORT__NAME:
+ setName((String)newValue);
+ return;
+ case FunctionmodelingPackage.FUNCTION_FLOW_PORT__BASE_NAMED_ELEMENT:
+ setBase_NamedElement((NamedElement)newValue);
+ return;
+ case FunctionmodelingPackage.FUNCTION_FLOW_PORT__OWNED_COMMENT:
+ getOwnedComment().clear();
+ getOwnedComment().addAll((Collection<? extends Comment>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FunctionmodelingPackage.Literals.FUNCTION_FLOW_PORT;
+ }
+
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_FLOW_PORT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case FunctionmodelingPackage.FUNCTION_FLOW_PORT__BASE_NAMED_ELEMENT:
+ setBase_NamedElement((NamedElement)null);
+ return;
+ case FunctionmodelingPackage.FUNCTION_FLOW_PORT__OWNED_COMMENT:
+ getOwnedComment().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public String getName() {
+ return getBase_Port().getName();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Comment> getOwnedComment() {
+ if (ownedComment == null) {
+ ownedComment = new EObjectResolvingEList<Comment>(Comment.class, this, FunctionmodelingPackage.FUNCTION_FLOW_PORT__OWNED_COMMENT);
+ }
+ return ownedComment;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EADatatype getType() {
+ EADatatype type = basicGetType();
+ return type != null && type.eIsProxy() ? (EADatatype)eResolveProxy((InternalEObject)type) : type;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public boolean isIsAtomic() {
+ // Always true in EAST-ADL2
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public void setName(String newName) {
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getBase_NamedElement() {
+ if (base_NamedElement != null && base_NamedElement.eIsProxy()) {
+ InternalEObject oldBase_NamedElement = (InternalEObject)base_NamedElement;
+ base_NamedElement = (NamedElement)eResolveProxy(oldBase_NamedElement);
+ if (base_NamedElement != oldBase_NamedElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, FunctionmodelingPackage.FUNCTION_FLOW_PORT__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+ }
+ }
+ return base_NamedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement basicGetBase_NamedElement() {
+ return base_NamedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_NamedElement(NamedElement newBase_NamedElement) {
+ NamedElement oldBase_NamedElement = base_NamedElement;
+ base_NamedElement = newBase_NamedElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FunctionmodelingPackage.FUNCTION_FLOW_PORT__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+ }
+
+} // FunctionFlowPortImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionPortImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionPortImpl.java
new file mode 100644
index 00000000000..ecb2b388814
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionPortImpl.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Function Port</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class FunctionPortImpl extends EAElementImpl implements FunctionPort {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FunctionPortImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FunctionmodelingPackage.Literals.FUNCTION_PORT;
+ }
+
+} //FunctionPortImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionPowerPortImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionPowerPortImpl.java
new file mode 100644
index 00000000000..d3f8ae44a75
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionPowerPortImpl.java
@@ -0,0 +1,196 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling.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.eastadl.infrastructure.datatypes.CompositeDatatype;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPowerPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Function Power Port</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionPowerPortImpl#getBase_Port <em>Base Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionPowerPortImpl#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FunctionPowerPortImpl extends FunctionPortImpl implements FunctionPowerPort {
+
+ /**
+ * The cached value of the '{@link #getBase_Port() <em>Base Port</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Port()
+ * @generated
+ * @ordered
+ */
+ protected Port base_Port;
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected FunctionPowerPortImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public CompositeDatatype basicGetType() {
+ CompositeDatatype dataType = null;
+
+ if(getBase_Port() != null) {
+ Type umlType = getBase_Port().getType();
+
+ if(umlType != null) {
+ dataType = (CompositeDatatype)UMLUtil.getStereotypeApplication(umlType, CompositeDatatype.class);
+ }
+ }
+
+ return dataType;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_POWER_PORT__BASE_PORT:
+ if (resolve) return getBase_Port();
+ return basicGetBase_Port();
+ case FunctionmodelingPackage.FUNCTION_POWER_PORT__TYPE:
+ if (resolve) return getType();
+ return basicGetType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_POWER_PORT__BASE_PORT:
+ return base_Port != null;
+ case FunctionmodelingPackage.FUNCTION_POWER_PORT__TYPE:
+ return basicGetType() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_POWER_PORT__BASE_PORT:
+ setBase_Port((Port)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FunctionmodelingPackage.Literals.FUNCTION_POWER_PORT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Port getBase_Port() {
+ if (base_Port != null && base_Port.eIsProxy()) {
+ InternalEObject oldBase_Port = (InternalEObject)base_Port;
+ base_Port = (Port)eResolveProxy(oldBase_Port);
+ if (base_Port != oldBase_Port) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, FunctionmodelingPackage.FUNCTION_POWER_PORT__BASE_PORT, oldBase_Port, base_Port));
+ }
+ }
+ return base_Port;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Port basicGetBase_Port() {
+ return base_Port;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Port(Port newBase_Port) {
+ Port oldBase_Port = base_Port;
+ base_Port = newBase_Port;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FunctionmodelingPackage.FUNCTION_POWER_PORT__BASE_PORT, oldBase_Port, base_Port));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_POWER_PORT__BASE_PORT:
+ setBase_Port((Port)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public CompositeDatatype getType() {
+ CompositeDatatype type = basicGetType();
+ return type != null && type.eIsProxy() ? (CompositeDatatype)eResolveProxy((InternalEObject)type) : type;
+ }
+
+} // FunctionPowerPortImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionPrototypeImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionPrototypeImpl.java
new file mode 100644
index 00000000000..8653aa084a4
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionPrototypeImpl.java
@@ -0,0 +1,196 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling.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.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Function Prototype</b></em> '. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionPrototypeImpl#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class FunctionPrototypeImpl extends EAElementImpl implements FunctionPrototype {
+
+ /**
+ * 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 FunctionPrototypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public FunctionType basicGetType() {
+
+ FunctionType type = null;
+
+ if(getBase_Property() != null) {
+ // Retrieve the type of the FunctionPrototype
+ Type basicType = getBase_Property().getType();
+
+ if(basicType != null) {
+
+ type = (FunctionType)UMLUtil.getStereotypeApplication(basicType, FunctionType.class);
+ }
+ }
+
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_PROTOTYPE__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 boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_PROTOTYPE__BASE_PROPERTY:
+ return base_Property != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_PROTOTYPE__BASE_PROPERTY:
+ setBase_Property((Property)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FunctionmodelingPackage.Literals.FUNCTION_PROTOTYPE;
+ }
+
+ /**
+ * <!-- 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, FunctionmodelingPackage.FUNCTION_PROTOTYPE__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, FunctionmodelingPackage.FUNCTION_PROTOTYPE__BASE_PROPERTY, oldBase_Property, base_Property));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_PROTOTYPE__BASE_PROPERTY:
+ setBase_Property((Property)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public Image getIcon() {
+ return null;
+ }
+
+} // FunctionPrototypeImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionTypeImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionTypeImpl.java
new file mode 100644
index 00000000000..af2c9d566d5
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionTypeImpl.java
@@ -0,0 +1,422 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling.impl;
+
+import java.util.Iterator;
+
+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.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.BasicInternalEList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ContextImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionConnector;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.PortGroup;
+import org.eclipse.papyrus.eastadl.utils.EASTResource;
+import org.eclipse.papyrus.sysml.blocks.Block;
+import org.eclipse.papyrus.sysml.blocks.BlocksPackage;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Function Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionTypeImpl#isEncapsulated <em>Is Encapsulated</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionTypeImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionTypeImpl#isIsElementary <em>Is Elementary</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionTypeImpl#getPort <em>Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionTypeImpl#getPortGroup <em>Port Group</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionTypeImpl#getConnector <em>Connector</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class FunctionTypeImpl extends ContextImpl implements FunctionType {
+
+ /**
+ * The default value of the '{@link #isEncapsulated() <em>Is Encapsulated</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #isEncapsulated()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_ENCAPSULATED_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isEncapsulated() <em>Is Encapsulated</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #isEncapsulated()
+ * @generated
+ * @ordered
+ */
+ protected boolean isEncapsulated = IS_ENCAPSULATED_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;
+
+ /**
+ * The default value of the '{@link #isIsElementary() <em>Is Elementary</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isIsElementary()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_ELEMENTARY_EDEFAULT = false;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected FunctionTypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- 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
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == Block.class) {
+ switch (derivedFeatureID) {
+ case FunctionmodelingPackage.FUNCTION_TYPE__IS_ENCAPSULATED: return BlocksPackage.BLOCK__IS_ENCAPSULATED;
+ case FunctionmodelingPackage.FUNCTION_TYPE__BASE_CLASS: return BlocksPackage.BLOCK__BASE_CLASS;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == Block.class) {
+ switch (baseFeatureID) {
+ case BlocksPackage.BLOCK__IS_ENCAPSULATED: return FunctionmodelingPackage.FUNCTION_TYPE__IS_ENCAPSULATED;
+ case BlocksPackage.BLOCK__BASE_CLASS: return FunctionmodelingPackage.FUNCTION_TYPE__BASE_CLASS;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_TYPE__IS_ENCAPSULATED:
+ return isEncapsulated();
+ case FunctionmodelingPackage.FUNCTION_TYPE__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case FunctionmodelingPackage.FUNCTION_TYPE__IS_ELEMENTARY:
+ return isIsElementary();
+ case FunctionmodelingPackage.FUNCTION_TYPE__PORT:
+ return getPort();
+ case FunctionmodelingPackage.FUNCTION_TYPE__PORT_GROUP:
+ return getPortGroup();
+ case FunctionmodelingPackage.FUNCTION_TYPE__CONNECTOR:
+ return getConnector();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_TYPE__IS_ENCAPSULATED:
+ return isEncapsulated != IS_ENCAPSULATED_EDEFAULT;
+ case FunctionmodelingPackage.FUNCTION_TYPE__BASE_CLASS:
+ return base_Class != null;
+ case FunctionmodelingPackage.FUNCTION_TYPE__IS_ELEMENTARY:
+ return isIsElementary() != IS_ELEMENTARY_EDEFAULT;
+ case FunctionmodelingPackage.FUNCTION_TYPE__PORT:
+ return !getPort().isEmpty();
+ case FunctionmodelingPackage.FUNCTION_TYPE__PORT_GROUP:
+ return !getPortGroup().isEmpty();
+ case FunctionmodelingPackage.FUNCTION_TYPE__CONNECTOR:
+ return !getConnector().isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_TYPE__IS_ENCAPSULATED:
+ setIsEncapsulated((Boolean)newValue);
+ return;
+ case FunctionmodelingPackage.FUNCTION_TYPE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FunctionmodelingPackage.Literals.FUNCTION_TYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isEncapsulated() {
+ return isEncapsulated;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FunctionmodelingPackage.FUNCTION_TYPE__IS_ENCAPSULATED:
+ setIsEncapsulated(IS_ENCAPSULATED_EDEFAULT);
+ return;
+ case FunctionmodelingPackage.FUNCTION_TYPE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- 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, FunctionmodelingPackage.FUNCTION_TYPE__BASE_CLASS, oldBase_Class, base_Class));
+ }
+ }
+ return base_Class;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<FunctionConnector> getConnector() {
+
+ EList<FunctionConnector> connectors = new BasicEList<FunctionConnector>();
+ FunctionConnector currentConnectorPrototype;
+
+ if(getBase_Class() != null) {
+ // Parse owned Connectors
+ Iterator<Connector> itDep = getBase_Class().getOwnedConnectors().iterator();
+ while(itDep.hasNext()) {
+ Connector currentConnector = itDep.next();
+
+ // Test if currentProperty is stereotyped ADLFunctionPrototype
+ currentConnectorPrototype = (FunctionConnector)UMLUtil.getStereotypeApplication(currentConnector,
+ FunctionConnector.class);
+
+ if(currentConnectorPrototype != null) {
+ connectors.add(currentConnectorPrototype);
+ }
+ }
+ }
+
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<FunctionConnector>(FunctionConnector.class, connectors.size(), connectors
+ .toArray());
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public Image getIcon() {
+
+ if(getBase_Class() != null) {
+ Stereotype st = getBase_Class().getAppliedStereotype(EASTResource.FUNCTIONTYPE_ID);
+ EList<Image> images = st.getIcons();
+
+ if(isIsElementary()) {
+ return images.get(1);
+ } else {
+ return images.get(0);
+ }
+ } else {
+ return null;
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<FunctionPort> getPort() {
+
+ EList<FunctionPort> groupedPorts = new BasicEList<FunctionPort>();
+ FunctionPort currentADLFlowPort;
+
+ if(getBase_Class() != null) {
+ // Parse owned Ports
+ Iterator<Port> itDep = getBase_Class().getOwnedPorts().iterator();
+ while(itDep.hasNext()) {
+ Port currentPort = itDep.next();
+
+ // Test if currentPort is stereotyped FlowPort
+ currentADLFlowPort = (FunctionPort)UMLUtil.getStereotypeApplication(currentPort,
+ FunctionPort.class);
+
+ if(currentADLFlowPort != null) {
+ groupedPorts.add(currentADLFlowPort);
+ }
+ }
+ }
+
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<FunctionPort>(FunctionPort.class, groupedPorts.size(), groupedPorts.toArray());
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<PortGroup> getPortGroup() {
+
+ EList<PortGroup> portGroups = new BasicEList<PortGroup>();
+ PortGroup currentADLPortGroup;
+
+ if(getBase_Class() != null) {
+ // Parse owned Ports
+ Iterator<Classifier> itDep = getBase_Class().getNestedClassifiers().iterator();
+ while(itDep.hasNext()) {
+ Classifier currentClass = itDep.next();
+
+ // Test if currentPort is stereotyped ADLFlowPort
+ currentADLPortGroup = (PortGroup)UMLUtil.getStereotypeApplication(currentClass,
+ PortGroup.class);
+
+ if(currentADLPortGroup != null) {
+ portGroups.add(currentADLPortGroup);
+ }
+ }
+ }
+
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<PortGroup>(PortGroup.class, portGroups.size(), portGroups.toArray());
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public boolean isIsElementary() {
+ return false;
+ }
+
+ /**
+ * <!-- 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, FunctionmodelingPackage.FUNCTION_TYPE__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsEncapsulated(boolean newIsEncapsulated) {
+ boolean oldIsEncapsulated = isEncapsulated;
+ isEncapsulated = newIsEncapsulated;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FunctionmodelingPackage.FUNCTION_TYPE__IS_ENCAPSULATED, oldIsEncapsulated, isEncapsulated));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (isEncapsulated: ");
+ result.append(isEncapsulated);
+ result.append(')');
+ return result.toString();
+ }
+
+} // FunctionTypeImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionalDeviceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionalDeviceImpl.java
new file mode 100644
index 00000000000..06576f6eb13
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionalDeviceImpl.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionalDevice;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Functional Device</b></em>
+ * '. <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class FunctionalDeviceImpl extends AnalysisFunctionTypeImpl implements FunctionalDevice {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected FunctionalDeviceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FunctionmodelingPackage.Literals.FUNCTIONAL_DEVICE;
+ }
+
+} // FunctionalDeviceImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionmodelingFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionmodelingFactoryImpl.java
new file mode 100644
index 00000000000..88ecd36eacc
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionmodelingFactoryImpl.java
@@ -0,0 +1,369 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling.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.eclipse.papyrus.eastadl.structure.functionmodeling.Allocation;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.AnalysisFunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.AnalysisFunctionType;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.BasicSoftwareFunctionType;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.ClientServerKind;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionType;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.EADirectionKind;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionAllocation;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerInterface;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionConnector;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionFlowPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPowerPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionalDevice;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingFactory;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.HardwareFunctionType;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.LocalDeviceManager;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.Operation;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.PortGroup;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!-- end-user-doc -->
+ * @generated
+ */
+public class FunctionmodelingFactoryImpl extends EFactoryImpl implements FunctionmodelingFactory {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static FunctionmodelingPackage getPackage() {
+ return FunctionmodelingPackage.eINSTANCE;
+ }
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public static FunctionmodelingFactory init() {
+ try {
+ FunctionmodelingFactory theFunctionmodelingFactory = (FunctionmodelingFactory)EPackage.Registry.INSTANCE.getEFactory(FunctionmodelingPackage.eNS_URI);
+ if (theFunctionmodelingFactory != null) {
+ return theFunctionmodelingFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new FunctionmodelingFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionmodelingFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertClientServerKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EADirectionKind createEADirectionKindFromString(EDataType eDataType, String initialValue) {
+ EADirectionKind result = EADirectionKind.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 convertEADirectionKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case FunctionmodelingPackage.CLIENT_SERVER_KIND:
+ return convertClientServerKindToString(eDataType, instanceValue);
+ case FunctionmodelingPackage.EA_DIRECTION_KIND:
+ return convertEADirectionKindToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case FunctionmodelingPackage.LOCAL_DEVICE_MANAGER: return createLocalDeviceManager();
+ case FunctionmodelingPackage.DESIGN_FUNCTION_TYPE: return createDesignFunctionType();
+ case FunctionmodelingPackage.PORT_GROUP: return createPortGroup();
+ case FunctionmodelingPackage.FUNCTION_CONNECTOR: return createFunctionConnector();
+ case FunctionmodelingPackage.DESIGN_FUNCTION_PROTOTYPE: return createDesignFunctionPrototype();
+ case FunctionmodelingPackage.FUNCTIONAL_DEVICE: return createFunctionalDevice();
+ case FunctionmodelingPackage.ANALYSIS_FUNCTION_TYPE: return createAnalysisFunctionType();
+ case FunctionmodelingPackage.ANALYSIS_FUNCTION_PROTOTYPE: return createAnalysisFunctionPrototype();
+ case FunctionmodelingPackage.FUNCTION_FLOW_PORT: return createFunctionFlowPort();
+ case FunctionmodelingPackage.FUNCTION_CLIENT_SERVER_PORT: return createFunctionClientServerPort();
+ case FunctionmodelingPackage.FUNCTION_CLIENT_SERVER_INTERFACE: return createFunctionClientServerInterface();
+ case FunctionmodelingPackage.OPERATION: return createOperation();
+ case FunctionmodelingPackage.BASIC_SOFTWARE_FUNCTION_TYPE: return createBasicSoftwareFunctionType();
+ case FunctionmodelingPackage.HARDWARE_FUNCTION_TYPE: return createHardwareFunctionType();
+ case FunctionmodelingPackage.FUNCTION_ALLOCATION: return createFunctionAllocation();
+ case FunctionmodelingPackage.ALLOCATION: return createAllocation();
+ case FunctionmodelingPackage.FUNCTION_POWER_PORT: return createFunctionPowerPort();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Allocation createAllocation() {
+ AllocationImpl allocation = new AllocationImpl();
+ return allocation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AnalysisFunctionPrototype createAnalysisFunctionPrototype() {
+ AnalysisFunctionPrototypeImpl analysisFunctionPrototype = new AnalysisFunctionPrototypeImpl();
+ return analysisFunctionPrototype;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AnalysisFunctionType createAnalysisFunctionType() {
+ AnalysisFunctionTypeImpl analysisFunctionType = new AnalysisFunctionTypeImpl();
+ return analysisFunctionType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BasicSoftwareFunctionType createBasicSoftwareFunctionType() {
+ BasicSoftwareFunctionTypeImpl basicSoftwareFunctionType = new BasicSoftwareFunctionTypeImpl();
+ return basicSoftwareFunctionType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ClientServerKind createClientServerKindFromString(EDataType eDataType, String initialValue) {
+ ClientServerKind result = ClientServerKind.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 DesignFunctionPrototype createDesignFunctionPrototype() {
+ DesignFunctionPrototypeImpl designFunctionPrototype = new DesignFunctionPrototypeImpl();
+ return designFunctionPrototype;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DesignFunctionType createDesignFunctionType() {
+ DesignFunctionTypeImpl designFunctionType = new DesignFunctionTypeImpl();
+ return designFunctionType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case FunctionmodelingPackage.CLIENT_SERVER_KIND:
+ return createClientServerKindFromString(eDataType, initialValue);
+ case FunctionmodelingPackage.EA_DIRECTION_KIND:
+ return createEADirectionKindFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionalDevice createFunctionalDevice() {
+ FunctionalDeviceImpl functionalDevice = new FunctionalDeviceImpl();
+ return functionalDevice;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionAllocation createFunctionAllocation() {
+ FunctionAllocationImpl functionAllocation = new FunctionAllocationImpl();
+ return functionAllocation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionClientServerInterface createFunctionClientServerInterface() {
+ FunctionClientServerInterfaceImpl functionClientServerInterface = new FunctionClientServerInterfaceImpl();
+ return functionClientServerInterface;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionClientServerPort createFunctionClientServerPort() {
+ FunctionClientServerPortImpl functionClientServerPort = new FunctionClientServerPortImpl();
+ return functionClientServerPort;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionConnector createFunctionConnector() {
+ FunctionConnectorImpl functionConnector = new FunctionConnectorImpl();
+ return functionConnector;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionFlowPort createFunctionFlowPort() {
+ FunctionFlowPortImpl functionFlowPort = new FunctionFlowPortImpl();
+ return functionFlowPort;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionPowerPort createFunctionPowerPort() {
+ FunctionPowerPortImpl functionPowerPort = new FunctionPowerPortImpl();
+ return functionPowerPort;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HardwareFunctionType createHardwareFunctionType() {
+ HardwareFunctionTypeImpl hardwareFunctionType = new HardwareFunctionTypeImpl();
+ return hardwareFunctionType;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public LocalDeviceManager createLocalDeviceManager() {
+ LocalDeviceManagerImpl localDeviceManager = new LocalDeviceManagerImpl();
+ return localDeviceManager;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation createOperation() {
+ OperationImpl operation = new OperationImpl();
+ return operation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PortGroup createPortGroup() {
+ PortGroupImpl portGroup = new PortGroupImpl();
+ return portGroup;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionmodelingPackage getFunctionmodelingPackage() {
+ return (FunctionmodelingPackage)getEPackage();
+ }
+
+} // FunctionmodelingFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionmodelingPackageImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionmodelingPackageImpl.java
new file mode 100644
index 00000000000..f5f951a4363
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/FunctionmodelingPackageImpl.java
@@ -0,0 +1,1221 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling.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.eastadl.EastadlPackage;
+import org.eclipse.papyrus.eastadl.annex.AnnexPackage;
+import org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.StructurePackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.AllocateableElement;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.Allocation;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.AnalysisFunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.AnalysisFunctionType;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.BasicSoftwareFunctionType;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.ClientServerKind;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionType;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.EADirectionKind;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionAllocation;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerInterface;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionConnector;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionFlowPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPowerPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionalDevice;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingFactory;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.HardwareFunctionType;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.LocalDeviceManager;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.Operation;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.PortGroup;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.papyrus.sysml.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc -->
+ * @generated
+ */
+public class FunctionmodelingPackageImpl extends EPackageImpl implements FunctionmodelingPackage {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass functionTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass functionPortEClass = null;
+
+ /**
+ * <!-- 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 FunctionmodelingPackage#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 FunctionmodelingPackage init() {
+ if (isInited) return (FunctionmodelingPackage)EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI);
+
+ // Obtain or create and register package
+ FunctionmodelingPackageImpl theFunctionmodelingPackage = (FunctionmodelingPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof FunctionmodelingPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new FunctionmodelingPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ SysmlPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EastadlPackageImpl theEastadlPackage = (EastadlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) instanceof EastadlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) : EastadlPackage.eINSTANCE);
+ VariabilityPackageImpl theVariabilityPackage = (VariabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) instanceof VariabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) : VariabilityPackage.eINSTANCE);
+ InfrastructurePackageImpl theInfrastructurePackage = (InfrastructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) instanceof InfrastructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) : InfrastructurePackage.eINSTANCE);
+ DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) instanceof DatatypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) : DatatypesPackage.eINSTANCE);
+ UserattributesPackageImpl theUserattributesPackage = (UserattributesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) instanceof UserattributesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) : UserattributesPackage.eINSTANCE);
+ ElementsPackageImpl theElementsPackage = (ElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) instanceof ElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) : ElementsPackage.eINSTANCE);
+ StructurePackageImpl theStructurePackage = (StructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) instanceof StructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) : StructurePackage.eINSTANCE);
+ HardwaremodelingPackageImpl theHardwaremodelingPackage = (HardwaremodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) instanceof HardwaremodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) : HardwaremodelingPackage.eINSTANCE);
+ SystemmodelingPackageImpl theSystemmodelingPackage = (SystemmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) instanceof SystemmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) : SystemmodelingPackage.eINSTANCE);
+ VehiclefeaturemodelingPackageImpl theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) instanceof VehiclefeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) : VehiclefeaturemodelingPackage.eINSTANCE);
+ FeaturemodelingPackageImpl theFeaturemodelingPackage = (FeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) instanceof FeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) : FeaturemodelingPackage.eINSTANCE);
+ BehaviorPackageImpl theBehaviorPackage = (BehaviorPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) instanceof BehaviorPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) : BehaviorPackage.eINSTANCE);
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) : RequirementsPackage.eINSTANCE);
+ VerificationvalidationPackageImpl theVerificationvalidationPackage = (VerificationvalidationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) instanceof VerificationvalidationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) : VerificationvalidationPackage.eINSTANCE);
+ TimingPackageImpl theTimingPackage = (TimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) instanceof TimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) : TimingPackage.eINSTANCE);
+ TimingconstraintsPackageImpl theTimingconstraintsPackage = (TimingconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) instanceof TimingconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) : TimingconstraintsPackage.eINSTANCE);
+ EventsPackageImpl theEventsPackage = (EventsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+ InterchangePackageImpl theInterchangePackage = (InterchangePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) instanceof InterchangePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) : InterchangePackage.eINSTANCE);
+ EnvironmentPackageImpl theEnvironmentPackage = (EnvironmentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) instanceof EnvironmentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) : EnvironmentPackage.eINSTANCE);
+ DependabilityPackageImpl theDependabilityPackage = (DependabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) instanceof DependabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) : DependabilityPackage.eINSTANCE);
+ ErrormodelPackageImpl theErrormodelPackage = (ErrormodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) instanceof ErrormodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) : ErrormodelPackage.eINSTANCE);
+ SafetyrequirementPackageImpl theSafetyrequirementPackage = (SafetyrequirementPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) instanceof SafetyrequirementPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) : SafetyrequirementPackage.eINSTANCE);
+ SafetyconstraintsPackageImpl theSafetyconstraintsPackage = (SafetyconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) instanceof SafetyconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) : SafetyconstraintsPackage.eINSTANCE);
+ SafetycasePackageImpl theSafetycasePackage = (SafetycasePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) instanceof SafetycasePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) : SafetycasePackage.eINSTANCE);
+ AnnexPackageImpl theAnnexPackage = (AnnexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) instanceof AnnexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) : AnnexPackage.eINSTANCE);
+ NeedsPackageImpl theNeedsPackage = (NeedsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) instanceof NeedsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) : NeedsPackage.eINSTANCE);
+ GenericconstraintsPackageImpl theGenericconstraintsPackage = (GenericconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) instanceof GenericconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) : GenericconstraintsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theFunctionmodelingPackage.createPackageContents();
+ theEastadlPackage.createPackageContents();
+ theVariabilityPackage.createPackageContents();
+ theInfrastructurePackage.createPackageContents();
+ theDatatypesPackage.createPackageContents();
+ theUserattributesPackage.createPackageContents();
+ theElementsPackage.createPackageContents();
+ theStructurePackage.createPackageContents();
+ theHardwaremodelingPackage.createPackageContents();
+ theSystemmodelingPackage.createPackageContents();
+ theVehiclefeaturemodelingPackage.createPackageContents();
+ theFeaturemodelingPackage.createPackageContents();
+ theBehaviorPackage.createPackageContents();
+ theRequirementsPackage.createPackageContents();
+ theVerificationvalidationPackage.createPackageContents();
+ theTimingPackage.createPackageContents();
+ theTimingconstraintsPackage.createPackageContents();
+ theEventsPackage.createPackageContents();
+ theInterchangePackage.createPackageContents();
+ theEnvironmentPackage.createPackageContents();
+ theDependabilityPackage.createPackageContents();
+ theErrormodelPackage.createPackageContents();
+ theSafetyrequirementPackage.createPackageContents();
+ theSafetyconstraintsPackage.createPackageContents();
+ theSafetycasePackage.createPackageContents();
+ theAnnexPackage.createPackageContents();
+ theNeedsPackage.createPackageContents();
+ theGenericconstraintsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theFunctionmodelingPackage.initializePackageContents();
+ theEastadlPackage.initializePackageContents();
+ theVariabilityPackage.initializePackageContents();
+ theInfrastructurePackage.initializePackageContents();
+ theDatatypesPackage.initializePackageContents();
+ theUserattributesPackage.initializePackageContents();
+ theElementsPackage.initializePackageContents();
+ theStructurePackage.initializePackageContents();
+ theHardwaremodelingPackage.initializePackageContents();
+ theSystemmodelingPackage.initializePackageContents();
+ theVehiclefeaturemodelingPackage.initializePackageContents();
+ theFeaturemodelingPackage.initializePackageContents();
+ theBehaviorPackage.initializePackageContents();
+ theRequirementsPackage.initializePackageContents();
+ theVerificationvalidationPackage.initializePackageContents();
+ theTimingPackage.initializePackageContents();
+ theTimingconstraintsPackage.initializePackageContents();
+ theEventsPackage.initializePackageContents();
+ theInterchangePackage.initializePackageContents();
+ theEnvironmentPackage.initializePackageContents();
+ theDependabilityPackage.initializePackageContents();
+ theErrormodelPackage.initializePackageContents();
+ theSafetyrequirementPackage.initializePackageContents();
+ theSafetyconstraintsPackage.initializePackageContents();
+ theSafetycasePackage.initializePackageContents();
+ theAnnexPackage.initializePackageContents();
+ theNeedsPackage.initializePackageContents();
+ theGenericconstraintsPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theFunctionmodelingPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(FunctionmodelingPackage.eNS_URI, theFunctionmodelingPackage);
+ return theFunctionmodelingPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass functionConnectorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass analysisFunctionPrototypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass functionFlowPortEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass functionClientServerPortEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass functionClientServerInterfaceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass operationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass portGroupEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass basicSoftwareFunctionTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hardwareFunctionTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass functionAllocationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass allocationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass functionPowerPortEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum eaDirectionKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum clientServerKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass functionPrototypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass allocateableElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass localDeviceManagerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass designFunctionTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass designFunctionPrototypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass functionalDeviceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass analysisFunctionTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * 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.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private FunctionmodelingPackageImpl() {
+ super(eNS_URI, FunctionmodelingFactory.eINSTANCE);
+ }
+
+ /**
+ * 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
+ localDeviceManagerEClass = createEClass(LOCAL_DEVICE_MANAGER);
+
+ designFunctionTypeEClass = createEClass(DESIGN_FUNCTION_TYPE);
+ createEReference(designFunctionTypeEClass, DESIGN_FUNCTION_TYPE__PART);
+
+ functionTypeEClass = createEClass(FUNCTION_TYPE);
+ createEAttribute(functionTypeEClass, FUNCTION_TYPE__IS_ELEMENTARY);
+ createEReference(functionTypeEClass, FUNCTION_TYPE__PORT);
+ createEReference(functionTypeEClass, FUNCTION_TYPE__PORT_GROUP);
+ createEReference(functionTypeEClass, FUNCTION_TYPE__CONNECTOR);
+
+ functionPortEClass = createEClass(FUNCTION_PORT);
+
+ portGroupEClass = createEClass(PORT_GROUP);
+ createEReference(portGroupEClass, PORT_GROUP__PORT);
+ createEReference(portGroupEClass, PORT_GROUP__BASE_CLASS);
+ createEReference(portGroupEClass, PORT_GROUP__BASE_PORT);
+ createEReference(portGroupEClass, PORT_GROUP__PORT_GROUP);
+
+ functionConnectorEClass = createEClass(FUNCTION_CONNECTOR);
+ createEReference(functionConnectorEClass, FUNCTION_CONNECTOR__PORT);
+ createEReference(functionConnectorEClass, FUNCTION_CONNECTOR__BASE_CONNECTOR);
+ createEReference(functionConnectorEClass, FUNCTION_CONNECTOR__PORT1_PATH);
+ createEReference(functionConnectorEClass, FUNCTION_CONNECTOR__PORT2_PATH);
+
+ allocateableElementEClass = createEClass(ALLOCATEABLE_ELEMENT);
+
+ functionPrototypeEClass = createEClass(FUNCTION_PROTOTYPE);
+ createEReference(functionPrototypeEClass, FUNCTION_PROTOTYPE__BASE_PROPERTY);
+
+ designFunctionPrototypeEClass = createEClass(DESIGN_FUNCTION_PROTOTYPE);
+ createEReference(designFunctionPrototypeEClass, DESIGN_FUNCTION_PROTOTYPE__TYPE);
+
+ functionalDeviceEClass = createEClass(FUNCTIONAL_DEVICE);
+
+ analysisFunctionTypeEClass = createEClass(ANALYSIS_FUNCTION_TYPE);
+ createEReference(analysisFunctionTypeEClass, ANALYSIS_FUNCTION_TYPE__PART);
+
+ analysisFunctionPrototypeEClass = createEClass(ANALYSIS_FUNCTION_PROTOTYPE);
+ createEReference(analysisFunctionPrototypeEClass, ANALYSIS_FUNCTION_PROTOTYPE__TYPE);
+
+ functionFlowPortEClass = createEClass(FUNCTION_FLOW_PORT);
+ createEReference(functionFlowPortEClass, FUNCTION_FLOW_PORT__TYPE);
+
+ functionClientServerPortEClass = createEClass(FUNCTION_CLIENT_SERVER_PORT);
+ createEReference(functionClientServerPortEClass, FUNCTION_CLIENT_SERVER_PORT__TYPE);
+ createEReference(functionClientServerPortEClass, FUNCTION_CLIENT_SERVER_PORT__BASE_PORT);
+ createEAttribute(functionClientServerPortEClass, FUNCTION_CLIENT_SERVER_PORT__CLIENT_SERVER_TYPE);
+
+ functionClientServerInterfaceEClass = createEClass(FUNCTION_CLIENT_SERVER_INTERFACE);
+ createEReference(functionClientServerInterfaceEClass, FUNCTION_CLIENT_SERVER_INTERFACE__BASE_INTERFACE);
+ createEReference(functionClientServerInterfaceEClass, FUNCTION_CLIENT_SERVER_INTERFACE__OPERATION);
+
+ operationEClass = createEClass(OPERATION);
+ createEReference(operationEClass, OPERATION__BASE_OPERATION);
+ createEReference(operationEClass, OPERATION__ARGUMENT);
+ createEReference(operationEClass, OPERATION__RETURN);
+
+ basicSoftwareFunctionTypeEClass = createEClass(BASIC_SOFTWARE_FUNCTION_TYPE);
+
+ hardwareFunctionTypeEClass = createEClass(HARDWARE_FUNCTION_TYPE);
+ createEReference(hardwareFunctionTypeEClass, HARDWARE_FUNCTION_TYPE__HARDWARE_COMPONENT);
+
+ functionAllocationEClass = createEClass(FUNCTION_ALLOCATION);
+ createEReference(functionAllocationEClass, FUNCTION_ALLOCATION__TARGET);
+ createEReference(functionAllocationEClass, FUNCTION_ALLOCATION__ALLOCATED_ELEMENT);
+ createEReference(functionAllocationEClass, FUNCTION_ALLOCATION__BASE_DEPENDENCY);
+ createEReference(functionAllocationEClass, FUNCTION_ALLOCATION__ALLOCATED_ELEMENT_PATH);
+ createEReference(functionAllocationEClass, FUNCTION_ALLOCATION__TARGET_PATH);
+
+ allocationEClass = createEClass(ALLOCATION);
+ createEReference(allocationEClass, ALLOCATION__BASE_CLASS);
+ createEReference(allocationEClass, ALLOCATION__BASE_PACKAGE);
+ createEReference(allocationEClass, ALLOCATION__FUNCTION_ALLOCATION);
+
+ functionPowerPortEClass = createEClass(FUNCTION_POWER_PORT);
+ createEReference(functionPowerPortEClass, FUNCTION_POWER_PORT__BASE_PORT);
+ createEReference(functionPowerPortEClass, FUNCTION_POWER_PORT__TYPE);
+
+ // Create enums
+ clientServerKindEEnum = createEEnum(CLIENT_SERVER_KIND);
+ eaDirectionKindEEnum = createEEnum(EA_DIRECTION_KIND);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAllocateableElement() {
+ return allocateableElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAllocation() {
+ return allocationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAllocation_Base_Class() {
+ return (EReference)allocationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAllocation_Base_Package() {
+ return (EReference)allocationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAllocation_FunctionAllocation() {
+ return (EReference)allocationEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAnalysisFunctionPrototype() {
+ return analysisFunctionPrototypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAnalysisFunctionPrototype_Type() {
+ return (EReference)analysisFunctionPrototypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAnalysisFunctionType() {
+ return analysisFunctionTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAnalysisFunctionType_Part() {
+ return (EReference)analysisFunctionTypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBasicSoftwareFunctionType() {
+ return basicSoftwareFunctionTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getClientServerKind() {
+ return clientServerKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getEADirectionKind() {
+ return eaDirectionKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDesignFunctionPrototype() {
+ return designFunctionPrototypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDesignFunctionPrototype_Type() {
+ return (EReference)designFunctionPrototypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDesignFunctionType() {
+ return designFunctionTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDesignFunctionType_Part() {
+ return (EReference)designFunctionTypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFunctionalDevice() {
+ return functionalDeviceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFunctionAllocation() {
+ return functionAllocationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunctionAllocation_AllocatedElement() {
+ return (EReference)functionAllocationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunctionAllocation_Base_Dependency() {
+ return (EReference)functionAllocationEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunctionAllocation_AllocatedElement_path() {
+ return (EReference)functionAllocationEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunctionAllocation_Target_path() {
+ return (EReference)functionAllocationEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunctionAllocation_Target() {
+ return (EReference)functionAllocationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFunctionClientServerInterface() {
+ return functionClientServerInterfaceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunctionClientServerInterface_Base_Interface() {
+ return (EReference)functionClientServerInterfaceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunctionClientServerInterface_Operation() {
+ return (EReference)functionClientServerInterfaceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFunctionClientServerPort() {
+ return functionClientServerPortEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFunctionClientServerPort_ClientServerType() {
+ return (EAttribute)functionClientServerPortEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunctionClientServerPort_Type() {
+ return (EReference)functionClientServerPortEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunctionClientServerPort_Base_Port() {
+ return (EReference)functionClientServerPortEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFunctionConnector() {
+ return functionConnectorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunctionConnector_Port() {
+ return (EReference)functionConnectorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunctionConnector_Base_Connector() {
+ return (EReference)functionConnectorEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunctionConnector_Port1_path() {
+ return (EReference)functionConnectorEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunctionConnector_Port2_path() {
+ return (EReference)functionConnectorEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFunctionFlowPort() {
+ return functionFlowPortEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunctionFlowPort_Type() {
+ return (EReference)functionFlowPortEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionmodelingFactory getFunctionmodelingFactory() {
+ return (FunctionmodelingFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFunctionPort() {
+ return functionPortEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFunctionPowerPort() {
+ return functionPowerPortEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunctionPowerPort_Base_Port() {
+ return (EReference)functionPowerPortEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunctionPowerPort_Type() {
+ return (EReference)functionPowerPortEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFunctionPrototype() {
+ return functionPrototypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunctionPrototype_Base_Property() {
+ return (EReference)functionPrototypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFunctionType() {
+ return functionTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunctionType_Connector() {
+ return (EReference)functionTypeEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFunctionType_IsElementary() {
+ return (EAttribute)functionTypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunctionType_Port() {
+ return (EReference)functionTypeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunctionType_PortGroup() {
+ return (EReference)functionTypeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHardwareFunctionType() {
+ return hardwareFunctionTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHardwareFunctionType_HardwareComponent() {
+ return (EReference)hardwareFunctionTypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLocalDeviceManager() {
+ return localDeviceManagerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOperation() {
+ return operationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOperation_Base_Operation() {
+ return (EReference)operationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOperation_Argument() {
+ return (EReference)operationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOperation_Return() {
+ return (EReference)operationEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPortGroup() {
+ return portGroupEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPortGroup_Port() {
+ return (EReference)portGroupEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPortGroup_Base_Class() {
+ return (EReference)portGroupEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPortGroup_Base_Port() {
+ return (EReference)portGroupEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPortGroup_PortGroup() {
+ return (EReference)portGroupEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * 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
+ ElementsPackage theElementsPackage = (ElementsPackage)EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI);
+ BlocksPackage theBlocksPackage = (BlocksPackage)EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI);
+ TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+ PortandflowsPackage thePortandflowsPackage = (PortandflowsPackage)EPackage.Registry.INSTANCE.getEPackage(PortandflowsPackage.eNS_URI);
+ DatatypesPackage theDatatypesPackage = (DatatypesPackage)EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI);
+ HardwaremodelingPackage theHardwaremodelingPackage = (HardwaremodelingPackage)EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ localDeviceManagerEClass.getESuperTypes().add(this.getDesignFunctionType());
+ designFunctionTypeEClass.getESuperTypes().add(this.getFunctionType());
+ functionTypeEClass.getESuperTypes().add(theElementsPackage.getContext());
+ functionTypeEClass.getESuperTypes().add(theBlocksPackage.getBlock());
+ functionPortEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ portGroupEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ functionConnectorEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ functionConnectorEClass.getESuperTypes().add(this.getAllocateableElement());
+ functionPrototypeEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ designFunctionPrototypeEClass.getESuperTypes().add(this.getFunctionPrototype());
+ designFunctionPrototypeEClass.getESuperTypes().add(this.getAllocateableElement());
+ functionalDeviceEClass.getESuperTypes().add(this.getAnalysisFunctionType());
+ analysisFunctionTypeEClass.getESuperTypes().add(this.getFunctionType());
+ analysisFunctionPrototypeEClass.getESuperTypes().add(this.getFunctionPrototype());
+ functionFlowPortEClass.getESuperTypes().add(thePortandflowsPackage.getFlowPort());
+ functionFlowPortEClass.getESuperTypes().add(this.getFunctionPort());
+ functionClientServerPortEClass.getESuperTypes().add(this.getFunctionPort());
+ functionClientServerInterfaceEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ operationEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ basicSoftwareFunctionTypeEClass.getESuperTypes().add(this.getDesignFunctionType());
+ hardwareFunctionTypeEClass.getESuperTypes().add(this.getDesignFunctionType());
+ functionAllocationEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ allocationEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ functionPowerPortEClass.getESuperTypes().add(this.getFunctionPort());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(localDeviceManagerEClass, LocalDeviceManager.class, "LocalDeviceManager", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(designFunctionTypeEClass, DesignFunctionType.class, "DesignFunctionType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDesignFunctionType_Part(), this.getDesignFunctionPrototype(), null, "part", null, 0, -1, DesignFunctionType.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+
+ initEClass(functionTypeEClass, FunctionType.class, "FunctionType", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getFunctionType_IsElementary(), theTypesPackage.getBoolean(), "isElementary", "false", 1, 1, FunctionType.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getFunctionType_Port(), this.getFunctionPort(), null, "port", null, 0, -1, FunctionType.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getFunctionType_PortGroup(), this.getPortGroup(), null, "portGroup", null, 0, -1, FunctionType.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getFunctionType_Connector(), this.getFunctionConnector(), null, "connector", null, 0, -1, FunctionType.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+
+ addEOperation(functionTypeEClass, theUMLPackage.getImage(), "getIcon", 1, 1, IS_UNIQUE, !IS_ORDERED);
+
+ initEClass(functionPortEClass, FunctionPort.class, "FunctionPort", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(portGroupEClass, PortGroup.class, "PortGroup", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPortGroup_Port(), this.getFunctionPort(), null, "port", null, 1, -1, PortGroup.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getPortGroup_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, PortGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getPortGroup_Base_Port(), theUMLPackage.getPort(), null, "base_Port", null, 0, 1, PortGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getPortGroup_PortGroup(), this.getPortGroup(), null, "portGroup", null, 0, -1, PortGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(functionConnectorEClass, FunctionConnector.class, "FunctionConnector", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getFunctionConnector_Port(), this.getFunctionPort(), null, "port", null, 0, 2, FunctionConnector.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getFunctionConnector_Base_Connector(), theUMLPackage.getConnector(), null, "base_Connector", null, 1, 1, FunctionConnector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFunctionConnector_Port1_path(), this.getFunctionPrototype(), null, "port1_path", null, 0, -1, FunctionConnector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getFunctionConnector_Port2_path(), this.getFunctionPrototype(), null, "port2_path", null, 0, -1, FunctionConnector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(allocateableElementEClass, AllocateableElement.class, "AllocateableElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(functionPrototypeEClass, FunctionPrototype.class, "FunctionPrototype", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getFunctionPrototype_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 1, 1, FunctionPrototype.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ addEOperation(functionPrototypeEClass, theUMLPackage.getImage(), "getIcon", 1, 1, IS_UNIQUE, !IS_ORDERED);
+
+ initEClass(designFunctionPrototypeEClass, DesignFunctionPrototype.class, "DesignFunctionPrototype", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDesignFunctionPrototype_Type(), this.getDesignFunctionType(), null, "type", null, 1, 1, DesignFunctionPrototype.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+
+ initEClass(functionalDeviceEClass, FunctionalDevice.class, "FunctionalDevice", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(analysisFunctionTypeEClass, AnalysisFunctionType.class, "AnalysisFunctionType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getAnalysisFunctionType_Part(), this.getAnalysisFunctionPrototype(), null, "part", null, 0, -1, AnalysisFunctionType.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+
+ initEClass(analysisFunctionPrototypeEClass, AnalysisFunctionPrototype.class, "AnalysisFunctionPrototype", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getAnalysisFunctionPrototype_Type(), this.getAnalysisFunctionType(), null, "type", null, 1, 1, AnalysisFunctionPrototype.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+
+ initEClass(functionFlowPortEClass, FunctionFlowPort.class, "FunctionFlowPort", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getFunctionFlowPort_Type(), theDatatypesPackage.getEADatatype(), null, "type", null, 1, 1, FunctionFlowPort.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+
+ initEClass(functionClientServerPortEClass, FunctionClientServerPort.class, "FunctionClientServerPort", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getFunctionClientServerPort_Type(), this.getFunctionClientServerInterface(), null, "type", null, 1, 1, FunctionClientServerPort.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getFunctionClientServerPort_Base_Port(), theUMLPackage.getPort(), null, "base_Port", null, 1, 1, FunctionClientServerPort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getFunctionClientServerPort_ClientServerType(), this.getClientServerKind(), "clientServerType", null, 1, 1, FunctionClientServerPort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(functionClientServerInterfaceEClass, FunctionClientServerInterface.class, "FunctionClientServerInterface", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getFunctionClientServerInterface_Base_Interface(), theUMLPackage.getInterface(), null, "base_Interface", null, 1, 1, FunctionClientServerInterface.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFunctionClientServerInterface_Operation(), this.getOperation(), null, "operation", null, 0, -1, FunctionClientServerInterface.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+
+ initEClass(operationEClass, Operation.class, "Operation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getOperation_Base_Operation(), theUMLPackage.getOperation(), null, "base_Operation", null, 1, 1, Operation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getOperation_Argument(), theDatatypesPackage.getEADatatypePrototype(), null, "argument", null, 0, -1, Operation.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+ initEReference(getOperation_Return(), theDatatypesPackage.getEADatatypePrototype(), null, "return", null, 0, 1, Operation.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+
+ initEClass(basicSoftwareFunctionTypeEClass, BasicSoftwareFunctionType.class, "BasicSoftwareFunctionType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(hardwareFunctionTypeEClass, HardwareFunctionType.class, "HardwareFunctionType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getHardwareFunctionType_HardwareComponent(), theHardwaremodelingPackage.getHardwareComponentType(), null, "hardwareComponent", null, 0, 1, HardwareFunctionType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(functionAllocationEClass, FunctionAllocation.class, "FunctionAllocation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getFunctionAllocation_Target(), theHardwaremodelingPackage.getAllocationTarget(), null, "target", null, 1, 1, FunctionAllocation.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getFunctionAllocation_AllocatedElement(), this.getAllocateableElement(), null, "allocatedElement", null, 1, 1, FunctionAllocation.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getFunctionAllocation_Base_Dependency(), theUMLPackage.getDependency(), null, "base_Dependency", null, 1, 1, FunctionAllocation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFunctionAllocation_AllocatedElement_path(), this.getAllocateableElement(), null, "allocatedElement_path", null, 0, -1, FunctionAllocation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getFunctionAllocation_Target_path(), theHardwaremodelingPackage.getAllocationTarget(), null, "target_path", null, 0, -1, FunctionAllocation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(allocationEClass, Allocation.class, "Allocation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getAllocation_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, Allocation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getAllocation_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, Allocation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getAllocation_FunctionAllocation(), this.getFunctionAllocation(), null, "functionAllocation", null, 0, -1, Allocation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(functionPowerPortEClass, FunctionPowerPort.class, "FunctionPowerPort", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getFunctionPowerPort_Base_Port(), theUMLPackage.getPort(), null, "base_Port", null, 1, 1, FunctionPowerPort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getFunctionPowerPort_Type(), theDatatypesPackage.getCompositeDatatype(), null, "type", null, 1, 1, FunctionPowerPort.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(clientServerKindEEnum, ClientServerKind.class, "ClientServerKind");
+ addEEnumLiteral(clientServerKindEEnum, ClientServerKind.CLIENT);
+ addEEnumLiteral(clientServerKindEEnum, ClientServerKind.SERVER);
+
+ initEEnum(eaDirectionKindEEnum, EADirectionKind.class, "EADirectionKind");
+ addEEnumLiteral(eaDirectionKindEEnum, EADirectionKind.IN);
+ addEEnumLiteral(eaDirectionKindEEnum, EADirectionKind.OUT);
+ addEEnumLiteral(eaDirectionKindEEnum, EADirectionKind.INOUT);
+ }
+
+} // FunctionmodelingPackageImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/HardwareFunctionTypeImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/HardwareFunctionTypeImpl.java
new file mode 100644
index 00000000000..a083a4f91f6
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/HardwareFunctionTypeImpl.java
@@ -0,0 +1,167 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling.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.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.HardwareFunctionType;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hardware Function Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.HardwareFunctionTypeImpl#getHardwareComponent <em>Hardware Component</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HardwareFunctionTypeImpl extends DesignFunctionTypeImpl implements HardwareFunctionType {
+ /**
+ * The cached value of the '{@link #getHardwareComponent() <em>Hardware Component</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHardwareComponent()
+ * @generated
+ * @ordered
+ */
+ protected HardwareComponentType hardwareComponent;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HardwareFunctionTypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HardwareComponentType basicGetHardwareComponent() {
+ return hardwareComponent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FunctionmodelingPackage.HARDWARE_FUNCTION_TYPE__HARDWARE_COMPONENT:
+ if (resolve) return getHardwareComponent();
+ return basicGetHardwareComponent();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FunctionmodelingPackage.HARDWARE_FUNCTION_TYPE__HARDWARE_COMPONENT:
+ return hardwareComponent != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case FunctionmodelingPackage.HARDWARE_FUNCTION_TYPE__HARDWARE_COMPONENT:
+ setHardwareComponent((HardwareComponentType)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FunctionmodelingPackage.Literals.HARDWARE_FUNCTION_TYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FunctionmodelingPackage.HARDWARE_FUNCTION_TYPE__HARDWARE_COMPONENT:
+ setHardwareComponent((HardwareComponentType)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HardwareComponentType getHardwareComponent() {
+ if (hardwareComponent != null && hardwareComponent.eIsProxy()) {
+ InternalEObject oldHardwareComponent = (InternalEObject)hardwareComponent;
+ hardwareComponent = (HardwareComponentType)eResolveProxy(oldHardwareComponent);
+ if (hardwareComponent != oldHardwareComponent) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, FunctionmodelingPackage.HARDWARE_FUNCTION_TYPE__HARDWARE_COMPONENT, oldHardwareComponent, hardwareComponent));
+ }
+ }
+ return hardwareComponent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHardwareComponent(HardwareComponentType newHardwareComponent) {
+ HardwareComponentType oldHardwareComponent = hardwareComponent;
+ hardwareComponent = newHardwareComponent;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FunctionmodelingPackage.HARDWARE_FUNCTION_TYPE__HARDWARE_COMPONENT, oldHardwareComponent, hardwareComponent));
+ }
+
+} //HardwareFunctionTypeImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/LocalDeviceManagerImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/LocalDeviceManagerImpl.java
new file mode 100644
index 00000000000..0db8b16b757
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/LocalDeviceManagerImpl.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.LocalDeviceManager;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Local Device Manager</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class LocalDeviceManagerImpl extends DesignFunctionTypeImpl implements LocalDeviceManager {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected LocalDeviceManagerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FunctionmodelingPackage.Literals.LOCAL_DEVICE_MANAGER;
+ }
+
+} // LocalDeviceManagerImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/OperationImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/OperationImpl.java
new file mode 100644
index 00000000000..9adb2cb084c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/OperationImpl.java
@@ -0,0 +1,237 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling.impl;
+
+import java.util.Iterator;
+
+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.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.BasicInternalEList;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatypePrototype;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.Operation;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Operation</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.OperationImpl#getBase_Operation <em>Base Operation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.OperationImpl#getArgument <em>Argument</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.OperationImpl#getReturn <em>Return</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class OperationImpl extends EAElementImpl implements Operation {
+
+ /**
+ * The cached value of the '{@link #getBase_Operation() <em>Base Operation</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Operation()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.uml2.uml.Operation base_Operation;
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected OperationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EADatatypePrototype basicGetReturn() {
+ EADatatypePrototype data = null;
+
+ if(getBase_Operation() != null) {
+ // Parse owned behaviors
+ Parameter param = getBase_Operation().getReturnResult();
+ if(param != null) {
+ // Test if parameter is stereotyped EADataPrototype
+ data = (EADatatypePrototype)UMLUtil.getStereotypeApplication(param, EADatatypePrototype.class);
+ }
+ }
+
+ return data;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FunctionmodelingPackage.OPERATION__BASE_OPERATION:
+ if (resolve) return getBase_Operation();
+ return basicGetBase_Operation();
+ case FunctionmodelingPackage.OPERATION__ARGUMENT:
+ return getArgument();
+ case FunctionmodelingPackage.OPERATION__RETURN:
+ if (resolve) return getReturn();
+ return basicGetReturn();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FunctionmodelingPackage.OPERATION__BASE_OPERATION:
+ return base_Operation != null;
+ case FunctionmodelingPackage.OPERATION__ARGUMENT:
+ return !getArgument().isEmpty();
+ case FunctionmodelingPackage.OPERATION__RETURN:
+ return basicGetReturn() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case FunctionmodelingPackage.OPERATION__BASE_OPERATION:
+ setBase_Operation((org.eclipse.uml2.uml.Operation)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FunctionmodelingPackage.Literals.OPERATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Operation getBase_Operation() {
+ if (base_Operation != null && base_Operation.eIsProxy()) {
+ InternalEObject oldBase_Operation = (InternalEObject)base_Operation;
+ base_Operation = (org.eclipse.uml2.uml.Operation)eResolveProxy(oldBase_Operation);
+ if (base_Operation != oldBase_Operation) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, FunctionmodelingPackage.OPERATION__BASE_OPERATION, oldBase_Operation, base_Operation));
+ }
+ }
+ return base_Operation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Operation basicGetBase_Operation() {
+ return base_Operation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Operation(org.eclipse.uml2.uml.Operation newBase_Operation) {
+ org.eclipse.uml2.uml.Operation oldBase_Operation = base_Operation;
+ base_Operation = newBase_Operation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FunctionmodelingPackage.OPERATION__BASE_OPERATION, oldBase_Operation, base_Operation));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FunctionmodelingPackage.OPERATION__BASE_OPERATION:
+ setBase_Operation((org.eclipse.uml2.uml.Operation)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<EADatatypePrototype> getArgument() {
+ EList<EADatatypePrototype> args = new BasicEList<EADatatypePrototype>();
+ EADatatypePrototype currentDataPrototype;
+
+ if(getBase_Operation() != null) {
+ // Parse parameters
+ Iterator<Parameter> itDep = getBase_Operation().getOwnedParameters().iterator();
+ while(itDep.hasNext()) {
+ Parameter currentParameter = itDep.next();
+
+ // Test if currentProperty is stereotyped ADLFunctionPrototype
+ currentDataPrototype = (EADatatypePrototype)UMLUtil.getStereotypeApplication(currentParameter,
+ EADatatypePrototype.class);
+
+ if(currentDataPrototype != null) {
+ args.add(currentDataPrototype);
+ }
+ }
+ }
+
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<EADatatypePrototype>(EADatatypePrototype.class, args.size(), args.toArray());
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EADatatypePrototype getReturn() {
+ EADatatypePrototype return_ = basicGetReturn();
+ return return_ != null && return_.eIsProxy() ? (EADatatypePrototype)eResolveProxy((InternalEObject)return_) : return_;
+ }
+
+} // OperationImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/PortGroupImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/PortGroupImpl.java
new file mode 100644
index 00000000000..6c8481da6ad
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/impl/PortGroupImpl.java
@@ -0,0 +1,315 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling.impl;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+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.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.BasicInternalEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.PortGroup;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Port Group</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.PortGroupImpl#getPort <em>Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.PortGroupImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.PortGroupImpl#getBase_Port <em>Base Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.PortGroupImpl#getPortGroup <em>Port Group</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PortGroupImpl extends EAElementImpl implements PortGroup {
+
+ /**
+ * 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 cached value of the '{@link #getBase_Port() <em>Base Port</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Port()
+ * @generated
+ * @ordered
+ */
+ protected Port base_Port;
+
+ /**
+ * The cached value of the '{@link #getPortGroup() <em>Port Group</em>}' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getPortGroup()
+ * @generated
+ * @ordered
+ */
+ protected EList<PortGroup> portGroup;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected PortGroupImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case FunctionmodelingPackage.PORT_GROUP__PORT:
+ return getPort();
+ case FunctionmodelingPackage.PORT_GROUP__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case FunctionmodelingPackage.PORT_GROUP__BASE_PORT:
+ if (resolve) return getBase_Port();
+ return basicGetBase_Port();
+ case FunctionmodelingPackage.PORT_GROUP__PORT_GROUP:
+ return getPortGroup();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case FunctionmodelingPackage.PORT_GROUP__PORT:
+ return !getPort().isEmpty();
+ case FunctionmodelingPackage.PORT_GROUP__BASE_CLASS:
+ return base_Class != null;
+ case FunctionmodelingPackage.PORT_GROUP__BASE_PORT:
+ return base_Port != null;
+ case FunctionmodelingPackage.PORT_GROUP__PORT_GROUP:
+ return portGroup != null && !portGroup.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case FunctionmodelingPackage.PORT_GROUP__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case FunctionmodelingPackage.PORT_GROUP__BASE_PORT:
+ setBase_Port((Port)newValue);
+ return;
+ case FunctionmodelingPackage.PORT_GROUP__PORT_GROUP:
+ getPortGroup().clear();
+ getPortGroup().addAll((Collection<? extends PortGroup>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return FunctionmodelingPackage.Literals.PORT_GROUP;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case FunctionmodelingPackage.PORT_GROUP__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case FunctionmodelingPackage.PORT_GROUP__BASE_PORT:
+ setBase_Port((Port)null);
+ return;
+ case FunctionmodelingPackage.PORT_GROUP__PORT_GROUP:
+ getPortGroup().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<FunctionPort> getPort() {
+
+ EList<FunctionPort> groupedPorts = new BasicEList<FunctionPort>();
+ FunctionPort currentFunctionPort;
+
+ if(getBase_Class() != null) {
+ // Parse owned Ports
+ Iterator<Port> itDep = getBase_Class().getOwnedPorts().iterator();
+ while(itDep.hasNext()) {
+ Port currentPort = itDep.next();
+
+ // Test if currentPort is stereotyped ADLFlowPort
+ currentFunctionPort = (FunctionPort)UMLUtil.getStereotypeApplication(currentPort,
+ FunctionPort.class);
+
+ if(currentFunctionPort != null) {
+ groupedPorts.add(currentFunctionPort);
+ }
+ }
+ } else if(getBase_Port() != null) {
+ // When the stereotype is applied on a Port, the port is expected
+ // to be type by a "ADLPortGroup" Class
+ // getGroupedPort returns the grouped ports of the ADLPortGroup type
+ Type type = getBase_Port().getType();
+ if(type instanceof Class) {
+
+ PortGroup currentPortGroupType = (PortGroup)UMLUtil.getStereotypeApplication(type,
+ PortGroup.class);
+
+ // The port type is stereotype ADLPortGroup
+ if(currentPortGroupType != null) {
+ groupedPorts.addAll(currentPortGroupType.getPort());
+ }
+ }
+ }
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<FunctionPort>(FunctionPort.class, groupedPorts.size(), groupedPorts.toArray());
+ }
+
+ /**
+ * <!-- 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, FunctionmodelingPackage.PORT_GROUP__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, FunctionmodelingPackage.PORT_GROUP__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Port getBase_Port() {
+ if (base_Port != null && base_Port.eIsProxy()) {
+ InternalEObject oldBase_Port = (InternalEObject)base_Port;
+ base_Port = (Port)eResolveProxy(oldBase_Port);
+ if (base_Port != oldBase_Port) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, FunctionmodelingPackage.PORT_GROUP__BASE_PORT, oldBase_Port, base_Port));
+ }
+ }
+ return base_Port;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Port basicGetBase_Port() {
+ return base_Port;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Port(Port newBase_Port) {
+ Port oldBase_Port = base_Port;
+ base_Port = newBase_Port;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FunctionmodelingPackage.PORT_GROUP__BASE_PORT, oldBase_Port, base_Port));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<PortGroup> getPortGroup() {
+ if (portGroup == null) {
+ portGroup = new EObjectResolvingEList<PortGroup>(PortGroup.class, this, FunctionmodelingPackage.PORT_GROUP__PORT_GROUP);
+ }
+ return portGroup;
+ }
+
+} // PortGroupImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/util/FunctionmodelingAdapterFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/util/FunctionmodelingAdapterFactory.java
new file mode 100644
index 00000000000..aa86990767b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/util/FunctionmodelingAdapterFactory.java
@@ -0,0 +1,579 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling.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.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.AllocateableElement;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.Allocation;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.AnalysisFunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.AnalysisFunctionType;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.BasicSoftwareFunctionType;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionType;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionAllocation;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerInterface;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionConnector;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionFlowPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPowerPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionalDevice;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.HardwareFunctionType;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.LocalDeviceManager;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.Operation;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.PortGroup;
+import org.eclipse.papyrus.sysml.blocks.Block;
+import org.eclipse.papyrus.sysml.portandflows.FlowPort;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage
+ * @generated
+ */
+public class FunctionmodelingAdapterFactory extends AdapterFactoryImpl {
+
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected static FunctionmodelingPackage modelPackage;
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ protected FunctionmodelingSwitch<Adapter> modelSwitch = new FunctionmodelingSwitch<Adapter>() {
+ @Override
+ public Adapter caseLocalDeviceManager(LocalDeviceManager object) {
+ return createLocalDeviceManagerAdapter();
+ }
+ @Override
+ public Adapter caseDesignFunctionType(DesignFunctionType object) {
+ return createDesignFunctionTypeAdapter();
+ }
+ @Override
+ public Adapter caseFunctionType(FunctionType object) {
+ return createFunctionTypeAdapter();
+ }
+ @Override
+ public Adapter caseFunctionPort(FunctionPort object) {
+ return createFunctionPortAdapter();
+ }
+ @Override
+ public Adapter casePortGroup(PortGroup object) {
+ return createPortGroupAdapter();
+ }
+ @Override
+ public Adapter caseFunctionConnector(FunctionConnector object) {
+ return createFunctionConnectorAdapter();
+ }
+ @Override
+ public Adapter caseAllocateableElement(AllocateableElement object) {
+ return createAllocateableElementAdapter();
+ }
+ @Override
+ public Adapter caseFunctionPrototype(FunctionPrototype object) {
+ return createFunctionPrototypeAdapter();
+ }
+ @Override
+ public Adapter caseDesignFunctionPrototype(DesignFunctionPrototype object) {
+ return createDesignFunctionPrototypeAdapter();
+ }
+ @Override
+ public Adapter caseFunctionalDevice(FunctionalDevice object) {
+ return createFunctionalDeviceAdapter();
+ }
+ @Override
+ public Adapter caseAnalysisFunctionType(AnalysisFunctionType object) {
+ return createAnalysisFunctionTypeAdapter();
+ }
+ @Override
+ public Adapter caseAnalysisFunctionPrototype(AnalysisFunctionPrototype object) {
+ return createAnalysisFunctionPrototypeAdapter();
+ }
+ @Override
+ public Adapter caseFunctionFlowPort(FunctionFlowPort object) {
+ return createFunctionFlowPortAdapter();
+ }
+ @Override
+ public Adapter caseFunctionClientServerPort(FunctionClientServerPort object) {
+ return createFunctionClientServerPortAdapter();
+ }
+ @Override
+ public Adapter caseFunctionClientServerInterface(FunctionClientServerInterface object) {
+ return createFunctionClientServerInterfaceAdapter();
+ }
+ @Override
+ public Adapter caseOperation(Operation object) {
+ return createOperationAdapter();
+ }
+ @Override
+ public Adapter caseBasicSoftwareFunctionType(BasicSoftwareFunctionType object) {
+ return createBasicSoftwareFunctionTypeAdapter();
+ }
+ @Override
+ public Adapter caseHardwareFunctionType(HardwareFunctionType object) {
+ return createHardwareFunctionTypeAdapter();
+ }
+ @Override
+ public Adapter caseFunctionAllocation(FunctionAllocation object) {
+ return createFunctionAllocationAdapter();
+ }
+ @Override
+ public Adapter caseAllocation(Allocation object) {
+ return createAllocationAdapter();
+ }
+ @Override
+ public Adapter caseFunctionPowerPort(FunctionPowerPort object) {
+ return createFunctionPowerPortAdapter();
+ }
+ @Override
+ public Adapter caseEAElement(EAElement object) {
+ return createEAElementAdapter();
+ }
+ @Override
+ public Adapter caseContext(Context object) {
+ return createContextAdapter();
+ }
+ @Override
+ public Adapter caseBlock(Block object) {
+ return createBlockAdapter();
+ }
+ @Override
+ public Adapter caseFlowPort(FlowPort object) {
+ return createFlowPortAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionmodelingAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = FunctionmodelingPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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.eclipse.papyrus.eastadl.structure.functionmodeling.AllocateableElement <em>Allocateable Element</em>}'.
+ * <!-- begin-user-doc --> This default implementation returns
+ * null so that we can easily ignore cases; 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.eastadl.structure.functionmodeling.AllocateableElement
+ * @generated
+ */
+ public Adapter createAllocateableElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.Allocation <em>Allocation</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.structure.functionmodeling.Allocation
+ * @generated
+ */
+ public Adapter createAllocationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.AnalysisFunctionPrototype <em>Analysis Function Prototype</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.structure.functionmodeling.AnalysisFunctionPrototype
+ * @generated
+ */
+ public Adapter createAnalysisFunctionPrototypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.AnalysisFunctionType <em>Analysis Function 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.eclipse.papyrus.eastadl.structure.functionmodeling.AnalysisFunctionType
+ * @generated
+ */
+ public Adapter createAnalysisFunctionTypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.BasicSoftwareFunctionType <em>Basic Software Function 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.eclipse.papyrus.eastadl.structure.functionmodeling.BasicSoftwareFunctionType
+ * @generated
+ */
+ public Adapter createBasicSoftwareFunctionTypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.blocks.Block <em>Block</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.sysml.blocks.Block
+ * @generated
+ */
+ public Adapter createBlockAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Context <em>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.eastadl.infrastructure.elements.Context
+ * @generated
+ */
+ public Adapter createContextAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionPrototype <em>Design Function Prototype</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.structure.functionmodeling.DesignFunctionPrototype
+ * @generated
+ */
+ public Adapter createDesignFunctionPrototypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionType <em>Design Function 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.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionType
+ * @generated
+ */
+ public Adapter createDesignFunctionTypeAdapter() {
+ 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;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link com.cea.papyrus.uml4sysml.sysml.portandflows.FlowPort <em>Flow Port</em>}'. <!--
+ * begin-user-doc --> This default implementation returns null so that we can easily ignore
+ * cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!--
+ * end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see com.cea.papyrus.uml4sysml.sysml.portandflows.FlowPort
+ * @generated
+ */
+ public Adapter createFlowPortAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionalDevice <em>Functional Device</em>}'.
+ * <!-- begin-user-doc --> This default implementation returns
+ * null so that we can easily ignore cases; 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.eastadl.structure.functionmodeling.FunctionalDevice
+ * @generated
+ */
+ public Adapter createFunctionalDeviceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionAllocation <em>Function Allocation</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.structure.functionmodeling.FunctionAllocation
+ * @generated
+ */
+ public Adapter createFunctionAllocationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerInterface <em>Function Client Server Interface</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.structure.functionmodeling.FunctionClientServerInterface
+ * @generated
+ */
+ public Adapter createFunctionClientServerInterfaceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerPort <em>Function Client Server Port</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.structure.functionmodeling.FunctionClientServerPort
+ * @generated
+ */
+ public Adapter createFunctionClientServerPortAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionConnector <em>Function Connector</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.structure.functionmodeling.FunctionConnector
+ * @generated
+ */
+ public Adapter createFunctionConnectorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionFlowPort <em>Function Flow Port</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.structure.functionmodeling.FunctionFlowPort
+ * @generated
+ */
+ public Adapter createFunctionFlowPortAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPort <em>Function Port</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.structure.functionmodeling.FunctionPort
+ * @generated
+ */
+ public Adapter createFunctionPortAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPowerPort <em>Function Power Port</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.structure.functionmodeling.FunctionPowerPort
+ * @generated
+ */
+ public Adapter createFunctionPowerPortAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement <em>EA Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAElement
+ * @generated
+ */
+ public Adapter createEAElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype <em>Function Prototype</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.structure.functionmodeling.FunctionPrototype
+ * @generated
+ */
+ public Adapter createFunctionPrototypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType <em>Function 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.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType
+ * @generated
+ */
+ public Adapter createFunctionTypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.HardwareFunctionType <em>Hardware Function 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.eclipse.papyrus.eastadl.structure.functionmodeling.HardwareFunctionType
+ * @generated
+ */
+ public Adapter createHardwareFunctionTypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.LocalDeviceManager <em>Local Device 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.eclipse.papyrus.eastadl.structure.functionmodeling.LocalDeviceManager
+ * @generated
+ */
+ public Adapter createLocalDeviceManagerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.Operation <em>Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.structure.functionmodeling.Operation
+ * @generated
+ */
+ public Adapter createOperationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.functionmodeling.PortGroup <em>Port Group</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.structure.functionmodeling.PortGroup
+ * @generated
+ */
+ public Adapter createPortGroupAdapter() {
+ return null;
+ }
+
+ /**
+ * 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;
+ }
+
+} // FunctionmodelingAdapterFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/util/FunctionmodelingResourceFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/util/FunctionmodelingResourceFactoryImpl.java
new file mode 100644
index 00000000000..7540147eaa9
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/util/FunctionmodelingResourceFactoryImpl.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling.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.eclipse.papyrus.eastadl.structure.functionmodeling.util.FunctionmodelingResourceImpl
+ * @generated
+ */
+public class FunctionmodelingResourceFactoryImpl extends ResourceFactoryImpl {
+
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionmodelingResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new FunctionmodelingResourceImpl(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;
+ }
+
+} // FunctionmodelingResourceFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/util/FunctionmodelingResourceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/util/FunctionmodelingResourceImpl.java
new file mode 100644
index 00000000000..2d69c8f3e77
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/util/FunctionmodelingResourceImpl.java
@@ -0,0 +1,38 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling.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.eclipse.papyrus.eastadl.structure.functionmodeling.util.FunctionmodelingResourceFactoryImpl
+ * @generated
+ */
+public class FunctionmodelingResourceImpl extends XMLResourceImpl {
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public FunctionmodelingResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} // FunctionmodelingResourceImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/util/FunctionmodelingSwitch.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/util/FunctionmodelingSwitch.java
new file mode 100644
index 00000000000..8a257e95a2f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/util/FunctionmodelingSwitch.java
@@ -0,0 +1,667 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.AllocateableElement;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.Allocation;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.AnalysisFunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.AnalysisFunctionType;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.BasicSoftwareFunctionType;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionType;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionAllocation;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerInterface;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionConnector;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionFlowPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPowerPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionalDevice;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.HardwareFunctionType;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.LocalDeviceManager;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.Operation;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.PortGroup;
+import org.eclipse.papyrus.sysml.blocks.Block;
+import org.eclipse.papyrus.sysml.portandflows.FlowPort;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage
+ * @generated
+ */
+public class FunctionmodelingSwitch<T> extends Switch<T> {
+
+ /**
+ * The cached model package
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected static FunctionmodelingPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionmodelingSwitch() {
+ if (modelPackage == null) {
+ modelPackage = FunctionmodelingPackage.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;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Allocateable Element</em>'.
+ * <!-- begin-user-doc --> This implementation returns null;
+ * returning a non-null result will terminate the switch. <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Allocateable Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAllocateableElement(AllocateableElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Allocation</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Allocation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAllocation(Allocation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Analysis Function Prototype</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate 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 Function Prototype</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAnalysisFunctionPrototype(AnalysisFunctionPrototype object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Analysis Function 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>Analysis Function Type</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAnalysisFunctionType(AnalysisFunctionType object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Basic Software Function 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>Basic Software Function Type</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBasicSoftwareFunctionType(BasicSoftwareFunctionType object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Block</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Block</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBlock(Block object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>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>Context</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseContext(Context object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Design Function Prototype</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Design Function Prototype</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDesignFunctionPrototype(DesignFunctionPrototype object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Design Function 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>Design Function Type</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDesignFunctionType(DesignFunctionType object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Flow Port</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will
+ * terminate the switch. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Flow Port</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFlowPort(FlowPort object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Functional Device</em>'.
+ * <!-- begin-user-doc --> This implementation returns null; returning a non-null result will
+ * terminate the switch. <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Functional Device</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFunctionalDevice(FunctionalDevice object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Function Allocation</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Function Allocation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFunctionAllocation(FunctionAllocation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Function Client Server Interface</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Function Client Server Interface</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFunctionClientServerInterface(FunctionClientServerInterface object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Function Client Server Port</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Function Client Server Port</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFunctionClientServerPort(FunctionClientServerPort object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Function Connector</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Function Connector</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFunctionConnector(FunctionConnector object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Function Flow Port</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Function Flow Port</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFunctionFlowPort(FunctionFlowPort object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Function Port</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Function Port</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFunctionPort(FunctionPort object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Function Power Port</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Function Power Port</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFunctionPowerPort(FunctionPowerPort object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAElement(EAElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Function Prototype</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Function Prototype</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFunctionPrototype(FunctionPrototype object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Function 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>Function Type</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFunctionType(FunctionType object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hardware Function 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>Hardware Function Type</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHardwareFunctionType(HardwareFunctionType object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Local Device 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>Local Device Manager</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLocalDeviceManager(LocalDeviceManager object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Operation</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate 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</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOperation(Operation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Port Group</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Port Group</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePortGroup(PortGroup 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;
+ }
+
+ /**
+ * 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 FunctionmodelingPackage.LOCAL_DEVICE_MANAGER: {
+ LocalDeviceManager localDeviceManager = (LocalDeviceManager)theEObject;
+ T result = caseLocalDeviceManager(localDeviceManager);
+ if (result == null) result = caseDesignFunctionType(localDeviceManager);
+ if (result == null) result = caseFunctionType(localDeviceManager);
+ if (result == null) result = caseContext(localDeviceManager);
+ if (result == null) result = caseBlock(localDeviceManager);
+ if (result == null) result = caseEAElement(localDeviceManager);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FunctionmodelingPackage.DESIGN_FUNCTION_TYPE: {
+ DesignFunctionType designFunctionType = (DesignFunctionType)theEObject;
+ T result = caseDesignFunctionType(designFunctionType);
+ if (result == null) result = caseFunctionType(designFunctionType);
+ if (result == null) result = caseContext(designFunctionType);
+ if (result == null) result = caseBlock(designFunctionType);
+ if (result == null) result = caseEAElement(designFunctionType);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FunctionmodelingPackage.FUNCTION_TYPE: {
+ FunctionType functionType = (FunctionType)theEObject;
+ T result = caseFunctionType(functionType);
+ if (result == null) result = caseContext(functionType);
+ if (result == null) result = caseBlock(functionType);
+ if (result == null) result = caseEAElement(functionType);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FunctionmodelingPackage.FUNCTION_PORT: {
+ FunctionPort functionPort = (FunctionPort)theEObject;
+ T result = caseFunctionPort(functionPort);
+ if (result == null) result = caseEAElement(functionPort);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FunctionmodelingPackage.PORT_GROUP: {
+ PortGroup portGroup = (PortGroup)theEObject;
+ T result = casePortGroup(portGroup);
+ if (result == null) result = caseEAElement(portGroup);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FunctionmodelingPackage.FUNCTION_CONNECTOR: {
+ FunctionConnector functionConnector = (FunctionConnector)theEObject;
+ T result = caseFunctionConnector(functionConnector);
+ if (result == null) result = caseEAElement(functionConnector);
+ if (result == null) result = caseAllocateableElement(functionConnector);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FunctionmodelingPackage.ALLOCATEABLE_ELEMENT: {
+ AllocateableElement allocateableElement = (AllocateableElement)theEObject;
+ T result = caseAllocateableElement(allocateableElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FunctionmodelingPackage.FUNCTION_PROTOTYPE: {
+ FunctionPrototype functionPrototype = (FunctionPrototype)theEObject;
+ T result = caseFunctionPrototype(functionPrototype);
+ if (result == null) result = caseEAElement(functionPrototype);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FunctionmodelingPackage.DESIGN_FUNCTION_PROTOTYPE: {
+ DesignFunctionPrototype designFunctionPrototype = (DesignFunctionPrototype)theEObject;
+ T result = caseDesignFunctionPrototype(designFunctionPrototype);
+ if (result == null) result = caseFunctionPrototype(designFunctionPrototype);
+ if (result == null) result = caseAllocateableElement(designFunctionPrototype);
+ if (result == null) result = caseEAElement(designFunctionPrototype);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FunctionmodelingPackage.FUNCTIONAL_DEVICE: {
+ FunctionalDevice functionalDevice = (FunctionalDevice)theEObject;
+ T result = caseFunctionalDevice(functionalDevice);
+ if (result == null) result = caseAnalysisFunctionType(functionalDevice);
+ if (result == null) result = caseFunctionType(functionalDevice);
+ if (result == null) result = caseContext(functionalDevice);
+ if (result == null) result = caseBlock(functionalDevice);
+ if (result == null) result = caseEAElement(functionalDevice);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FunctionmodelingPackage.ANALYSIS_FUNCTION_TYPE: {
+ AnalysisFunctionType analysisFunctionType = (AnalysisFunctionType)theEObject;
+ T result = caseAnalysisFunctionType(analysisFunctionType);
+ if (result == null) result = caseFunctionType(analysisFunctionType);
+ if (result == null) result = caseContext(analysisFunctionType);
+ if (result == null) result = caseBlock(analysisFunctionType);
+ if (result == null) result = caseEAElement(analysisFunctionType);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FunctionmodelingPackage.ANALYSIS_FUNCTION_PROTOTYPE: {
+ AnalysisFunctionPrototype analysisFunctionPrototype = (AnalysisFunctionPrototype)theEObject;
+ T result = caseAnalysisFunctionPrototype(analysisFunctionPrototype);
+ if (result == null) result = caseFunctionPrototype(analysisFunctionPrototype);
+ if (result == null) result = caseEAElement(analysisFunctionPrototype);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FunctionmodelingPackage.FUNCTION_FLOW_PORT: {
+ FunctionFlowPort functionFlowPort = (FunctionFlowPort)theEObject;
+ T result = caseFunctionFlowPort(functionFlowPort);
+ if (result == null) result = caseFlowPort(functionFlowPort);
+ if (result == null) result = caseFunctionPort(functionFlowPort);
+ if (result == null) result = caseEAElement(functionFlowPort);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FunctionmodelingPackage.FUNCTION_CLIENT_SERVER_PORT: {
+ FunctionClientServerPort functionClientServerPort = (FunctionClientServerPort)theEObject;
+ T result = caseFunctionClientServerPort(functionClientServerPort);
+ if (result == null) result = caseFunctionPort(functionClientServerPort);
+ if (result == null) result = caseEAElement(functionClientServerPort);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FunctionmodelingPackage.FUNCTION_CLIENT_SERVER_INTERFACE: {
+ FunctionClientServerInterface functionClientServerInterface = (FunctionClientServerInterface)theEObject;
+ T result = caseFunctionClientServerInterface(functionClientServerInterface);
+ if (result == null) result = caseEAElement(functionClientServerInterface);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FunctionmodelingPackage.OPERATION: {
+ Operation operation = (Operation)theEObject;
+ T result = caseOperation(operation);
+ if (result == null) result = caseEAElement(operation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FunctionmodelingPackage.BASIC_SOFTWARE_FUNCTION_TYPE: {
+ BasicSoftwareFunctionType basicSoftwareFunctionType = (BasicSoftwareFunctionType)theEObject;
+ T result = caseBasicSoftwareFunctionType(basicSoftwareFunctionType);
+ if (result == null) result = caseDesignFunctionType(basicSoftwareFunctionType);
+ if (result == null) result = caseFunctionType(basicSoftwareFunctionType);
+ if (result == null) result = caseContext(basicSoftwareFunctionType);
+ if (result == null) result = caseBlock(basicSoftwareFunctionType);
+ if (result == null) result = caseEAElement(basicSoftwareFunctionType);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FunctionmodelingPackage.HARDWARE_FUNCTION_TYPE: {
+ HardwareFunctionType hardwareFunctionType = (HardwareFunctionType)theEObject;
+ T result = caseHardwareFunctionType(hardwareFunctionType);
+ if (result == null) result = caseDesignFunctionType(hardwareFunctionType);
+ if (result == null) result = caseFunctionType(hardwareFunctionType);
+ if (result == null) result = caseContext(hardwareFunctionType);
+ if (result == null) result = caseBlock(hardwareFunctionType);
+ if (result == null) result = caseEAElement(hardwareFunctionType);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FunctionmodelingPackage.FUNCTION_ALLOCATION: {
+ FunctionAllocation functionAllocation = (FunctionAllocation)theEObject;
+ T result = caseFunctionAllocation(functionAllocation);
+ if (result == null) result = caseEAElement(functionAllocation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FunctionmodelingPackage.ALLOCATION: {
+ Allocation allocation = (Allocation)theEObject;
+ T result = caseAllocation(allocation);
+ if (result == null) result = caseEAElement(allocation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FunctionmodelingPackage.FUNCTION_POWER_PORT: {
+ FunctionPowerPort functionPowerPort = (FunctionPowerPort)theEObject;
+ T result = caseFunctionPowerPort(functionPowerPort);
+ if (result == null) result = caseFunctionPort(functionPowerPort);
+ if (result == null) result = caseEAElement(functionPowerPort);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+} // FunctionmodelingSwitch
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/util/FunctionmodelingXMLProcessor.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/util/FunctionmodelingXMLProcessor.java
new file mode 100644
index 00000000000..bce877380c2
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/functionmodeling/util/FunctionmodelingXMLProcessor.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.functionmodeling.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.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ */
+public class FunctionmodelingXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionmodelingXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ FunctionmodelingPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the FunctionmodelingResourceFactoryImpl 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 FunctionmodelingResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new FunctionmodelingResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} // FunctionmodelingXMLProcessor
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/Actuator.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/Actuator.java
new file mode 100644
index 00000000000..c8e8733e44f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/Actuator.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Actuator</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The Actuator is the element that represents electrical actuators, such as valves, motors, lamps, brake units, etc. Non-electrical actuators such as the engine, hydraulics, etc. are considered part of the plant model (environment). Plant models are not part of the Hardware Design Architecture.
+ *
+ * Semantics:
+ * The Actuator metaclass represents the physical and electrical aspects of actuator hardware. The logical aspect is represented by a HWFunctionType associated to the Actuator.
+ *
+ * Notation:
+ * Actuator is shown as a solid-outline rectangle with double vertical borders. The rectangle contains the name, and its ports or port groups on the perimeter.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getActuator()
+ * @model
+ * @generated
+ */
+public interface Actuator extends HardwareComponentType {
+} // Actuator
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/AllocationTarget.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/AllocationTarget.java
new file mode 100644
index 00000000000..93fa545f7f9
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/AllocationTarget.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling;
+
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Allocation Target</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The AllocationTarget is a superclass for elements to which AllocateableElements can be allocated.
+ *
+ * Semantics:
+ * An AllocationTarget is a resource element in the Hardware Design Architecture which may host functional behaviors in the Functional Design Architecture.
+ *
+ * Extension: abstract, no extension
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getAllocationTarget()
+ * @model abstract="true"
+ * @generated
+ */
+public interface AllocationTarget extends EAElement {
+} // AllocationTarget
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/CommunicationHardwarePin.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/CommunicationHardwarePin.java
new file mode 100644
index 00000000000..44906b6c5bc
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/CommunicationHardwarePin.java
@@ -0,0 +1,42 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Communication Hardware Pin</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * CommunicationHardwarePin represents an electrical connection point that can be used to define how the wire harness is logically defined.
+ *
+ * Semantics:
+ * The CommunicationHardwarePin represents the hardware connection point of a communication bus.
+ *
+ * Depending on modeling style, one or two pins may be defined for a dual-wire bus.
+ *
+ * Notation:
+ * CommunicationHardwarePin is shown as a solid square with a C inside. Its name may appear outside the square.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getCommunicationHardwarePin()
+ * @model
+ * @generated
+ */
+public interface CommunicationHardwarePin extends HardwarePin {
+} // CommunicationHardwarePin
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwareComponentPrototype.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwareComponentPrototype.java
new file mode 100644
index 00000000000..bbe6fa9f1c2
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwareComponentPrototype.java
@@ -0,0 +1,100 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling;
+
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hardware Component Prototype</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Appear as parts of a HardwareComponentType and is itself typed by a HardwareComponentType. This allows for a reference to the occurrence of a HardwareComponentType when it acts as a part. The purpose is to support the definition of hierarchical structures, and to reuse the same type of Hardware at several places. For example, a wheel speed sensor may occur at all four wheels, but it has a single definition.
+ *
+ * Semantics:
+ * The HardwareComponentPrototype represents an occurrence of a hardware element, according to the type of the HardwareComponentPrototype.
+ *
+ * Notation:
+ * Shall be shown in the same style as the class specified as type, however it shall be clear that this is a part.
+ *
+ * Extension: Property
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentPrototype#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentPrototype#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getHardwareComponentPrototype()
+ * @model
+ * @generated
+ */
+public interface HardwareComponentPrototype extends AllocationTarget {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation" required="true" ordered="false"
+ * @generated
+ */
+ Image getIcon();
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The type of the HWElement.
+ * {derived from UML::TypedElement::type}
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Type</em>' reference.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getHardwareComponentPrototype_Type()
+ * @model required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ HardwareComponentType getType();
+
+ /**
+ * 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.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getHardwareComponentPrototype_Base_Property()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Property getBase_Property();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentPrototype#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);
+
+} // HardwareComponentPrototype
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwareComponentType.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwareComponentType.java
new file mode 100644
index 00000000000..e7c4c919b76
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwareComponentType.java
@@ -0,0 +1,161 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hardware Component Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The HardwareComponentType represents hardware element on an abstract level, allowing preliminary engineering activities related to hardware.
+ *
+ * Semantics:
+ * The HardwareElementType is a structural entity that defines a part of an electrical architecture. Through its ports it can be connected to electrical sources and sinks. Its logical behavior, the transfer function, may be defined in an HWFunctionType referencing the HardwareElementType. This is typically connected through its ports to the environment model to participate in the end-to-end behavioral definition of a function.
+ *
+ *
+ * Extension:
+ * Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType#getConnector <em>Connector</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType#getPort <em>Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType#getPart <em>Part</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType#getBus <em>Bus</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType#getPortGroup <em>Port Group</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getHardwareComponentType()
+ * @model
+ * @generated
+ */
+public interface HardwareComponentType extends Context {
+ /**
+ * Returns the value of the '<em><b>Bus</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBus}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Bus</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Bus</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getHardwareComponentType_Bus()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<LogicalBus> getBus();
+
+ /**
+ * Returns the value of the '<em><b>Connector</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareConnector}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The HWConnectors.
+ * {derived from UML::StructuredClassifier::ownedConnector}
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Connector</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getHardwareComponentType_Connector()
+ * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<HardwareConnector> getConnector();
+
+ /**
+ * Returns the value of the '<em><b>Part</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentPrototype}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The HWElementPrototypes.
+ * {derived from UML::Classifier::attribute}
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Part</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getHardwareComponentType_Part()
+ * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<HardwareComponentPrototype> getPart();
+
+ /**
+ * 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.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getHardwareComponentType_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType#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>Port</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The Ports.
+ * {derived from UML::EncapsulatedClassifier::ownedPort}
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Port</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getHardwareComponentType_Port()
+ * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<HardwarePin> getPort();
+
+ /**
+ * Returns the value of the '<em><b>Port Group</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePinGroup}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Port Group</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Port Group</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getHardwareComponentType_PortGroup()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<HardwarePinGroup> getPortGroup();
+
+} // HardwareComponentType
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwareConnector.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwareConnector.java
new file mode 100644
index 00000000000..31d97484ea0
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwareConnector.java
@@ -0,0 +1,123 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.uml2.uml.Connector;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hardware Connector</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Hardware connectors represent wires that electrically connect the hardware components through its ports.
+ *
+ * Semantics:
+ * The connector joins the two referenced ports electrically, with a resistance defined by the resistance attribute.
+ *
+ * Extension:
+ * Connector
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareConnector#getBase_Connector <em>Base Connector</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareConnector#getPort <em>Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareConnector#getPort1_path <em>Port1 path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareConnector#getPort2_path <em>Port2 path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getHardwareConnector()
+ * @model
+ * @generated
+ */
+public interface HardwareConnector extends EAElement {
+ /**
+ * 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.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getHardwareConnector_Base_Connector()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Connector getBase_Connector();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareConnector#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>Port</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Port</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getHardwareConnector_Port()
+ * @model lower="2" upper="2" transient="true" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ EList<HardwarePin> getPort();
+
+ /**
+ * Returns the value of the '<em><b>Port1 path</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentPrototype}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Port1 path</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>Port1 path</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getHardwareConnector_Port1_path()
+ * @model
+ * @generated
+ */
+ EList<HardwareComponentPrototype> getPort1_path();
+
+ /**
+ * Returns the value of the '<em><b>Port2 path</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentPrototype}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Port2 path</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>Port2 path</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getHardwareConnector_Port2_path()
+ * @model
+ * @generated
+ */
+ EList<HardwareComponentPrototype> getPort2_path();
+
+} // HardwareConnector
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwarePin.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwarePin.java
new file mode 100644
index 00000000000..041a0822f29
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwarePin.java
@@ -0,0 +1,214 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling;
+
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.EADirectionKind;
+import org.eclipse.uml2.uml.Port;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hardware Pin</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * HardwarePin represents electrical connection points in the hardware architecture. Depending on modeling style, the actual wire or a logical connection can be considered.
+ *
+ * Semantics
+ * Hardware pin represents an electrical connection point.
+ *
+ * Extension:
+ * Port
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin#getBase_Port <em>Base Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin#isIsGround <em>Is Ground</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin#getVoltage <em>Voltage</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin#getDirection <em>Direction</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin#getImpedance <em>Impedance</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin#getPower <em>Power</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getHardwarePin()
+ * @model abstract="true"
+ * @generated
+ */
+public interface HardwarePin extends EAElement {
+ /**
+ * Returns the value of the '<em><b>Base Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base 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>Base Port</em>' reference.
+ * @see #setBase_Port(Port)
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getHardwarePin_Base_Port()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Port getBase_Port();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin#getBase_Port <em>Base Port</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Port</em>' reference.
+ * @see #getBase_Port()
+ * @generated
+ */
+ void setBase_Port(Port value);
+
+ /**
+ * Returns the value of the '<em><b>Direction</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.EADirectionKind}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The direction of current through the pin.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Direction</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.EADirectionKind
+ * @see #setDirection(EADirectionKind)
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getHardwarePin_Direction()
+ * @model unique="false" required="true" ordered="false"
+ * @generated
+ */
+ EADirectionKind getDirection();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin#getDirection <em>Direction</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Direction</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.functionmodeling.EADirectionKind
+ * @see #getDirection()
+ * @generated
+ */
+ void setDirection(EADirectionKind value);
+
+ /**
+ * Returns the value of the '<em><b>Impedance</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The internal impedance in Ohms to ground of the component as seen through this pin.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Impedance</em>' attribute.
+ * @see #setImpedance(Float)
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getHardwarePin_Impedance()
+ * @model unique="false" dataType="org.eclipse.papyrus.eastadl.infrastructure.datatypes.javalangFloat" ordered="false"
+ * @generated
+ */
+ Float getImpedance();
+
+ /**
+ * Returns the value of the '<em><b>Power</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The maximal power in watts that can be provided by this pin or that is consumed.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Power</em>' attribute.
+ * @see #setPower(Float)
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getHardwarePin_Power()
+ * @model unique="false" dataType="org.eclipse.papyrus.eastadl.infrastructure.datatypes.javalangFloat" ordered="false"
+ * @generated
+ */
+ Float getPower();
+
+ /**
+ * Returns the value of the '<em><b>Voltage</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Voltage</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The maximal voltage in Volts provided by the pin. Shall not be defined if isGround=TRUE.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Voltage</em>' attribute.
+ * @see #setVoltage(Float)
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getHardwarePin_Voltage()
+ * @model unique="false" dataType="org.eclipse.papyrus.eastadl.infrastructure.datatypes.javalangFloat" ordered="false"
+ * @generated
+ */
+ Float getVoltage();
+
+ /**
+ * Returns the value of the '<em><b>Is Ground</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Indicates that the pin is connected to ground.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Is Ground</em>' attribute.
+ * @see #setIsGround(boolean)
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getHardwarePin_IsGround()
+ * @model unique="false" dataType="org.eclipse.uml2.types.Boolean" ordered="false"
+ * @generated
+ */
+ boolean isIsGround();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin#getImpedance <em>Impedance</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Impedance</em>' attribute.
+ * @see #getImpedance()
+ * @generated
+ */
+ void setImpedance(Float value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin#isIsGround <em>Is Ground</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Ground</em>' attribute.
+ * @see #isIsGround()
+ * @generated
+ */
+ void setIsGround(boolean value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin#getPower <em>Power</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Power</em>' attribute.
+ * @see #getPower()
+ * @generated
+ */
+ void setPower(Float value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin#getVoltage <em>Voltage</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Voltage</em>' attribute.
+ * @see #getVoltage()
+ * @generated
+ */
+ void setVoltage(Float value);
+
+} // HardwarePin
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwarePinDirectionKind.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwarePinDirectionKind.java
new file mode 100644
index 00000000000..1eece043c51
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwarePinDirectionKind.java
@@ -0,0 +1,257 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling;
+
+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>Hardware Pin Direction Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * This element is an enumeration for the direction of the HardwarePin, which can either be "in", "out", or "inout".
+ *
+ * Semantics:
+ * The HardwarePinDirectionKind is an enumeration with the three literals "in", "out", and "inout".
+ *
+ * Extension:
+ * Enumeration, no extension.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getHardwarePinDirectionKind()
+ * @model
+ * @generated
+ */
+public enum HardwarePinDirectionKind implements Enumerator {
+ /**
+ * The '<em><b>In</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #IN_VALUE
+ * @generated
+ * @ordered
+ */
+ IN(0, "in", "in"),
+
+ /**
+ * The '<em><b>Inout</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #INOUT_VALUE
+ * @generated
+ * @ordered
+ */
+ INOUT(1, "inout", "inout"),
+
+ /**
+ * The '<em><b>Out</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #OUT_VALUE
+ * @generated
+ * @ordered
+ */
+ OUT(2, "out", "out");
+
+ /**
+ * The '<em><b>In</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>In</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #IN
+ * @model name="in"
+ * @generated
+ * @ordered
+ */
+ public static final int IN_VALUE = 0;
+
+ /**
+ * The '<em><b>Inout</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Inout</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #INOUT
+ * @model name="inout"
+ * @generated
+ * @ordered
+ */
+ public static final int INOUT_VALUE = 1;
+
+ /**
+ * The '<em><b>Out</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Out</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #OUT
+ * @model name="out"
+ * @generated
+ * @ordered
+ */
+ public static final int OUT_VALUE = 2;
+
+ /**
+ * An array of all the '<em><b>Hardware Pin Direction Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final HardwarePinDirectionKind[] VALUES_ARRAY =
+ new HardwarePinDirectionKind[] {
+ IN,
+ INOUT,
+ OUT,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Hardware Pin Direction Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<HardwarePinDirectionKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Hardware Pin Direction Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static HardwarePinDirectionKind get(int value) {
+ switch (value) {
+ case IN_VALUE: return IN;
+ case INOUT_VALUE: return INOUT;
+ case OUT_VALUE: return OUT;
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Hardware Pin Direction Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static HardwarePinDirectionKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ HardwarePinDirectionKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Hardware Pin Direction Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static HardwarePinDirectionKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ HardwarePinDirectionKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ 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 HardwarePinDirectionKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * 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;
+ }
+
+} //HardwarePinDirectionKind
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwarePinGroup.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwarePinGroup.java
new file mode 100644
index 00000000000..0e6ae3c952c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwarePinGroup.java
@@ -0,0 +1,137 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.uml2.uml.Port;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hardware Pin Group</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The HardwarePinGroup provides means to organize hardware pins to improve readability of the component interface and connectors between components. Tools may show the set of ports in the pin group as a single pin, join connectors that go between pins in pin groups to a single line.
+ *
+ * Semantics:
+ * A HardwarePinGroup has no semantics, but is only a grouping mechanism that may affect visualization and port operations in tools.
+ *
+ * Extension:
+ * Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePinGroup#getBase_Port <em>Base Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePinGroup#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePinGroup#getPortGroup <em>Port Group</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePinGroup#getPort <em>Port</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getHardwarePinGroup()
+ * @model
+ * @generated
+ */
+public interface HardwarePinGroup extends EAElement {
+ /**
+ * Returns the value of the '<em><b>Base Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base 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>Base Port</em>' reference.
+ * @see #setBase_Port(Port)
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getHardwarePinGroup_Base_Port()
+ * @model ordered="false"
+ * @generated
+ */
+ Port getBase_Port();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePinGroup#getBase_Port <em>Base Port</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Port</em>' reference.
+ * @see #getBase_Port()
+ * @generated
+ */
+ void setBase_Port(Port 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.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getHardwarePinGroup_Base_Class()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePinGroup#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>Port</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Port</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getHardwarePinGroup_Port()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<HardwarePin> getPort();
+
+ /**
+ * Returns the value of the '<em><b>Port Group</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePinGroup}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Port Group</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Port Group</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getHardwarePinGroup_PortGroup()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<HardwarePinGroup> getPortGroup();
+
+} // HardwarePinGroup
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwaremodelingFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwaremodelingFactory.java
new file mode 100644
index 00000000000..6b1b78dca45
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwaremodelingFactory.java
@@ -0,0 +1,154 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling;
+
+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.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage
+ * @generated
+ */
+public interface HardwaremodelingFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ HardwaremodelingFactory eINSTANCE = org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Actuator</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Actuator</em>'.
+ * @generated
+ */
+ Actuator createActuator();
+
+ /**
+ * Returns a new object of class '<em>Communication Hardware Pin</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Communication Hardware Pin</em>'.
+ * @generated
+ */
+ CommunicationHardwarePin createCommunicationHardwarePin();
+
+ /**
+ * Returns a new object of class '<em>Hardware Component Prototype</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hardware Component Prototype</em>'.
+ * @generated
+ */
+ HardwareComponentPrototype createHardwareComponentPrototype();
+
+ /**
+ * Returns a new object of class '<em>IO Hardware Pin</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>IO Hardware Pin</em>'.
+ * @generated
+ */
+ IOHardwarePin createIOHardwarePin();
+
+ /**
+ * Returns a new object of class '<em>Hardware Component Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hardware Component Type</em>'.
+ * @generated
+ */
+ HardwareComponentType createHardwareComponentType();
+
+ /**
+ * Returns a new object of class '<em>Hardware Connector</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hardware Connector</em>'.
+ * @generated
+ */
+ HardwareConnector createHardwareConnector();
+
+ /**
+ * Returns a new object of class '<em>Hardware Pin Group</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hardware Pin Group</em>'.
+ * @generated
+ */
+ HardwarePinGroup createHardwarePinGroup();
+
+ /**
+ * Returns a new object of class '<em>Logical Bus</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Logical Bus</em>'.
+ * @generated
+ */
+ LogicalBus createLogicalBus();
+
+ /**
+ * Returns a new object of class '<em>Node</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Node</em>'.
+ * @generated
+ */
+ Node createNode();
+
+ /**
+ * Returns a new object of class '<em>Power Hardware Pin</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Power Hardware Pin</em>'.
+ * @generated
+ */
+ PowerHardwarePin createPowerHardwarePin();
+
+ /**
+ * Returns a new object of class '<em>Power Supply</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Power Supply</em>'.
+ * @generated
+ */
+ PowerSupply createPowerSupply();
+
+ /**
+ * Returns a new object of class '<em>Sensor</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Sensor</em>'.
+ * @generated
+ */
+ Sensor createSensor();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ HardwaremodelingPackage getHardwaremodelingPackage();
+
+} //HardwaremodelingFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwaremodelingPackage.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwaremodelingPackage.java
new file mode 100644
index 00000000000..1e30cb8e312
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/HardwaremodelingPackage.java
@@ -0,0 +1,2453 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling;
+
+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.eastadl.infrastructure.elements.ElementsPackage;
+
+
+/**
+ * <!-- 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 -->
+ * <!-- begin-model-doc -->
+ * The package HardwareModeling contains the elements to model physical entities of the embedded EE system. These elements allow capturing the hardware in sufficient detail to allow preliminary allocation decisions.
+ *
+ * The allocation decisions are based on requirements on timing, storage, data throughput, processing power, etc. that are defined in the Functional Analysis Architecture and the Functional Design Architecture.
+ *
+ * Conversely, the Functional Analysis Architecture and the Functional Design Architecture may be revised based on analysis using information from the Hardware Design Architecture. An example is control law design, where algorithms may be modified for expected computational and communication delays. Thus, the Hardware Design Architecture contains information about properties in order to support, e.g., timing analysis and performance in these respects.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface HardwaremodelingPackage extends EPackage {
+ /**
+ * <!-- 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.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwareComponentTypeImpl <em>Hardware Component Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwareComponentTypeImpl
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getHardwareComponentType()
+ * @generated
+ */
+ EClass HARDWARE_COMPONENT_TYPE = eINSTANCE.getHardwareComponentType();
+
+ /**
+ * The meta object literal for the '<em><b>Connector</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HARDWARE_COMPONENT_TYPE__CONNECTOR = eINSTANCE.getHardwareComponentType_Connector();
+
+ /**
+ * The meta object literal for the '<em><b>Port</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HARDWARE_COMPONENT_TYPE__PORT = eINSTANCE.getHardwareComponentType_Port();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HARDWARE_COMPONENT_TYPE__BASE_CLASS = eINSTANCE.getHardwareComponentType_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Part</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HARDWARE_COMPONENT_TYPE__PART = eINSTANCE.getHardwareComponentType_Part();
+
+ /**
+ * The meta object literal for the '<em><b>Bus</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HARDWARE_COMPONENT_TYPE__BUS = eINSTANCE.getHardwareComponentType_Bus();
+
+ /**
+ * The meta object literal for the '<em><b>Port Group</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HARDWARE_COMPONENT_TYPE__PORT_GROUP = eINSTANCE.getHardwareComponentType_PortGroup();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.IOHardwarePinKind <em>IO Hardware Pin Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.IOHardwarePinKind
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getIOHardwarePinKind()
+ * @generated
+ */
+ EEnum IO_HARDWARE_PIN_KIND = eINSTANCE.getIOHardwarePinKind();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBusKind <em>Logical Bus Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBusKind
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getLogicalBusKind()
+ * @generated
+ */
+ EEnum LOGICAL_BUS_KIND = eINSTANCE.getLogicalBusKind();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwareConnectorImpl <em>Hardware Connector</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwareConnectorImpl
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getHardwareConnector()
+ * @generated
+ */
+ EClass HARDWARE_CONNECTOR = eINSTANCE.getHardwareConnector();
+
+ /**
+ * The meta object literal for the '<em><b>Base Connector</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HARDWARE_CONNECTOR__BASE_CONNECTOR = eINSTANCE.getHardwareConnector_Base_Connector();
+
+ /**
+ * The meta object literal for the '<em><b>Port</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HARDWARE_CONNECTOR__PORT = eINSTANCE.getHardwareConnector_Port();
+
+ /**
+ * The meta object literal for the '<em><b>Port1 path</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HARDWARE_CONNECTOR__PORT1_PATH = eINSTANCE.getHardwareConnector_Port1_path();
+
+ /**
+ * The meta object literal for the '<em><b>Port2 path</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HARDWARE_CONNECTOR__PORT2_PATH = eINSTANCE.getHardwareConnector_Port2_path();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwarePinImpl <em>Hardware Pin</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwarePinImpl
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getHardwarePin()
+ * @generated
+ */
+ EClass HARDWARE_PIN = eINSTANCE.getHardwarePin();
+
+ /**
+ * The meta object literal for the '<em><b>Base Port</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HARDWARE_PIN__BASE_PORT = eINSTANCE.getHardwarePin_Base_Port();
+
+ /**
+ * The meta object literal for the '<em><b>Is Ground</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HARDWARE_PIN__IS_GROUND = eINSTANCE.getHardwarePin_IsGround();
+
+ /**
+ * The meta object literal for the '<em><b>Voltage</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HARDWARE_PIN__VOLTAGE = eINSTANCE.getHardwarePin_Voltage();
+
+ /**
+ * The meta object literal for the '<em><b>Direction</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HARDWARE_PIN__DIRECTION = eINSTANCE.getHardwarePin_Direction();
+
+ /**
+ * The meta object literal for the '<em><b>Impedance</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HARDWARE_PIN__IMPEDANCE = eINSTANCE.getHardwarePin_Impedance();
+
+ /**
+ * The meta object literal for the '<em><b>Power</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HARDWARE_PIN__POWER = eINSTANCE.getHardwarePin_Power();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwareComponentPrototypeImpl <em>Hardware Component Prototype</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwareComponentPrototypeImpl
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getHardwareComponentPrototype()
+ * @generated
+ */
+ EClass HARDWARE_COMPONENT_PROTOTYPE = eINSTANCE.getHardwareComponentPrototype();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HARDWARE_COMPONENT_PROTOTYPE__TYPE = eINSTANCE.getHardwareComponentPrototype_Type();
+
+ /**
+ * The meta object literal for the '<em><b>Base Property</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HARDWARE_COMPONENT_PROTOTYPE__BASE_PROPERTY = eINSTANCE.getHardwareComponentPrototype_Base_Property();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.AllocationTargetImpl <em>Allocation Target</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.AllocationTargetImpl
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getAllocationTarget()
+ * @generated
+ */
+ EClass ALLOCATION_TARGET = eINSTANCE.getAllocationTarget();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.LogicalBusImpl <em>Logical Bus</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.LogicalBusImpl
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getLogicalBus()
+ * @generated
+ */
+ EClass LOGICAL_BUS = eINSTANCE.getLogicalBus();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LOGICAL_BUS__BASE_CLASS = eINSTANCE.getLogicalBus_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Bus Speed</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LOGICAL_BUS__BUS_SPEED = eINSTANCE.getLogicalBus_BusSpeed();
+
+ /**
+ * The meta object literal for the '<em><b>Bus Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LOGICAL_BUS__BUS_TYPE = eINSTANCE.getLogicalBus_BusType();
+
+ /**
+ * The meta object literal for the '<em><b>Wire</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LOGICAL_BUS__WIRE = eINSTANCE.getLogicalBus_Wire();
+
+ /**
+ * The meta object literal for the '<em><b>Wire path</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LOGICAL_BUS__WIRE_PATH = eINSTANCE.getLogicalBus_Wire_path();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwarePinGroupImpl <em>Hardware Pin Group</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwarePinGroupImpl
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getHardwarePinGroup()
+ * @generated
+ */
+ EClass HARDWARE_PIN_GROUP = eINSTANCE.getHardwarePinGroup();
+
+ /**
+ * The meta object literal for the '<em><b>Base Port</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HARDWARE_PIN_GROUP__BASE_PORT = eINSTANCE.getHardwarePinGroup_Base_Port();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HARDWARE_PIN_GROUP__BASE_CLASS = eINSTANCE.getHardwarePinGroup_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Port Group</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HARDWARE_PIN_GROUP__PORT_GROUP = eINSTANCE.getHardwarePinGroup_PortGroup();
+
+ /**
+ * The meta object literal for the '<em><b>Port</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HARDWARE_PIN_GROUP__PORT = eINSTANCE.getHardwarePinGroup_Port();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.PowerHardwarePinImpl <em>Power Hardware Pin</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.PowerHardwarePinImpl
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getPowerHardwarePin()
+ * @generated
+ */
+ EClass POWER_HARDWARE_PIN = eINSTANCE.getPowerHardwarePin();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.IOHardwarePinImpl <em>IO Hardware Pin</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.IOHardwarePinImpl
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getIOHardwarePin()
+ * @generated
+ */
+ EClass IO_HARDWARE_PIN = eINSTANCE.getIOHardwarePin();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IO_HARDWARE_PIN__TYPE = eINSTANCE.getIOHardwarePin_Type();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.CommunicationHardwarePinImpl <em>Communication Hardware Pin</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.CommunicationHardwarePinImpl
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getCommunicationHardwarePin()
+ * @generated
+ */
+ EClass COMMUNICATION_HARDWARE_PIN = eINSTANCE.getCommunicationHardwarePin();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.NodeImpl <em>Node</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.NodeImpl
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getNode()
+ * @generated
+ */
+ EClass NODE = eINSTANCE.getNode();
+
+ /**
+ * The meta object literal for the '<em><b>Execution Rate</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NODE__EXECUTION_RATE = eINSTANCE.getNode_ExecutionRate();
+
+ /**
+ * The meta object literal for the '<em><b>Non Volatile Memory</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NODE__NON_VOLATILE_MEMORY = eINSTANCE.getNode_NonVolatileMemory();
+
+ /**
+ * The meta object literal for the '<em><b>Volatile Memory</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NODE__VOLATILE_MEMORY = eINSTANCE.getNode_VolatileMemory();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.PowerSupplyImpl <em>Power Supply</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.PowerSupplyImpl
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getPowerSupply()
+ * @generated
+ */
+ EClass POWER_SUPPLY = eINSTANCE.getPowerSupply();
+
+ /**
+ * The meta object literal for the '<em><b>Is Active</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute POWER_SUPPLY__IS_ACTIVE = eINSTANCE.getPowerSupply_IsActive();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.SensorImpl <em>Sensor</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.SensorImpl
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getSensor()
+ * @generated
+ */
+ EClass SENSOR = eINSTANCE.getSensor();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.ActuatorImpl <em>Actuator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.ActuatorImpl
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getActuator()
+ * @generated
+ */
+ EClass ACTUATOR = eINSTANCE.getActuator();
+
+ }
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "hardwaremodeling";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.papyrusuml.org/EAST-ADL2/Structure/HardwareModeling/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "HardwareModeling";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ HardwaremodelingPackage eINSTANCE = org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwareComponentTypeImpl <em>Hardware Component Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwareComponentTypeImpl
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getHardwareComponentType()
+ * @generated
+ */
+ int HARDWARE_COMPONENT_TYPE = 13;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwareConnectorImpl <em>Hardware Connector</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwareConnectorImpl
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getHardwareConnector()
+ * @generated
+ */
+ int HARDWARE_CONNECTOR = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_CONNECTOR__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_CONNECTOR__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_CONNECTOR__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Connector</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_CONNECTOR__BASE_CONNECTOR = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Port</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_CONNECTOR__PORT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Port1 path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_CONNECTOR__PORT1_PATH = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Port2 path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_CONNECTOR__PORT2_PATH = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Hardware Connector</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_CONNECTOR_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwarePinImpl <em>Hardware Pin</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwarePinImpl
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getHardwarePin()
+ * @generated
+ */
+ int HARDWARE_PIN = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwareComponentPrototypeImpl <em>Hardware Component Prototype</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwareComponentPrototypeImpl
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getHardwareComponentPrototype()
+ * @generated
+ */
+ int HARDWARE_COMPONENT_PROTOTYPE = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.AllocationTargetImpl <em>Allocation Target</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.AllocationTargetImpl
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getAllocationTarget()
+ * @generated
+ */
+ int ALLOCATION_TARGET = 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_PIN__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_PIN__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_PIN__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_PIN__BASE_PORT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Is Ground</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_PIN__IS_GROUND = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Voltage</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_PIN__VOLTAGE = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Direction</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_PIN__DIRECTION = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Impedance</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_PIN__IMPEDANCE = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Power</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_PIN__POWER = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Hardware Pin</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_PIN_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.PowerHardwarePinImpl <em>Power Hardware Pin</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.PowerHardwarePinImpl
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getPowerHardwarePin()
+ * @generated
+ */
+ int POWER_HARDWARE_PIN = 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.IOHardwarePinImpl <em>IO Hardware Pin</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.IOHardwarePinImpl
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getIOHardwarePin()
+ * @generated
+ */
+ int IO_HARDWARE_PIN = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.CommunicationHardwarePinImpl <em>Communication Hardware Pin</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.CommunicationHardwarePinImpl
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getCommunicationHardwarePin()
+ * @generated
+ */
+ int COMMUNICATION_HARDWARE_PIN = 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.NodeImpl <em>Node</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.NodeImpl
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getNode()
+ * @generated
+ */
+ int NODE = 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.PowerSupplyImpl <em>Power Supply</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.PowerSupplyImpl
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getPowerSupply()
+ * @generated
+ */
+ int POWER_SUPPLY = 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.SensorImpl <em>Sensor</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.SensorImpl
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getSensor()
+ * @generated
+ */
+ int SENSOR = 9;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.ActuatorImpl <em>Actuator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.ActuatorImpl
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getActuator()
+ * @generated
+ */
+ int ACTUATOR = 10;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALLOCATION_TARGET__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALLOCATION_TARGET__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALLOCATION_TARGET__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The number of structural features of the '<em>Allocation Target</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALLOCATION_TARGET_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_COMPONENT_PROTOTYPE__NAME = ALLOCATION_TARGET__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_COMPONENT_PROTOTYPE__BASE_NAMED_ELEMENT = ALLOCATION_TARGET__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_COMPONENT_PROTOTYPE__OWNED_COMMENT = ALLOCATION_TARGET__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_COMPONENT_PROTOTYPE__TYPE = ALLOCATION_TARGET_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_COMPONENT_PROTOTYPE__BASE_PROPERTY = ALLOCATION_TARGET_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Hardware Component Prototype</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_COMPONENT_PROTOTYPE_FEATURE_COUNT = ALLOCATION_TARGET_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IO_HARDWARE_PIN__NAME = HARDWARE_PIN__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IO_HARDWARE_PIN__BASE_NAMED_ELEMENT = HARDWARE_PIN__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IO_HARDWARE_PIN__OWNED_COMMENT = HARDWARE_PIN__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IO_HARDWARE_PIN__BASE_PORT = HARDWARE_PIN__BASE_PORT;
+
+ /**
+ * The feature id for the '<em><b>Is Ground</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IO_HARDWARE_PIN__IS_GROUND = HARDWARE_PIN__IS_GROUND;
+
+ /**
+ * The feature id for the '<em><b>Voltage</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IO_HARDWARE_PIN__VOLTAGE = HARDWARE_PIN__VOLTAGE;
+
+ /**
+ * The feature id for the '<em><b>Direction</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IO_HARDWARE_PIN__DIRECTION = HARDWARE_PIN__DIRECTION;
+
+ /**
+ * The feature id for the '<em><b>Impedance</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IO_HARDWARE_PIN__IMPEDANCE = HARDWARE_PIN__IMPEDANCE;
+
+ /**
+ * The feature id for the '<em><b>Power</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IO_HARDWARE_PIN__POWER = HARDWARE_PIN__POWER;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IO_HARDWARE_PIN__TYPE = HARDWARE_PIN_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>IO Hardware Pin</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IO_HARDWARE_PIN_FEATURE_COUNT = HARDWARE_PIN_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POWER_HARDWARE_PIN__NAME = HARDWARE_PIN__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POWER_HARDWARE_PIN__BASE_NAMED_ELEMENT = HARDWARE_PIN__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POWER_HARDWARE_PIN__OWNED_COMMENT = HARDWARE_PIN__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POWER_HARDWARE_PIN__BASE_PORT = HARDWARE_PIN__BASE_PORT;
+
+ /**
+ * The feature id for the '<em><b>Is Ground</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POWER_HARDWARE_PIN__IS_GROUND = HARDWARE_PIN__IS_GROUND;
+
+ /**
+ * The feature id for the '<em><b>Voltage</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POWER_HARDWARE_PIN__VOLTAGE = HARDWARE_PIN__VOLTAGE;
+
+ /**
+ * The feature id for the '<em><b>Direction</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POWER_HARDWARE_PIN__DIRECTION = HARDWARE_PIN__DIRECTION;
+
+ /**
+ * The feature id for the '<em><b>Impedance</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POWER_HARDWARE_PIN__IMPEDANCE = HARDWARE_PIN__IMPEDANCE;
+
+ /**
+ * The feature id for the '<em><b>Power</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POWER_HARDWARE_PIN__POWER = HARDWARE_PIN__POWER;
+
+ /**
+ * The number of structural features of the '<em>Power Hardware Pin</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POWER_HARDWARE_PIN_FEATURE_COUNT = HARDWARE_PIN_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMMUNICATION_HARDWARE_PIN__NAME = HARDWARE_PIN__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMMUNICATION_HARDWARE_PIN__BASE_NAMED_ELEMENT = HARDWARE_PIN__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMMUNICATION_HARDWARE_PIN__OWNED_COMMENT = HARDWARE_PIN__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMMUNICATION_HARDWARE_PIN__BASE_PORT = HARDWARE_PIN__BASE_PORT;
+
+ /**
+ * The feature id for the '<em><b>Is Ground</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMMUNICATION_HARDWARE_PIN__IS_GROUND = HARDWARE_PIN__IS_GROUND;
+
+ /**
+ * The feature id for the '<em><b>Voltage</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMMUNICATION_HARDWARE_PIN__VOLTAGE = HARDWARE_PIN__VOLTAGE;
+
+ /**
+ * The feature id for the '<em><b>Direction</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMMUNICATION_HARDWARE_PIN__DIRECTION = HARDWARE_PIN__DIRECTION;
+
+ /**
+ * The feature id for the '<em><b>Impedance</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMMUNICATION_HARDWARE_PIN__IMPEDANCE = HARDWARE_PIN__IMPEDANCE;
+
+ /**
+ * The feature id for the '<em><b>Power</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMMUNICATION_HARDWARE_PIN__POWER = HARDWARE_PIN__POWER;
+
+ /**
+ * The number of structural features of the '<em>Communication Hardware Pin</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMMUNICATION_HARDWARE_PIN_FEATURE_COUNT = HARDWARE_PIN_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_COMPONENT_TYPE__NAME = ElementsPackage.CONTEXT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_COMPONENT_TYPE__BASE_NAMED_ELEMENT = ElementsPackage.CONTEXT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_COMPONENT_TYPE__OWNED_COMMENT = ElementsPackage.CONTEXT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_COMPONENT_TYPE__TRACEABLE_SPECIFICATION = ElementsPackage.CONTEXT__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_COMPONENT_TYPE__OWNED_RELATIONSHIP = ElementsPackage.CONTEXT__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Connector</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_COMPONENT_TYPE__CONNECTOR = ElementsPackage.CONTEXT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Port</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_COMPONENT_TYPE__PORT = ElementsPackage.CONTEXT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Part</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_COMPONENT_TYPE__PART = ElementsPackage.CONTEXT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_COMPONENT_TYPE__BASE_CLASS = ElementsPackage.CONTEXT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Bus</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_COMPONENT_TYPE__BUS = ElementsPackage.CONTEXT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Port Group</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_COMPONENT_TYPE__PORT_GROUP = ElementsPackage.CONTEXT_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Hardware Component Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_COMPONENT_TYPE_FEATURE_COUNT = ElementsPackage.CONTEXT_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NODE__NAME = HARDWARE_COMPONENT_TYPE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NODE__BASE_NAMED_ELEMENT = HARDWARE_COMPONENT_TYPE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NODE__OWNED_COMMENT = HARDWARE_COMPONENT_TYPE__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NODE__TRACEABLE_SPECIFICATION = HARDWARE_COMPONENT_TYPE__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NODE__OWNED_RELATIONSHIP = HARDWARE_COMPONENT_TYPE__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Connector</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NODE__CONNECTOR = HARDWARE_COMPONENT_TYPE__CONNECTOR;
+
+ /**
+ * The feature id for the '<em><b>Port</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NODE__PORT = HARDWARE_COMPONENT_TYPE__PORT;
+
+ /**
+ * The feature id for the '<em><b>Part</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NODE__PART = HARDWARE_COMPONENT_TYPE__PART;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NODE__BASE_CLASS = HARDWARE_COMPONENT_TYPE__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Bus</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NODE__BUS = HARDWARE_COMPONENT_TYPE__BUS;
+
+ /**
+ * The feature id for the '<em><b>Port Group</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NODE__PORT_GROUP = HARDWARE_COMPONENT_TYPE__PORT_GROUP;
+
+ /**
+ * The feature id for the '<em><b>Execution Rate</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NODE__EXECUTION_RATE = HARDWARE_COMPONENT_TYPE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Non Volatile Memory</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NODE__NON_VOLATILE_MEMORY = HARDWARE_COMPONENT_TYPE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Volatile Memory</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NODE__VOLATILE_MEMORY = HARDWARE_COMPONENT_TYPE_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Node</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NODE_FEATURE_COUNT = HARDWARE_COMPONENT_TYPE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POWER_SUPPLY__NAME = HARDWARE_COMPONENT_TYPE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POWER_SUPPLY__BASE_NAMED_ELEMENT = HARDWARE_COMPONENT_TYPE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POWER_SUPPLY__OWNED_COMMENT = HARDWARE_COMPONENT_TYPE__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POWER_SUPPLY__TRACEABLE_SPECIFICATION = HARDWARE_COMPONENT_TYPE__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POWER_SUPPLY__OWNED_RELATIONSHIP = HARDWARE_COMPONENT_TYPE__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Connector</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POWER_SUPPLY__CONNECTOR = HARDWARE_COMPONENT_TYPE__CONNECTOR;
+
+ /**
+ * The feature id for the '<em><b>Port</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POWER_SUPPLY__PORT = HARDWARE_COMPONENT_TYPE__PORT;
+
+ /**
+ * The feature id for the '<em><b>Part</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POWER_SUPPLY__PART = HARDWARE_COMPONENT_TYPE__PART;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POWER_SUPPLY__BASE_CLASS = HARDWARE_COMPONENT_TYPE__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Bus</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POWER_SUPPLY__BUS = HARDWARE_COMPONENT_TYPE__BUS;
+
+ /**
+ * The feature id for the '<em><b>Port Group</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POWER_SUPPLY__PORT_GROUP = HARDWARE_COMPONENT_TYPE__PORT_GROUP;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POWER_SUPPLY__IS_ACTIVE = HARDWARE_COMPONENT_TYPE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Power Supply</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POWER_SUPPLY_FEATURE_COUNT = HARDWARE_COMPONENT_TYPE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SENSOR__NAME = HARDWARE_COMPONENT_TYPE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SENSOR__BASE_NAMED_ELEMENT = HARDWARE_COMPONENT_TYPE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SENSOR__OWNED_COMMENT = HARDWARE_COMPONENT_TYPE__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SENSOR__TRACEABLE_SPECIFICATION = HARDWARE_COMPONENT_TYPE__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SENSOR__OWNED_RELATIONSHIP = HARDWARE_COMPONENT_TYPE__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Connector</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SENSOR__CONNECTOR = HARDWARE_COMPONENT_TYPE__CONNECTOR;
+
+ /**
+ * The feature id for the '<em><b>Port</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SENSOR__PORT = HARDWARE_COMPONENT_TYPE__PORT;
+
+ /**
+ * The feature id for the '<em><b>Part</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SENSOR__PART = HARDWARE_COMPONENT_TYPE__PART;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SENSOR__BASE_CLASS = HARDWARE_COMPONENT_TYPE__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Bus</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SENSOR__BUS = HARDWARE_COMPONENT_TYPE__BUS;
+
+ /**
+ * The feature id for the '<em><b>Port Group</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SENSOR__PORT_GROUP = HARDWARE_COMPONENT_TYPE__PORT_GROUP;
+
+ /**
+ * The number of structural features of the '<em>Sensor</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SENSOR_FEATURE_COUNT = HARDWARE_COMPONENT_TYPE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTUATOR__NAME = HARDWARE_COMPONENT_TYPE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTUATOR__BASE_NAMED_ELEMENT = HARDWARE_COMPONENT_TYPE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTUATOR__OWNED_COMMENT = HARDWARE_COMPONENT_TYPE__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTUATOR__TRACEABLE_SPECIFICATION = HARDWARE_COMPONENT_TYPE__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTUATOR__OWNED_RELATIONSHIP = HARDWARE_COMPONENT_TYPE__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Connector</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTUATOR__CONNECTOR = HARDWARE_COMPONENT_TYPE__CONNECTOR;
+
+ /**
+ * The feature id for the '<em><b>Port</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTUATOR__PORT = HARDWARE_COMPONENT_TYPE__PORT;
+
+ /**
+ * The feature id for the '<em><b>Part</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTUATOR__PART = HARDWARE_COMPONENT_TYPE__PART;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTUATOR__BASE_CLASS = HARDWARE_COMPONENT_TYPE__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Bus</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTUATOR__BUS = HARDWARE_COMPONENT_TYPE__BUS;
+
+ /**
+ * The feature id for the '<em><b>Port Group</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTUATOR__PORT_GROUP = HARDWARE_COMPONENT_TYPE__PORT_GROUP;
+
+ /**
+ * The number of structural features of the '<em>Actuator</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTUATOR_FEATURE_COUNT = HARDWARE_COMPONENT_TYPE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.LogicalBusImpl <em>Logical Bus</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.LogicalBusImpl
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getLogicalBus()
+ * @generated
+ */
+ int LOGICAL_BUS = 11;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_BUS__NAME = ALLOCATION_TARGET__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_BUS__BASE_NAMED_ELEMENT = ALLOCATION_TARGET__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_BUS__OWNED_COMMENT = ALLOCATION_TARGET__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_BUS__BASE_CLASS = ALLOCATION_TARGET_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Bus Speed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_BUS__BUS_SPEED = ALLOCATION_TARGET_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Bus Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_BUS__BUS_TYPE = ALLOCATION_TARGET_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Wire</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_BUS__WIRE = ALLOCATION_TARGET_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Wire path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_BUS__WIRE_PATH = ALLOCATION_TARGET_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Logical Bus</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOGICAL_BUS_FEATURE_COUNT = ALLOCATION_TARGET_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwarePinGroupImpl <em>Hardware Pin Group</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwarePinGroupImpl
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getHardwarePinGroup()
+ * @generated
+ */
+ int HARDWARE_PIN_GROUP = 12;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_PIN_GROUP__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_PIN_GROUP__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_PIN_GROUP__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_PIN_GROUP__BASE_PORT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_PIN_GROUP__BASE_CLASS = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Port Group</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_PIN_GROUP__PORT_GROUP = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Port</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_PIN_GROUP__PORT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Hardware Pin Group</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HARDWARE_PIN_GROUP_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.IOHardwarePinKind <em>IO Hardware Pin Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.IOHardwarePinKind
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getIOHardwarePinKind()
+ * @generated
+ */
+ int IO_HARDWARE_PIN_KIND = 14;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBusKind <em>Logical Bus Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBusKind
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl#getLogicalBusKind()
+ * @generated
+ */
+ int LOGICAL_BUS_KIND = 15;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Actuator <em>Actuator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Actuator</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Actuator
+ * @generated
+ */
+ EClass getActuator();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.AllocationTarget <em>Allocation Target</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Allocation Target</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.AllocationTarget
+ * @generated
+ */
+ EClass getAllocationTarget();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.IOHardwarePin <em>IO Hardware Pin</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>IO Hardware Pin</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.IOHardwarePin
+ * @generated
+ */
+ EClass getIOHardwarePin();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.IOHardwarePin#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.IOHardwarePin#getType()
+ * @see #getIOHardwarePin()
+ * @generated
+ */
+ EAttribute getIOHardwarePin_Type();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.CommunicationHardwarePin <em>Communication Hardware Pin</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Communication Hardware Pin</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.CommunicationHardwarePin
+ * @generated
+ */
+ EClass getCommunicationHardwarePin();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentPrototype <em>Hardware Component Prototype</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hardware Component Prototype</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentPrototype
+ * @generated
+ */
+ EClass getHardwareComponentPrototype();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentPrototype#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentPrototype#getType()
+ * @see #getHardwareComponentPrototype()
+ * @generated
+ */
+ EReference getHardwareComponentPrototype_Type();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentPrototype#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.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentPrototype#getBase_Property()
+ * @see #getHardwareComponentPrototype()
+ * @generated
+ */
+ EReference getHardwareComponentPrototype_Base_Property();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType <em>Hardware Component Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hardware Component Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType
+ * @generated
+ */
+ EClass getHardwareComponentType();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType#getBus <em>Bus</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Bus</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType#getBus()
+ * @see #getHardwareComponentType()
+ * @generated
+ */
+ EReference getHardwareComponentType_Bus();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType#getConnector <em>Connector</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Connector</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType#getConnector()
+ * @see #getHardwareComponentType()
+ * @generated
+ */
+ EReference getHardwareComponentType_Connector();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType#getPart <em>Part</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Part</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType#getPart()
+ * @see #getHardwareComponentType()
+ * @generated
+ */
+ EReference getHardwareComponentType_Part();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType#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.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType#getBase_Class()
+ * @see #getHardwareComponentType()
+ * @generated
+ */
+ EReference getHardwareComponentType_Base_Class();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType#getPort <em>Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Port</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType#getPort()
+ * @see #getHardwareComponentType()
+ * @generated
+ */
+ EReference getHardwareComponentType_Port();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType#getPortGroup <em>Port Group</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Port Group</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType#getPortGroup()
+ * @see #getHardwareComponentType()
+ * @generated
+ */
+ EReference getHardwareComponentType_PortGroup();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.IOHardwarePinKind <em>IO Hardware Pin Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>IO Hardware Pin Kind</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.IOHardwarePinKind
+ * @generated
+ */
+ EEnum getIOHardwarePinKind();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareConnector <em>Hardware Connector</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hardware Connector</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareConnector
+ * @generated
+ */
+ EClass getHardwareConnector();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareConnector#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.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareConnector#getBase_Connector()
+ * @see #getHardwareConnector()
+ * @generated
+ */
+ EReference getHardwareConnector_Base_Connector();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareConnector#getPort <em>Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Port</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareConnector#getPort()
+ * @see #getHardwareConnector()
+ * @generated
+ */
+ EReference getHardwareConnector_Port();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareConnector#getPort1_path <em>Port1 path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Port1 path</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareConnector#getPort1_path()
+ * @see #getHardwareConnector()
+ * @generated
+ */
+ EReference getHardwareConnector_Port1_path();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareConnector#getPort2_path <em>Port2 path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Port2 path</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareConnector#getPort2_path()
+ * @see #getHardwareConnector()
+ * @generated
+ */
+ EReference getHardwareConnector_Port2_path();
+
+ /**
+ * 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
+ */
+ HardwaremodelingFactory getHardwaremodelingFactory();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin <em>Hardware Pin</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hardware Pin</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin
+ * @generated
+ */
+ EClass getHardwarePin();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin#getBase_Port <em>Base Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Port</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin#getBase_Port()
+ * @see #getHardwarePin()
+ * @generated
+ */
+ EReference getHardwarePin_Base_Port();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin#getDirection <em>Direction</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Direction</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin#getDirection()
+ * @see #getHardwarePin()
+ * @generated
+ */
+ EAttribute getHardwarePin_Direction();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin#getImpedance <em>Impedance</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Impedance</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin#getImpedance()
+ * @see #getHardwarePin()
+ * @generated
+ */
+ EAttribute getHardwarePin_Impedance();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin#isIsGround <em>Is Ground</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Ground</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin#isIsGround()
+ * @see #getHardwarePin()
+ * @generated
+ */
+ EAttribute getHardwarePin_IsGround();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin#getPower <em>Power</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Power</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin#getPower()
+ * @see #getHardwarePin()
+ * @generated
+ */
+ EAttribute getHardwarePin_Power();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin#getVoltage <em>Voltage</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Voltage</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin#getVoltage()
+ * @see #getHardwarePin()
+ * @generated
+ */
+ EAttribute getHardwarePin_Voltage();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePinGroup <em>Hardware Pin Group</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hardware Pin Group</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePinGroup
+ * @generated
+ */
+ EClass getHardwarePinGroup();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePinGroup#getBase_Port <em>Base Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Port</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePinGroup#getBase_Port()
+ * @see #getHardwarePinGroup()
+ * @generated
+ */
+ EReference getHardwarePinGroup_Base_Port();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePinGroup#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.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePinGroup#getBase_Class()
+ * @see #getHardwarePinGroup()
+ * @generated
+ */
+ EReference getHardwarePinGroup_Base_Class();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePinGroup#getPort <em>Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Port</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePinGroup#getPort()
+ * @see #getHardwarePinGroup()
+ * @generated
+ */
+ EReference getHardwarePinGroup_Port();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePinGroup#getPortGroup <em>Port Group</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Port Group</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePinGroup#getPortGroup()
+ * @see #getHardwarePinGroup()
+ * @generated
+ */
+ EReference getHardwarePinGroup_PortGroup();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBus <em>Logical Bus</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Logical Bus</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBus
+ * @generated
+ */
+ EClass getLogicalBus();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBus#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.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBus#getBase_Class()
+ * @see #getLogicalBus()
+ * @generated
+ */
+ EReference getLogicalBus_Base_Class();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBus#getBusSpeed <em>Bus Speed</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Bus Speed</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBus#getBusSpeed()
+ * @see #getLogicalBus()
+ * @generated
+ */
+ EAttribute getLogicalBus_BusSpeed();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBus#getBusType <em>Bus Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Bus Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBus#getBusType()
+ * @see #getLogicalBus()
+ * @generated
+ */
+ EAttribute getLogicalBus_BusType();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBus#getWire <em>Wire</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Wire</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBus#getWire()
+ * @see #getLogicalBus()
+ * @generated
+ */
+ EReference getLogicalBus_Wire();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBus#getWire_path <em>Wire path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Wire path</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBus#getWire_path()
+ * @see #getLogicalBus()
+ * @generated
+ */
+ EReference getLogicalBus_Wire_path();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBusKind <em>Logical Bus Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Logical Bus Kind</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBusKind
+ * @generated
+ */
+ EEnum getLogicalBusKind();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Node <em>Node</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Node</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Node
+ * @generated
+ */
+ EClass getNode();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Node#getExecutionRate <em>Execution Rate</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Execution Rate</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Node#getExecutionRate()
+ * @see #getNode()
+ * @generated
+ */
+ EAttribute getNode_ExecutionRate();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Node#getNonVolatileMemory <em>Non Volatile Memory</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Non Volatile Memory</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Node#getNonVolatileMemory()
+ * @see #getNode()
+ * @generated
+ */
+ EAttribute getNode_NonVolatileMemory();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Node#getVolatileMemory <em>Volatile Memory</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Volatile Memory</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Node#getVolatileMemory()
+ * @see #getNode()
+ * @generated
+ */
+ EAttribute getNode_VolatileMemory();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.PowerHardwarePin <em>Power Hardware Pin</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Power Hardware Pin</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.PowerHardwarePin
+ * @generated
+ */
+ EClass getPowerHardwarePin();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.PowerSupply <em>Power Supply</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Power Supply</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.PowerSupply
+ * @generated
+ */
+ EClass getPowerSupply();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.PowerSupply#isIsActive <em>Is Active</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Active</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.PowerSupply#isIsActive()
+ * @see #getPowerSupply()
+ * @generated
+ */
+ EAttribute getPowerSupply_IsActive();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Sensor <em>Sensor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Sensor</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Sensor
+ * @generated
+ */
+ EClass getSensor();
+
+} //HardwaremodelingPackage
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/IOHardwarePin.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/IOHardwarePin.java
new file mode 100644
index 00000000000..86ae4afc9a9
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/IOHardwarePin.java
@@ -0,0 +1,74 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>IO Hardware Pin</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * IOHardwarePin represents an electrical connection point for digital or analog I/O.
+ *
+ * Semantics:
+ * The IOHardwarePin represents an electrical pin or connection point.
+ *
+ * Notation:
+ * IOHardwarePin is shown as a solid square with an IO inside. Its name may appear outside the square.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.IOHardwarePin#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getIOHardwarePin()
+ * @model
+ * @generated
+ */
+public interface IOHardwarePin extends HardwarePin {
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.IOHardwarePinKind}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * kind defines whether the IOHardwarePort is digital, analog or PWM (Pulse Width Modulated).
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Type</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.IOHardwarePinKind
+ * @see #setType(IOHardwarePinKind)
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getIOHardwarePin_Type()
+ * @model unique="false" required="true" ordered="false"
+ * @generated
+ */
+ IOHardwarePinKind getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.IOHardwarePin#getType <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.IOHardwarePinKind
+ * @see #getType()
+ * @generated
+ */
+ void setType(IOHardwarePinKind value);
+} // IOHardwarePin
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/IOHardwarePinKind.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/IOHardwarePinKind.java
new file mode 100644
index 00000000000..7ba3988aea4
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/IOHardwarePinKind.java
@@ -0,0 +1,277 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling;
+
+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>IO Hardware Pin Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * IOHardwarePinKind is an enumeration type representing different kinds of I/O Hardware Ports.
+ *
+ * Extension:
+ * Enumeration, no extension.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getIOHardwarePinKind()
+ * @model
+ * @generated
+ */
+public enum IOHardwarePinKind implements Enumerator {
+ /**
+ * The '<em><b>Digital</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #DIGITAL_VALUE
+ * @generated
+ * @ordered
+ */
+ DIGITAL(0, "digital", "digital"),
+
+ /**
+ * The '<em><b>Analog</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ANALOG_VALUE
+ * @generated
+ * @ordered
+ */
+ ANALOG(1, "analog", "analog"),
+
+ /**
+ * The '<em><b>Pwm</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PWM_VALUE
+ * @generated
+ * @ordered
+ */
+ PWM(2, "pwm", "pwm"),
+
+ /**
+ * The '<em><b>Other</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #OTHER_VALUE
+ * @generated
+ * @ordered
+ */
+ OTHER(3, "other", "other");
+
+ /**
+ * The '<em><b>Digital</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * I/O with fixed amplitude.
+ * <!-- end-model-doc -->
+ * @see #DIGITAL
+ * @model name="digital"
+ * @generated
+ * @ordered
+ */
+ public static final int DIGITAL_VALUE = 0;
+
+ /**
+ * The '<em><b>Analog</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * I/O with varying amplitude.
+ * <!-- end-model-doc -->
+ * @see #ANALOG
+ * @model name="analog"
+ * @generated
+ * @ordered
+ */
+ public static final int ANALOG_VALUE = 1;
+
+ /**
+ * The '<em><b>Pwm</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * PWM (Pulse Width Modulated) modulated I/O, i.e. a signal with fixed frequency and amplitude but varying duty cycle.
+ * <!-- end-model-doc -->
+ * @see #PWM
+ * @model name="pwm"
+ * @generated
+ * @ordered
+ */
+ public static final int PWM_VALUE = 2;
+
+ /**
+ * The '<em><b>Other</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Another type of I/O port.
+ * <!-- end-model-doc -->
+ * @see #OTHER
+ * @model name="other"
+ * @generated
+ * @ordered
+ */
+ public static final int OTHER_VALUE = 3;
+
+ /**
+ * An array of all the '<em><b>IO Hardware Pin Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final IOHardwarePinKind[] VALUES_ARRAY =
+ new IOHardwarePinKind[] {
+ DIGITAL,
+ ANALOG,
+ PWM,
+ OTHER,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>IO Hardware Pin Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<IOHardwarePinKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>IO Hardware Pin Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static IOHardwarePinKind get(int value) {
+ switch (value) {
+ case DIGITAL_VALUE: return DIGITAL;
+ case ANALOG_VALUE: return ANALOG;
+ case PWM_VALUE: return PWM;
+ case OTHER_VALUE: return OTHER;
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>IO Hardware Pin Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static IOHardwarePinKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ IOHardwarePinKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>IO Hardware Pin Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static IOHardwarePinKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ IOHardwarePinKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ 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 IOHardwarePinKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * 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;
+ }
+
+} //IOHardwarePinKind
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/LogicalBus.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/LogicalBus.java
new file mode 100644
index 00000000000..615722b5eb1
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/LogicalBus.java
@@ -0,0 +1,166 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling;
+
+import org.eclipse.emf.common.util.EList;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Logical Bus</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The LogicalBus represents logical communication channels. It serves as an allocation target for connectors, i.e. the data exchanged between functions in the FunctionalDesignArchitecture.
+ *
+ *
+ * Semantics:
+ * The LogicalBus represents a logical connection that carries data from any sender to all receivers. Senders and receivers are identified by the wires of the LogicalBus, i.e. the associated HardwareConnectors. The available busSpeed represents the maximum amount of useful data that can be carried. The busSpeed has already deducted speed reduction resulting from frame overhead, timing effects, etc.
+ *
+ * Extension:
+ * Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBus#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBus#getBusSpeed <em>Bus Speed</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBus#getBusType <em>Bus Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBus#getWire <em>Wire</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBus#getWire_path <em>Wire path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getLogicalBus()
+ * @model
+ * @generated
+ */
+public interface LogicalBus extends AllocationTarget {
+ /**
+ * 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.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getLogicalBus_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBus#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>Bus Speed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Bus Speed</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Bus Speed</em>' attribute.
+ * @see #setBusSpeed(Float)
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getLogicalBus_BusSpeed()
+ * @model unique="false" dataType="org.eclipse.papyrus.eastadl.infrastructure.datatypes.javalangFloat" required="true" ordered="false"
+ * @generated
+ */
+ Float getBusSpeed();
+
+ /**
+ * Returns the value of the '<em><b>Bus Type</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBusKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Bus 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>Bus Type</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBusKind
+ * @see #setBusType(LogicalBusKind)
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getLogicalBus_BusType()
+ * @model unique="false" required="true" ordered="false"
+ * @generated
+ */
+ LogicalBusKind getBusType();
+
+ /**
+ * Returns the value of the '<em><b>Wire</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareConnector}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Wire</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>Wire</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getLogicalBus_Wire()
+ * @model
+ * @generated
+ */
+ EList<HardwareConnector> getWire();
+
+ /**
+ * Returns the value of the '<em><b>Wire path</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentPrototype}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Wire path</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>Wire path</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getLogicalBus_Wire_path()
+ * @model
+ * @generated
+ */
+ EList<HardwareComponentPrototype> getWire_path();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBus#getBusSpeed <em>Bus Speed</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Bus Speed</em>' attribute.
+ * @see #getBusSpeed()
+ * @generated
+ */
+ void setBusSpeed(Float value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBus#getBusType <em>Bus Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Bus Type</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBusKind
+ * @see #getBusType()
+ * @generated
+ */
+ void setBusType(LogicalBusKind value);
+
+} // LogicalBus
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/LogicalBusKind.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/LogicalBusKind.java
new file mode 100644
index 00000000000..afc970a6b10
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/LogicalBusKind.java
@@ -0,0 +1,277 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling;
+
+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>Logical Bus Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * LogicalBusKind is an enumeration type representing different kinds of busses.
+ *
+ * Extension:
+ * Enumeration, no extension.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getLogicalBusKind()
+ * @model
+ * @generated
+ */
+public enum LogicalBusKind implements Enumerator {
+ /**
+ * The '<em><b>Time Triggered</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #TIME_TRIGGERED_VALUE
+ * @generated
+ * @ordered
+ */
+ TIME_TRIGGERED(0, "TimeTriggered", "TimeTriggered"),
+
+ /**
+ * The '<em><b>Event Triggered</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #EVENT_TRIGGERED_VALUE
+ * @generated
+ * @ordered
+ */
+ EVENT_TRIGGERED(1, "EventTriggered", "EventTriggered"),
+
+ /**
+ * The '<em><b>Timeand Event Triggered</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #TIMEAND_EVENT_TRIGGERED_VALUE
+ * @generated
+ * @ordered
+ */
+ TIMEAND_EVENT_TRIGGERED(2, "TimeandEventTriggered", "TimeandEventTriggered"),
+
+ /**
+ * The '<em><b>Other</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #OTHER_VALUE
+ * @generated
+ * @ordered
+ */
+ OTHER(3, "other", "other");
+
+ /**
+ * The '<em><b>Time Triggered</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Bus is time-triggered
+ * <!-- end-model-doc -->
+ * @see #TIME_TRIGGERED
+ * @model name="TimeTriggered"
+ * @generated
+ * @ordered
+ */
+ public static final int TIME_TRIGGERED_VALUE = 0;
+
+ /**
+ * The '<em><b>Event Triggered</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Bus is event-triggered
+ * <!-- end-model-doc -->
+ * @see #EVENT_TRIGGERED
+ * @model name="EventTriggered"
+ * @generated
+ * @ordered
+ */
+ public static final int EVENT_TRIGGERED_VALUE = 1;
+
+ /**
+ * The '<em><b>Timeand Event Triggered</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Bus is both time and event-triggered
+ * <!-- end-model-doc -->
+ * @see #TIMEAND_EVENT_TRIGGERED
+ * @model name="TimeandEventTriggered"
+ * @generated
+ * @ordered
+ */
+ public static final int TIMEAND_EVENT_TRIGGERED_VALUE = 2;
+
+ /**
+ * The '<em><b>Other</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Another type of bus communication
+ * <!-- end-model-doc -->
+ * @see #OTHER
+ * @model name="other"
+ * @generated
+ * @ordered
+ */
+ public static final int OTHER_VALUE = 3;
+
+ /**
+ * An array of all the '<em><b>Logical Bus Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final LogicalBusKind[] VALUES_ARRAY =
+ new LogicalBusKind[] {
+ TIME_TRIGGERED,
+ EVENT_TRIGGERED,
+ TIMEAND_EVENT_TRIGGERED,
+ OTHER,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Logical Bus Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<LogicalBusKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Logical Bus Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static LogicalBusKind get(int value) {
+ switch (value) {
+ case TIME_TRIGGERED_VALUE: return TIME_TRIGGERED;
+ case EVENT_TRIGGERED_VALUE: return EVENT_TRIGGERED;
+ case TIMEAND_EVENT_TRIGGERED_VALUE: return TIMEAND_EVENT_TRIGGERED;
+ case OTHER_VALUE: return OTHER;
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Logical Bus Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static LogicalBusKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ LogicalBusKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Logical Bus Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static LogicalBusKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ LogicalBusKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ 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 LogicalBusKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * 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;
+ }
+
+} //LogicalBusKind
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/Node.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/Node.java
new file mode 100644
index 00000000000..523124772f6
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/Node.java
@@ -0,0 +1,130 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Node</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Node represents the computer nodes of the embedded EE system. Nodes consist of processor(s) and may be connected to sensors, actuators and other ECUs via a BusConnector.
+ *
+ * Node denotes an electronic control unit that acts as a computing element executing Functions. In case a single CPU-single core ECU is represented, it is sufficient to have a single, non-hierarchical Node.
+ *
+ * Semantics:
+ * The Node element represents an ECU, i.e. an Electronic Control Unit and an allocation target of FunctionPrototypes.
+ *
+ * The Node executes its allocated FunctionPrototypes at the specified executionRate. The executionRate denotes how many execution seconds of an allocated functionPrototype´s execution time that is processed each real-time second. Actual execution time is thus found by dividing the parameters of the ExecutionTimeConstraint with executionRate.
+ *
+ * Example: If an ECU is 25% faster than a standard ECU (e.g., in a certain context, execution times are given assuming a nominal speed of 100 MHz; Our CPU is then 125 MHz), the executionRate is 1.25. An execution time of 5 ms would then become 4 ms on this ECU.
+ *
+ * Notation:
+ * Node is shown as a solid-outline rectangle with Node at the top right. The rectangle contains the name, and its ports or port groups on the perimeter.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Node#getExecutionRate <em>Execution Rate</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Node#getNonVolatileMemory <em>Non Volatile Memory</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Node#getVolatileMemory <em>Volatile Memory</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getNode()
+ * @model
+ * @generated
+ */
+public interface Node extends HardwareComponentType {
+
+ /**
+ * Returns the value of the '<em><b>Execution Rate</b></em>' attribute.
+ * The default value is <code>"1"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * ExecutionRate is used to compute an approximate execution time. A nominal execution time divided by executionRate provides the actual execution time to be used e.g. for timing analysis in feasibility studies.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Execution Rate</em>' attribute.
+ * @see #setExecutionRate(Float)
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getNode_ExecutionRate()
+ * @model default="1" unique="false" dataType="org.eclipse.papyrus.eastadl.infrastructure.datatypes.javalangFloat" required="true" ordered="false"
+ * @generated
+ */
+ Float getExecutionRate();
+
+ /**
+ * Returns the value of the '<em><b>Non Volatile Memory</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The size in Bytes of the Node’s Non-Volatile memory (ROM, NRAM, EPROM, etc .
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Non Volatile Memory</em>' attribute.
+ * @see #setNonVolatileMemory(int)
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getNode_NonVolatileMemory()
+ * @model unique="false" dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+ * @generated
+ */
+ int getNonVolatileMemory();
+
+ /**
+ * Returns the value of the '<em><b>Volatile Memory</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The size in Bytes of the Node’s Volatile memory (RAM)
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Volatile Memory</em>' attribute.
+ * @see #setVolatileMemory(int)
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getNode_VolatileMemory()
+ * @model unique="false" dataType="org.eclipse.uml2.types.Integer" ordered="false"
+ * @generated
+ */
+ int getVolatileMemory();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Node#getExecutionRate <em>Execution Rate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Execution Rate</em>' attribute.
+ * @see #getExecutionRate()
+ * @generated
+ */
+ void setExecutionRate(Float value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Node#getNonVolatileMemory <em>Non Volatile Memory</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Non Volatile Memory</em>' attribute.
+ * @see #getNonVolatileMemory()
+ * @generated
+ */
+ void setNonVolatileMemory(int value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Node#getVolatileMemory <em>Volatile Memory</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Volatile Memory</em>' attribute.
+ * @see #getVolatileMemory()
+ * @generated
+ */
+ void setVolatileMemory(int value);
+} // Node
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/PowerHardwarePin.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/PowerHardwarePin.java
new file mode 100644
index 00000000000..7d08b367c79
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/PowerHardwarePin.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Power Hardware Pin</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * PowerHardwarePin represents a pin that is primarily intended for power supply, either providing or consuming energy.
+ *
+ * Semantics:
+ * A PowerHardwarePin is primarily intended to be a power supply. The direction attribute of the pin defines whether it is providing or consuming energy
+ *
+ * Notation:
+ * PowerHardwarePin is shown as a solid square with PWR inside. Its name may appear outside the square.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getPowerHardwarePin()
+ * @model
+ * @generated
+ */
+public interface PowerHardwarePin extends HardwarePin {
+} // PowerHardwarePin
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/PowerSupply.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/PowerSupply.java
new file mode 100644
index 00000000000..6bf554de681
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/PowerSupply.java
@@ -0,0 +1,75 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Power Supply</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * PowerSupply represents a hardware element that supplies power.
+ *
+ * Semantics:
+ * PowerSupply denotes a power source that may be active (e.g., a battery) or passive (main relay).
+ *
+ * Notation:
+ * PowerSupply is shown as a solid-outline rectangle with "PWR" at the top right. The rectangle contains the name, and its ports or port groups on the perimeter.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.PowerSupply#isIsActive <em>Is Active</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getPowerSupply()
+ * @model
+ * @generated
+ */
+public interface PowerSupply extends HardwareComponentType {
+ /**
+ * Returns the value of the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Active</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Indicates if the PowerSupply is active or passive.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Is Active</em>' attribute.
+ * @see #setIsActive(boolean)
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getPowerSupply_IsActive()
+ * @model unique="false" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isIsActive();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.PowerSupply#isIsActive <em>Is Active</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Active</em>' attribute.
+ * @see #isIsActive()
+ * @generated
+ */
+ void setIsActive(boolean value);
+
+} // PowerSupply
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/Sensor.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/Sensor.java
new file mode 100644
index 00000000000..19db3e1a2b2
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/Sensor.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sensor</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Sensor represents a hardware entity for digital or analog sensor elements. The Sensor is connected electrically to the electrical entities of the Hardware Design Architecture.
+ *
+ * Semantics:
+ * Sensor denotes an electrical sensor. The Sensor represents the physical and electrical aspects of sensor hardware. The logical aspect is represented by an HWFunctionType associated to the Sensor.
+ *
+ * Notation:
+ * Sensor is shown as a Circle or oval. The circle contains the name, and its ports or port groups on the perimeter.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#getSensor()
+ * @model
+ * @generated
+ */
+public interface Sensor extends HardwareComponentType {
+} // Sensor
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/ActuatorImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/ActuatorImpl.java
new file mode 100644
index 00000000000..8a5665d1921
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/ActuatorImpl.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Actuator;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Actuator</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class ActuatorImpl extends HardwareComponentTypeImpl implements Actuator {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ActuatorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HardwaremodelingPackage.Literals.ACTUATOR;
+ }
+
+} //ActuatorImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/AllocationTargetImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/AllocationTargetImpl.java
new file mode 100644
index 00000000000..44578304a36
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/AllocationTargetImpl.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.AllocationTarget;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Allocation Target</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class AllocationTargetImpl extends EAElementImpl implements AllocationTarget {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AllocationTargetImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HardwaremodelingPackage.Literals.ALLOCATION_TARGET;
+ }
+
+} //AllocationTargetImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/CommunicationHardwarePinImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/CommunicationHardwarePinImpl.java
new file mode 100644
index 00000000000..ad4ec9881bc
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/CommunicationHardwarePinImpl.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.CommunicationHardwarePin;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Communication Hardware Pin</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class CommunicationHardwarePinImpl extends HardwarePinImpl implements CommunicationHardwarePin {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CommunicationHardwarePinImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HardwaremodelingPackage.Literals.COMMUNICATION_HARDWARE_PIN;
+ }
+
+} //CommunicationHardwarePinImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/HardwareComponentPrototypeImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/HardwareComponentPrototypeImpl.java
new file mode 100644
index 00000000000..01163399fc0
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/HardwareComponentPrototypeImpl.java
@@ -0,0 +1,234 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling.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.eastadl.structure.hardwaremodeling.HardwareComponentPrototype;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.utils.EASTResource;
+import org.eclipse.papyrus.uml.tools.utils.ElementUtil;
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Hardware Component Prototype</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwareComponentPrototypeImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwareComponentPrototypeImpl#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HardwareComponentPrototypeImpl extends AllocationTargetImpl implements HardwareComponentPrototype {
+
+ /**
+ * 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 HardwareComponentPrototypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public HardwareComponentType basicGetType() {
+ HardwareComponentType type = null;
+
+ if(getBase_Property() != null) {
+
+ Type basicType = getBase_Property().getType();
+
+
+ if(basicType != null) {
+ type = (HardwareComponentType)UMLUtil.getStereotypeApplication(basicType, HardwareComponentType.class);
+ }
+ }
+
+ return type;
+ }
+
+ /**
+ * <!-- 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, HardwaremodelingPackage.HARDWARE_COMPONENT_PROTOTYPE__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, HardwaremodelingPackage.HARDWARE_COMPONENT_PROTOTYPE__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 HardwaremodelingPackage.HARDWARE_COMPONENT_PROTOTYPE__TYPE:
+ if (resolve) return getType();
+ return basicGetType();
+ case HardwaremodelingPackage.HARDWARE_COMPONENT_PROTOTYPE__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 boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HardwaremodelingPackage.HARDWARE_COMPONENT_PROTOTYPE__TYPE:
+ return basicGetType() != null;
+ case HardwaremodelingPackage.HARDWARE_COMPONENT_PROTOTYPE__BASE_PROPERTY:
+ return base_Property != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case HardwaremodelingPackage.HARDWARE_COMPONENT_PROTOTYPE__BASE_PROPERTY:
+ setBase_Property((Property)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HardwaremodelingPackage.Literals.HARDWARE_COMPONENT_PROTOTYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HardwaremodelingPackage.HARDWARE_COMPONENT_PROTOTYPE__BASE_PROPERTY:
+ setBase_Property((Property)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public Image getIcon() {
+
+ Image ImageNotFound = null;
+
+ if(getBase_Property() != null) {
+ Stereotype st = getBase_Property().getAppliedStereotype(EASTResource.HARDWARECOMPONENTPROTOTYPE_ID);
+
+ Image defaultImage = st.getIcons().get(0);
+ Image typeImage = null;
+
+ HardwareComponentType type = getType();
+ if((type != null) && (type.getBase_Class() != null)) {
+ typeImage = ElementUtil.getStereotypeImage(type.getBase_Class(), "icon");
+ }
+
+ if(typeImage != null) {
+ return typeImage;
+ } else {
+ return defaultImage;
+ }
+
+ } else {
+ return ImageNotFound;
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public HardwareComponentType getType() {
+ HardwareComponentType type = basicGetType();
+ return type != null && type.eIsProxy() ? (HardwareComponentType)eResolveProxy((InternalEObject)type) : type;
+ }
+
+} // HardwareComponentPrototypeImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/HardwareComponentTypeImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/HardwareComponentTypeImpl.java
new file mode 100644
index 00000000000..3b12f311fb9
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/HardwareComponentTypeImpl.java
@@ -0,0 +1,337 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+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.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.BasicInternalEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ContextImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentPrototype;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareConnector;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePinGroup;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBus;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Hardware Component Type</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwareComponentTypeImpl#getConnector <em>Connector</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwareComponentTypeImpl#getPort <em>Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwareComponentTypeImpl#getPart <em>Part</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwareComponentTypeImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwareComponentTypeImpl#getBus <em>Bus</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwareComponentTypeImpl#getPortGroup <em>Port Group</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HardwareComponentTypeImpl extends ContextImpl implements HardwareComponentType {
+
+ /**
+ * 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 cached value of the '{@link #getBus() <em>Bus</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBus()
+ * @generated
+ * @ordered
+ */
+ protected EList<LogicalBus> bus;
+
+ /**
+ * The cached value of the '{@link #getPortGroup() <em>Port Group</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPortGroup()
+ * @generated
+ * @ordered
+ */
+ protected EList<HardwarePinGroup> portGroup;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected HardwareComponentTypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HardwaremodelingPackage.HARDWARE_COMPONENT_TYPE__CONNECTOR:
+ return getConnector();
+ case HardwaremodelingPackage.HARDWARE_COMPONENT_TYPE__PORT:
+ return getPort();
+ case HardwaremodelingPackage.HARDWARE_COMPONENT_TYPE__PART:
+ return getPart();
+ case HardwaremodelingPackage.HARDWARE_COMPONENT_TYPE__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case HardwaremodelingPackage.HARDWARE_COMPONENT_TYPE__BUS:
+ return getBus();
+ case HardwaremodelingPackage.HARDWARE_COMPONENT_TYPE__PORT_GROUP:
+ return getPortGroup();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HardwaremodelingPackage.HARDWARE_COMPONENT_TYPE__CONNECTOR:
+ return !getConnector().isEmpty();
+ case HardwaremodelingPackage.HARDWARE_COMPONENT_TYPE__PORT:
+ return !getPort().isEmpty();
+ case HardwaremodelingPackage.HARDWARE_COMPONENT_TYPE__PART:
+ return !getPart().isEmpty();
+ case HardwaremodelingPackage.HARDWARE_COMPONENT_TYPE__BASE_CLASS:
+ return base_Class != null;
+ case HardwaremodelingPackage.HARDWARE_COMPONENT_TYPE__BUS:
+ return bus != null && !bus.isEmpty();
+ case HardwaremodelingPackage.HARDWARE_COMPONENT_TYPE__PORT_GROUP:
+ return portGroup != null && !portGroup.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case HardwaremodelingPackage.HARDWARE_COMPONENT_TYPE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case HardwaremodelingPackage.HARDWARE_COMPONENT_TYPE__BUS:
+ getBus().clear();
+ getBus().addAll((Collection<? extends LogicalBus>)newValue);
+ return;
+ case HardwaremodelingPackage.HARDWARE_COMPONENT_TYPE__PORT_GROUP:
+ getPortGroup().clear();
+ getPortGroup().addAll((Collection<? extends HardwarePinGroup>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HardwaremodelingPackage.Literals.HARDWARE_COMPONENT_TYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HardwaremodelingPackage.HARDWARE_COMPONENT_TYPE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case HardwaremodelingPackage.HARDWARE_COMPONENT_TYPE__BUS:
+ getBus().clear();
+ return;
+ case HardwaremodelingPackage.HARDWARE_COMPONENT_TYPE__PORT_GROUP:
+ getPortGroup().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<LogicalBus> getBus() {
+ if (bus == null) {
+ bus = new EObjectResolvingEList<LogicalBus>(LogicalBus.class, this, HardwaremodelingPackage.HARDWARE_COMPONENT_TYPE__BUS);
+ }
+ return bus;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<HardwareConnector> getConnector() {
+ EList<HardwareConnector> results = new BasicEList<HardwareConnector>();
+ HardwareConnector currentHW = null;
+
+ if(getBase_Class() != null) {
+ Iterator<NamedElement> it = getBase_Class().getOwnedMembers().iterator();
+
+ while(it.hasNext()) {
+ NamedElement current = it.next();
+ currentHW = (HardwareConnector)UMLUtil.getStereotypeApplication(current, HardwareConnector.class);
+
+ if(currentHW != null) {
+ results.add(currentHW);
+ }
+ }
+ }
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<HardwareConnector>(HardwareConnector.class, results.size(), results.toArray());
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<HardwareComponentPrototype> getPart() {
+ EList<HardwareComponentPrototype> results = new BasicEList<HardwareComponentPrototype>();
+ HardwareComponentPrototype currentHW = null;
+
+ if(getBase_Class() != null) {
+ Iterator<Property> it = getBase_Class().getOwnedAttributes().iterator();
+
+ while(it.hasNext()) {
+ Property current = it.next();
+ currentHW = (HardwareComponentPrototype)UMLUtil.getStereotypeApplication(current,
+ HardwareComponentPrototype.class);
+
+ if(currentHW != null) {
+ results.add(currentHW);
+ }
+ }
+ }
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<HardwareComponentPrototype>(HardwareComponentPrototype.class, results.size(),
+ results.toArray());
+ }
+
+ /**
+ * <!-- 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, HardwaremodelingPackage.HARDWARE_COMPONENT_TYPE__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, HardwaremodelingPackage.HARDWARE_COMPONENT_TYPE__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<HardwarePin> getPort() {
+ EList<HardwarePin> results = new BasicEList<HardwarePin>();
+ HardwarePin currentHW = null;
+
+ if(getBase_Class() != null) {
+ Iterator<Port> it = getBase_Class().getOwnedPorts().iterator();
+
+ while(it.hasNext()) {
+ Port current = it.next();
+ currentHW = (HardwarePin)UMLUtil.getStereotypeApplication(current, HardwarePin.class);
+
+ if(currentHW != null) {
+ results.add(currentHW);
+ }
+ }
+ }
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<HardwarePin>(HardwarePin.class, results.size(), results.toArray());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HardwarePinGroup> getPortGroup() {
+ if (portGroup == null) {
+ portGroup = new EObjectResolvingEList<HardwarePinGroup>(HardwarePinGroup.class, this, HardwaremodelingPackage.HARDWARE_COMPONENT_TYPE__PORT_GROUP);
+ }
+ return portGroup;
+ }
+
+} // HardwareComponentTypeImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/HardwareConnectorImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/HardwareConnectorImpl.java
new file mode 100644
index 00000000000..622531f83cf
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/HardwareConnectorImpl.java
@@ -0,0 +1,287 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+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.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.BasicInternalEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentPrototype;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareConnector;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Hardware Connector</b></em> '. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwareConnectorImpl#getBase_Connector <em>Base Connector</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwareConnectorImpl#getPort <em>Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwareConnectorImpl#getPort1_path <em>Port1 path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwareConnectorImpl#getPort2_path <em>Port2 path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HardwareConnectorImpl extends EAElementImpl implements HardwareConnector {
+
+ /**
+ * 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 #getPort1_path() <em>Port1 path</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPort1_path()
+ * @generated
+ * @ordered
+ */
+ protected EList<HardwareComponentPrototype> port1_path;
+
+ /**
+ * The cached value of the '{@link #getPort2_path() <em>Port2 path</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPort2_path()
+ * @generated
+ * @ordered
+ */
+ protected EList<HardwareComponentPrototype> port2_path;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected HardwareConnectorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HardwaremodelingPackage.HARDWARE_CONNECTOR__BASE_CONNECTOR:
+ if (resolve) return getBase_Connector();
+ return basicGetBase_Connector();
+ case HardwaremodelingPackage.HARDWARE_CONNECTOR__PORT:
+ return getPort();
+ case HardwaremodelingPackage.HARDWARE_CONNECTOR__PORT1_PATH:
+ return getPort1_path();
+ case HardwaremodelingPackage.HARDWARE_CONNECTOR__PORT2_PATH:
+ return getPort2_path();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HardwaremodelingPackage.HARDWARE_CONNECTOR__BASE_CONNECTOR:
+ return base_Connector != null;
+ case HardwaremodelingPackage.HARDWARE_CONNECTOR__PORT:
+ return !getPort().isEmpty();
+ case HardwaremodelingPackage.HARDWARE_CONNECTOR__PORT1_PATH:
+ return port1_path != null && !port1_path.isEmpty();
+ case HardwaremodelingPackage.HARDWARE_CONNECTOR__PORT2_PATH:
+ return port2_path != null && !port2_path.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case HardwaremodelingPackage.HARDWARE_CONNECTOR__BASE_CONNECTOR:
+ setBase_Connector((Connector)newValue);
+ return;
+ case HardwaremodelingPackage.HARDWARE_CONNECTOR__PORT:
+ getPort().clear();
+ getPort().addAll((Collection<? extends HardwarePin>)newValue);
+ return;
+ case HardwaremodelingPackage.HARDWARE_CONNECTOR__PORT1_PATH:
+ getPort1_path().clear();
+ getPort1_path().addAll((Collection<? extends HardwareComponentPrototype>)newValue);
+ return;
+ case HardwaremodelingPackage.HARDWARE_CONNECTOR__PORT2_PATH:
+ getPort2_path().clear();
+ getPort2_path().addAll((Collection<? extends HardwareComponentPrototype>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HardwaremodelingPackage.Literals.HARDWARE_CONNECTOR;
+ }
+
+ /**
+ * <!-- 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, HardwaremodelingPackage.HARDWARE_CONNECTOR__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, HardwaremodelingPackage.HARDWARE_CONNECTOR__BASE_CONNECTOR, oldBase_Connector, base_Connector));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HardwaremodelingPackage.HARDWARE_CONNECTOR__BASE_CONNECTOR:
+ setBase_Connector((Connector)null);
+ return;
+ case HardwaremodelingPackage.HARDWARE_CONNECTOR__PORT:
+ getPort().clear();
+ return;
+ case HardwaremodelingPackage.HARDWARE_CONNECTOR__PORT1_PATH:
+ getPort1_path().clear();
+ return;
+ case HardwaremodelingPackage.HARDWARE_CONNECTOR__PORT2_PATH:
+ getPort2_path().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<HardwarePin> getPort() {
+ // Implementation for abstract super class method (ADLVariableElement)
+ EList<HardwarePin> results = new BasicEList<HardwarePin>();
+ HardwarePin currentHwPort = null;
+
+ // Retrieve base element
+ if(getBase_Connector() != null) {
+ Connector co = getBase_Connector();
+
+ // Find HwPort
+ Iterator<ConnectorEnd> it = co.getEnds().iterator();
+
+ while(it.hasNext()) {
+ ConnectorEnd currentEnd = it.next();
+ if(currentEnd.getRole() != null) {
+ currentHwPort = (HardwarePin)UMLUtil.getStereotypeApplication(currentEnd.getRole(),
+ HardwarePin.class);
+
+ if(currentHwPort != null) {
+ results.add(currentHwPort);
+ }
+ }
+ }
+ }
+
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<HardwarePin>(HardwarePin.class, results.size(), results.toArray());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HardwareComponentPrototype> getPort1_path() {
+ if (port1_path == null) {
+ port1_path = new EObjectResolvingEList<HardwareComponentPrototype>(HardwareComponentPrototype.class, this, HardwaremodelingPackage.HARDWARE_CONNECTOR__PORT1_PATH);
+ }
+ return port1_path;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HardwareComponentPrototype> getPort2_path() {
+ if (port2_path == null) {
+ port2_path = new EObjectResolvingEList<HardwareComponentPrototype>(HardwareComponentPrototype.class, this, HardwaremodelingPackage.HARDWARE_CONNECTOR__PORT2_PATH);
+ }
+ return port2_path;
+ }
+
+} // HardwareConnectorImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/HardwarePinGroupImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/HardwarePinGroupImpl.java
new file mode 100644
index 00000000000..d8f083649f9
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/HardwarePinGroupImpl.java
@@ -0,0 +1,302 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling.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.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePinGroup;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.uml2.uml.Port;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hardware Pin Group</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwarePinGroupImpl#getBase_Port <em>Base Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwarePinGroupImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwarePinGroupImpl#getPortGroup <em>Port Group</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwarePinGroupImpl#getPort <em>Port</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HardwarePinGroupImpl extends EAElementImpl implements HardwarePinGroup {
+ /**
+ * The cached value of the '{@link #getBase_Port() <em>Base Port</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Port()
+ * @generated
+ * @ordered
+ */
+ protected Port base_Port;
+
+ /**
+ * 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 cached value of the '{@link #getPortGroup() <em>Port Group</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPortGroup()
+ * @generated
+ * @ordered
+ */
+ protected EList<HardwarePinGroup> portGroup;
+
+ /**
+ * The cached value of the '{@link #getPort() <em>Port</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPort()
+ * @generated
+ * @ordered
+ */
+ protected EList<HardwarePin> port;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HardwarePinGroupImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HardwaremodelingPackage.HARDWARE_PIN_GROUP__BASE_PORT:
+ if (resolve) return getBase_Port();
+ return basicGetBase_Port();
+ case HardwaremodelingPackage.HARDWARE_PIN_GROUP__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case HardwaremodelingPackage.HARDWARE_PIN_GROUP__PORT_GROUP:
+ return getPortGroup();
+ case HardwaremodelingPackage.HARDWARE_PIN_GROUP__PORT:
+ return getPort();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HardwaremodelingPackage.HARDWARE_PIN_GROUP__BASE_PORT:
+ return base_Port != null;
+ case HardwaremodelingPackage.HARDWARE_PIN_GROUP__BASE_CLASS:
+ return base_Class != null;
+ case HardwaremodelingPackage.HARDWARE_PIN_GROUP__PORT_GROUP:
+ return portGroup != null && !portGroup.isEmpty();
+ case HardwaremodelingPackage.HARDWARE_PIN_GROUP__PORT:
+ return port != null && !port.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case HardwaremodelingPackage.HARDWARE_PIN_GROUP__BASE_PORT:
+ setBase_Port((Port)newValue);
+ return;
+ case HardwaremodelingPackage.HARDWARE_PIN_GROUP__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case HardwaremodelingPackage.HARDWARE_PIN_GROUP__PORT_GROUP:
+ getPortGroup().clear();
+ getPortGroup().addAll((Collection<? extends HardwarePinGroup>)newValue);
+ return;
+ case HardwaremodelingPackage.HARDWARE_PIN_GROUP__PORT:
+ getPort().clear();
+ getPort().addAll((Collection<? extends HardwarePin>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HardwaremodelingPackage.Literals.HARDWARE_PIN_GROUP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Port getBase_Port() {
+ if (base_Port != null && base_Port.eIsProxy()) {
+ InternalEObject oldBase_Port = (InternalEObject)base_Port;
+ base_Port = (Port)eResolveProxy(oldBase_Port);
+ if (base_Port != oldBase_Port) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, HardwaremodelingPackage.HARDWARE_PIN_GROUP__BASE_PORT, oldBase_Port, base_Port));
+ }
+ }
+ return base_Port;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Port basicGetBase_Port() {
+ return base_Port;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Port(Port newBase_Port) {
+ Port oldBase_Port = base_Port;
+ base_Port = newBase_Port;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HardwaremodelingPackage.HARDWARE_PIN_GROUP__BASE_PORT, oldBase_Port, base_Port));
+ }
+
+ /**
+ * <!-- 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, HardwaremodelingPackage.HARDWARE_PIN_GROUP__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, HardwaremodelingPackage.HARDWARE_PIN_GROUP__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HardwaremodelingPackage.HARDWARE_PIN_GROUP__BASE_PORT:
+ setBase_Port((Port)null);
+ return;
+ case HardwaremodelingPackage.HARDWARE_PIN_GROUP__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case HardwaremodelingPackage.HARDWARE_PIN_GROUP__PORT_GROUP:
+ getPortGroup().clear();
+ return;
+ case HardwaremodelingPackage.HARDWARE_PIN_GROUP__PORT:
+ getPort().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HardwarePin> getPort() {
+ if (port == null) {
+ port = new EObjectResolvingEList<HardwarePin>(HardwarePin.class, this, HardwaremodelingPackage.HARDWARE_PIN_GROUP__PORT);
+ }
+ return port;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HardwarePinGroup> getPortGroup() {
+ if (portGroup == null) {
+ portGroup = new EObjectResolvingEList<HardwarePinGroup>(HardwarePinGroup.class, this, HardwaremodelingPackage.HARDWARE_PIN_GROUP__PORT_GROUP);
+ }
+ return portGroup;
+ }
+
+} //HardwarePinGroupImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/HardwarePinImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/HardwarePinImpl.java
new file mode 100644
index 00000000000..0e8ee5c206d
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/HardwarePinImpl.java
@@ -0,0 +1,437 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling.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.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.EADirectionKind;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.uml2.uml.Port;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Hardware Pin</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwarePinImpl#getBase_Port <em>Base Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwarePinImpl#isIsGround <em>Is Ground</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwarePinImpl#getVoltage <em>Voltage</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwarePinImpl#getDirection <em>Direction</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwarePinImpl#getImpedance <em>Impedance</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwarePinImpl#getPower <em>Power</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class HardwarePinImpl extends EAElementImpl implements HardwarePin {
+
+ /**
+ * The cached value of the '{@link #getBase_Port() <em>Base Port</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Port()
+ * @generated
+ * @ordered
+ */
+ protected Port base_Port;
+
+ /**
+ * The default value of the '{@link #isIsGround() <em>Is Ground</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isIsGround()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_GROUND_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsGround() <em>Is Ground</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isIsGround()
+ * @generated
+ * @ordered
+ */
+ protected boolean isGround = IS_GROUND_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getVoltage() <em>Voltage</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getVoltage()
+ * @generated
+ * @ordered
+ */
+ protected static final Float VOLTAGE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getVoltage() <em>Voltage</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getVoltage()
+ * @generated
+ * @ordered
+ */
+ protected Float voltage = VOLTAGE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDirection() <em>Direction</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDirection()
+ * @generated
+ * @ordered
+ */
+ protected static final EADirectionKind DIRECTION_EDEFAULT = EADirectionKind.IN;
+
+ /**
+ * The cached value of the '{@link #getDirection() <em>Direction</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDirection()
+ * @generated
+ * @ordered
+ */
+ protected EADirectionKind direction = DIRECTION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getImpedance() <em>Impedance</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getImpedance()
+ * @generated
+ * @ordered
+ */
+ protected static final Float IMPEDANCE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getImpedance() <em>Impedance</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getImpedance()
+ * @generated
+ * @ordered
+ */
+ protected Float impedance = IMPEDANCE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getPower() <em>Power</em>}' attribute.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @see #getPower()
+ * @generated
+ * @ordered
+ */
+ protected static final Float POWER_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPower() <em>Power</em>}' attribute.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @see #getPower()
+ * @generated
+ * @ordered
+ */
+ protected Float power = POWER_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected HardwarePinImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HardwaremodelingPackage.HARDWARE_PIN__BASE_PORT:
+ if (resolve) return getBase_Port();
+ return basicGetBase_Port();
+ case HardwaremodelingPackage.HARDWARE_PIN__IS_GROUND:
+ return isIsGround();
+ case HardwaremodelingPackage.HARDWARE_PIN__VOLTAGE:
+ return getVoltage();
+ case HardwaremodelingPackage.HARDWARE_PIN__DIRECTION:
+ return getDirection();
+ case HardwaremodelingPackage.HARDWARE_PIN__IMPEDANCE:
+ return getImpedance();
+ case HardwaremodelingPackage.HARDWARE_PIN__POWER:
+ return getPower();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HardwaremodelingPackage.HARDWARE_PIN__BASE_PORT:
+ return base_Port != null;
+ case HardwaremodelingPackage.HARDWARE_PIN__IS_GROUND:
+ return isGround != IS_GROUND_EDEFAULT;
+ case HardwaremodelingPackage.HARDWARE_PIN__VOLTAGE:
+ return VOLTAGE_EDEFAULT == null ? voltage != null : !VOLTAGE_EDEFAULT.equals(voltage);
+ case HardwaremodelingPackage.HARDWARE_PIN__DIRECTION:
+ return direction != DIRECTION_EDEFAULT;
+ case HardwaremodelingPackage.HARDWARE_PIN__IMPEDANCE:
+ return IMPEDANCE_EDEFAULT == null ? impedance != null : !IMPEDANCE_EDEFAULT.equals(impedance);
+ case HardwaremodelingPackage.HARDWARE_PIN__POWER:
+ return POWER_EDEFAULT == null ? power != null : !POWER_EDEFAULT.equals(power);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case HardwaremodelingPackage.HARDWARE_PIN__BASE_PORT:
+ setBase_Port((Port)newValue);
+ return;
+ case HardwaremodelingPackage.HARDWARE_PIN__IS_GROUND:
+ setIsGround((Boolean)newValue);
+ return;
+ case HardwaremodelingPackage.HARDWARE_PIN__VOLTAGE:
+ setVoltage((Float)newValue);
+ return;
+ case HardwaremodelingPackage.HARDWARE_PIN__DIRECTION:
+ setDirection((EADirectionKind)newValue);
+ return;
+ case HardwaremodelingPackage.HARDWARE_PIN__IMPEDANCE:
+ setImpedance((Float)newValue);
+ return;
+ case HardwaremodelingPackage.HARDWARE_PIN__POWER:
+ setPower((Float)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HardwaremodelingPackage.Literals.HARDWARE_PIN;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Port getBase_Port() {
+ if (base_Port != null && base_Port.eIsProxy()) {
+ InternalEObject oldBase_Port = (InternalEObject)base_Port;
+ base_Port = (Port)eResolveProxy(oldBase_Port);
+ if (base_Port != oldBase_Port) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, HardwaremodelingPackage.HARDWARE_PIN__BASE_PORT, oldBase_Port, base_Port));
+ }
+ }
+ return base_Port;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Port basicGetBase_Port() {
+ return base_Port;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Port(Port newBase_Port) {
+ Port oldBase_Port = base_Port;
+ base_Port = newBase_Port;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HardwaremodelingPackage.HARDWARE_PIN__BASE_PORT, oldBase_Port, base_Port));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HardwaremodelingPackage.HARDWARE_PIN__BASE_PORT:
+ setBase_Port((Port)null);
+ return;
+ case HardwaremodelingPackage.HARDWARE_PIN__IS_GROUND:
+ setIsGround(IS_GROUND_EDEFAULT);
+ return;
+ case HardwaremodelingPackage.HARDWARE_PIN__VOLTAGE:
+ setVoltage(VOLTAGE_EDEFAULT);
+ return;
+ case HardwaremodelingPackage.HARDWARE_PIN__DIRECTION:
+ setDirection(DIRECTION_EDEFAULT);
+ return;
+ case HardwaremodelingPackage.HARDWARE_PIN__IMPEDANCE:
+ setImpedance(IMPEDANCE_EDEFAULT);
+ return;
+ case HardwaremodelingPackage.HARDWARE_PIN__POWER:
+ setPower(POWER_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EADirectionKind getDirection() {
+ return direction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDirection(EADirectionKind newDirection) {
+ EADirectionKind oldDirection = direction;
+ direction = newDirection == null ? DIRECTION_EDEFAULT : newDirection;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HardwaremodelingPackage.HARDWARE_PIN__DIRECTION, oldDirection, direction));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Float getImpedance() {
+ return impedance;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Float getPower() {
+ return power;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Float getVoltage() {
+ return voltage;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsGround() {
+ return isGround;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setImpedance(Float newImpedance) {
+ Float oldImpedance = impedance;
+ impedance = newImpedance;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HardwaremodelingPackage.HARDWARE_PIN__IMPEDANCE, oldImpedance, impedance));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsGround(boolean newIsGround) {
+ boolean oldIsGround = isGround;
+ isGround = newIsGround;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HardwaremodelingPackage.HARDWARE_PIN__IS_GROUND, oldIsGround, isGround));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPower(Float newPower) {
+ Float oldPower = power;
+ power = newPower;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HardwaremodelingPackage.HARDWARE_PIN__POWER, oldPower, power));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVoltage(Float newVoltage) {
+ Float oldVoltage = voltage;
+ voltage = newVoltage;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HardwaremodelingPackage.HARDWARE_PIN__VOLTAGE, oldVoltage, voltage));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (isGround: ");
+ result.append(isGround);
+ result.append(", voltage: ");
+ result.append(voltage);
+ result.append(", direction: ");
+ result.append(direction);
+ result.append(", impedance: ");
+ result.append(impedance);
+ result.append(", power: ");
+ result.append(power);
+ result.append(')');
+ return result.toString();
+ }
+
+} // HardwarePinImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/HardwaremodelingFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/HardwaremodelingFactoryImpl.java
new file mode 100644
index 00000000000..4995305d82d
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/HardwaremodelingFactoryImpl.java
@@ -0,0 +1,317 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling.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.eclipse.papyrus.eastadl.structure.hardwaremodeling.Actuator;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.CommunicationHardwarePin;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentPrototype;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareConnector;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePinGroup;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingFactory;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.IOHardwarePin;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.IOHardwarePinKind;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBus;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBusKind;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Node;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.PowerHardwarePin;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.PowerSupply;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Sensor;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HardwaremodelingFactoryImpl extends EFactoryImpl implements HardwaremodelingFactory {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static HardwaremodelingPackage getPackage() {
+ return HardwaremodelingPackage.eINSTANCE;
+ }
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static HardwaremodelingFactory init() {
+ try {
+ HardwaremodelingFactory theHardwaremodelingFactory = (HardwaremodelingFactory)EPackage.Registry.INSTANCE.getEFactory(HardwaremodelingPackage.eNS_URI);
+ if (theHardwaremodelingFactory != null) {
+ return theHardwaremodelingFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new HardwaremodelingFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HardwaremodelingFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertLogicalBusKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case HardwaremodelingPackage.IO_HARDWARE_PIN_KIND:
+ return convertIOHardwarePinKindToString(eDataType, instanceValue);
+ case HardwaremodelingPackage.LOGICAL_BUS_KIND:
+ return convertLogicalBusKindToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case HardwaremodelingPackage.HARDWARE_CONNECTOR: return createHardwareConnector();
+ case HardwaremodelingPackage.HARDWARE_COMPONENT_PROTOTYPE: return createHardwareComponentPrototype();
+ case HardwaremodelingPackage.IO_HARDWARE_PIN: return createIOHardwarePin();
+ case HardwaremodelingPackage.POWER_HARDWARE_PIN: return createPowerHardwarePin();
+ case HardwaremodelingPackage.COMMUNICATION_HARDWARE_PIN: return createCommunicationHardwarePin();
+ case HardwaremodelingPackage.NODE: return createNode();
+ case HardwaremodelingPackage.POWER_SUPPLY: return createPowerSupply();
+ case HardwaremodelingPackage.SENSOR: return createSensor();
+ case HardwaremodelingPackage.ACTUATOR: return createActuator();
+ case HardwaremodelingPackage.LOGICAL_BUS: return createLogicalBus();
+ case HardwaremodelingPackage.HARDWARE_PIN_GROUP: return createHardwarePinGroup();
+ case HardwaremodelingPackage.HARDWARE_COMPONENT_TYPE: return createHardwareComponentType();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Actuator createActuator() {
+ ActuatorImpl actuator = new ActuatorImpl();
+ return actuator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CommunicationHardwarePin createCommunicationHardwarePin() {
+ CommunicationHardwarePinImpl communicationHardwarePin = new CommunicationHardwarePinImpl();
+ return communicationHardwarePin;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case HardwaremodelingPackage.IO_HARDWARE_PIN_KIND:
+ return createIOHardwarePinKindFromString(eDataType, initialValue);
+ case HardwaremodelingPackage.LOGICAL_BUS_KIND:
+ return createLogicalBusKindFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HardwareComponentPrototype createHardwareComponentPrototype() {
+ HardwareComponentPrototypeImpl hardwareComponentPrototype = new HardwareComponentPrototypeImpl();
+ return hardwareComponentPrototype;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IOHardwarePin createIOHardwarePin() {
+ IOHardwarePinImpl ioHardwarePin = new IOHardwarePinImpl();
+ return ioHardwarePin;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HardwareComponentType createHardwareComponentType() {
+ HardwareComponentTypeImpl hardwareComponentType = new HardwareComponentTypeImpl();
+ return hardwareComponentType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IOHardwarePinKind createIOHardwarePinKindFromString(EDataType eDataType, String initialValue) {
+ IOHardwarePinKind result = IOHardwarePinKind.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 convertIOHardwarePinKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HardwareConnector createHardwareConnector() {
+ HardwareConnectorImpl hardwareConnector = new HardwareConnectorImpl();
+ return hardwareConnector;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HardwarePinGroup createHardwarePinGroup() {
+ HardwarePinGroupImpl hardwarePinGroup = new HardwarePinGroupImpl();
+ return hardwarePinGroup;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LogicalBus createLogicalBus() {
+ LogicalBusImpl logicalBus = new LogicalBusImpl();
+ return logicalBus;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LogicalBusKind createLogicalBusKindFromString(EDataType eDataType, String initialValue) {
+ LogicalBusKind result = LogicalBusKind.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 Node createNode() {
+ NodeImpl node = new NodeImpl();
+ return node;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PowerHardwarePin createPowerHardwarePin() {
+ PowerHardwarePinImpl powerHardwarePin = new PowerHardwarePinImpl();
+ return powerHardwarePin;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PowerSupply createPowerSupply() {
+ PowerSupplyImpl powerSupply = new PowerSupplyImpl();
+ return powerSupply;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Sensor createSensor() {
+ SensorImpl sensor = new SensorImpl();
+ return sensor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HardwaremodelingPackage getHardwaremodelingPackage() {
+ return (HardwaremodelingPackage)getEPackage();
+ }
+
+} //HardwaremodelingFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/HardwaremodelingPackageImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/HardwaremodelingPackageImpl.java
new file mode 100644
index 00000000000..a07897a1778
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/HardwaremodelingPackageImpl.java
@@ -0,0 +1,1017 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling.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.eastadl.EastadlPackage;
+import org.eclipse.papyrus.eastadl.annex.AnnexPackage;
+import org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.StructurePackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Actuator;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.AllocationTarget;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.CommunicationHardwarePin;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentPrototype;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareConnector;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePinGroup;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingFactory;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.IOHardwarePin;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.IOHardwarePinKind;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBus;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBusKind;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Node;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.PowerHardwarePin;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.PowerSupply;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Sensor;
+import org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HardwaremodelingPackageImpl extends EPackageImpl implements HardwaremodelingPackage {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hardwareComponentTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum ioHardwarePinKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum logicalBusKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hardwareConnectorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hardwarePinEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hardwareComponentPrototypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass allocationTargetEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass logicalBusEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hardwarePinGroupEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass powerHardwarePinEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass ioHardwarePinEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass communicationHardwarePinEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass nodeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass powerSupplyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass sensorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass actuatorEClass = null;
+
+ /**
+ * <!-- 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 HardwaremodelingPackage#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 HardwaremodelingPackage init() {
+ if (isInited) return (HardwaremodelingPackage)EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI);
+
+ // Obtain or create and register package
+ HardwaremodelingPackageImpl theHardwaremodelingPackage = (HardwaremodelingPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof HardwaremodelingPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new HardwaremodelingPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ SysmlPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EastadlPackageImpl theEastadlPackage = (EastadlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) instanceof EastadlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) : EastadlPackage.eINSTANCE);
+ VariabilityPackageImpl theVariabilityPackage = (VariabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) instanceof VariabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) : VariabilityPackage.eINSTANCE);
+ InfrastructurePackageImpl theInfrastructurePackage = (InfrastructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) instanceof InfrastructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) : InfrastructurePackage.eINSTANCE);
+ DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) instanceof DatatypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) : DatatypesPackage.eINSTANCE);
+ UserattributesPackageImpl theUserattributesPackage = (UserattributesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) instanceof UserattributesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) : UserattributesPackage.eINSTANCE);
+ ElementsPackageImpl theElementsPackage = (ElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) instanceof ElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) : ElementsPackage.eINSTANCE);
+ StructurePackageImpl theStructurePackage = (StructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) instanceof StructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) : StructurePackage.eINSTANCE);
+ FunctionmodelingPackageImpl theFunctionmodelingPackage = (FunctionmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) instanceof FunctionmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) : FunctionmodelingPackage.eINSTANCE);
+ SystemmodelingPackageImpl theSystemmodelingPackage = (SystemmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) instanceof SystemmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) : SystemmodelingPackage.eINSTANCE);
+ VehiclefeaturemodelingPackageImpl theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) instanceof VehiclefeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) : VehiclefeaturemodelingPackage.eINSTANCE);
+ FeaturemodelingPackageImpl theFeaturemodelingPackage = (FeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) instanceof FeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) : FeaturemodelingPackage.eINSTANCE);
+ BehaviorPackageImpl theBehaviorPackage = (BehaviorPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) instanceof BehaviorPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) : BehaviorPackage.eINSTANCE);
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) : RequirementsPackage.eINSTANCE);
+ VerificationvalidationPackageImpl theVerificationvalidationPackage = (VerificationvalidationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) instanceof VerificationvalidationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) : VerificationvalidationPackage.eINSTANCE);
+ TimingPackageImpl theTimingPackage = (TimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) instanceof TimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) : TimingPackage.eINSTANCE);
+ TimingconstraintsPackageImpl theTimingconstraintsPackage = (TimingconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) instanceof TimingconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) : TimingconstraintsPackage.eINSTANCE);
+ EventsPackageImpl theEventsPackage = (EventsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+ InterchangePackageImpl theInterchangePackage = (InterchangePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) instanceof InterchangePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) : InterchangePackage.eINSTANCE);
+ EnvironmentPackageImpl theEnvironmentPackage = (EnvironmentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) instanceof EnvironmentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) : EnvironmentPackage.eINSTANCE);
+ DependabilityPackageImpl theDependabilityPackage = (DependabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) instanceof DependabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) : DependabilityPackage.eINSTANCE);
+ ErrormodelPackageImpl theErrormodelPackage = (ErrormodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) instanceof ErrormodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) : ErrormodelPackage.eINSTANCE);
+ SafetyrequirementPackageImpl theSafetyrequirementPackage = (SafetyrequirementPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) instanceof SafetyrequirementPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) : SafetyrequirementPackage.eINSTANCE);
+ SafetyconstraintsPackageImpl theSafetyconstraintsPackage = (SafetyconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) instanceof SafetyconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) : SafetyconstraintsPackage.eINSTANCE);
+ SafetycasePackageImpl theSafetycasePackage = (SafetycasePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) instanceof SafetycasePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) : SafetycasePackage.eINSTANCE);
+ AnnexPackageImpl theAnnexPackage = (AnnexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) instanceof AnnexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) : AnnexPackage.eINSTANCE);
+ NeedsPackageImpl theNeedsPackage = (NeedsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) instanceof NeedsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) : NeedsPackage.eINSTANCE);
+ GenericconstraintsPackageImpl theGenericconstraintsPackage = (GenericconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) instanceof GenericconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) : GenericconstraintsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theHardwaremodelingPackage.createPackageContents();
+ theEastadlPackage.createPackageContents();
+ theVariabilityPackage.createPackageContents();
+ theInfrastructurePackage.createPackageContents();
+ theDatatypesPackage.createPackageContents();
+ theUserattributesPackage.createPackageContents();
+ theElementsPackage.createPackageContents();
+ theStructurePackage.createPackageContents();
+ theFunctionmodelingPackage.createPackageContents();
+ theSystemmodelingPackage.createPackageContents();
+ theVehiclefeaturemodelingPackage.createPackageContents();
+ theFeaturemodelingPackage.createPackageContents();
+ theBehaviorPackage.createPackageContents();
+ theRequirementsPackage.createPackageContents();
+ theVerificationvalidationPackage.createPackageContents();
+ theTimingPackage.createPackageContents();
+ theTimingconstraintsPackage.createPackageContents();
+ theEventsPackage.createPackageContents();
+ theInterchangePackage.createPackageContents();
+ theEnvironmentPackage.createPackageContents();
+ theDependabilityPackage.createPackageContents();
+ theErrormodelPackage.createPackageContents();
+ theSafetyrequirementPackage.createPackageContents();
+ theSafetyconstraintsPackage.createPackageContents();
+ theSafetycasePackage.createPackageContents();
+ theAnnexPackage.createPackageContents();
+ theNeedsPackage.createPackageContents();
+ theGenericconstraintsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theHardwaremodelingPackage.initializePackageContents();
+ theEastadlPackage.initializePackageContents();
+ theVariabilityPackage.initializePackageContents();
+ theInfrastructurePackage.initializePackageContents();
+ theDatatypesPackage.initializePackageContents();
+ theUserattributesPackage.initializePackageContents();
+ theElementsPackage.initializePackageContents();
+ theStructurePackage.initializePackageContents();
+ theFunctionmodelingPackage.initializePackageContents();
+ theSystemmodelingPackage.initializePackageContents();
+ theVehiclefeaturemodelingPackage.initializePackageContents();
+ theFeaturemodelingPackage.initializePackageContents();
+ theBehaviorPackage.initializePackageContents();
+ theRequirementsPackage.initializePackageContents();
+ theVerificationvalidationPackage.initializePackageContents();
+ theTimingPackage.initializePackageContents();
+ theTimingconstraintsPackage.initializePackageContents();
+ theEventsPackage.initializePackageContents();
+ theInterchangePackage.initializePackageContents();
+ theEnvironmentPackage.initializePackageContents();
+ theDependabilityPackage.initializePackageContents();
+ theErrormodelPackage.initializePackageContents();
+ theSafetyrequirementPackage.initializePackageContents();
+ theSafetyconstraintsPackage.initializePackageContents();
+ theSafetycasePackage.initializePackageContents();
+ theAnnexPackage.initializePackageContents();
+ theNeedsPackage.initializePackageContents();
+ theGenericconstraintsPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theHardwaremodelingPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(HardwaremodelingPackage.eNS_URI, theHardwaremodelingPackage);
+ return theHardwaremodelingPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * 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.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private HardwaremodelingPackageImpl() {
+ super(eNS_URI, HardwaremodelingFactory.eINSTANCE);
+ }
+
+ /**
+ * 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
+ hardwareConnectorEClass = createEClass(HARDWARE_CONNECTOR);
+ createEReference(hardwareConnectorEClass, HARDWARE_CONNECTOR__BASE_CONNECTOR);
+ createEReference(hardwareConnectorEClass, HARDWARE_CONNECTOR__PORT);
+ createEReference(hardwareConnectorEClass, HARDWARE_CONNECTOR__PORT1_PATH);
+ createEReference(hardwareConnectorEClass, HARDWARE_CONNECTOR__PORT2_PATH);
+
+ hardwarePinEClass = createEClass(HARDWARE_PIN);
+ createEReference(hardwarePinEClass, HARDWARE_PIN__BASE_PORT);
+ createEAttribute(hardwarePinEClass, HARDWARE_PIN__IS_GROUND);
+ createEAttribute(hardwarePinEClass, HARDWARE_PIN__VOLTAGE);
+ createEAttribute(hardwarePinEClass, HARDWARE_PIN__DIRECTION);
+ createEAttribute(hardwarePinEClass, HARDWARE_PIN__IMPEDANCE);
+ createEAttribute(hardwarePinEClass, HARDWARE_PIN__POWER);
+
+ hardwareComponentPrototypeEClass = createEClass(HARDWARE_COMPONENT_PROTOTYPE);
+ createEReference(hardwareComponentPrototypeEClass, HARDWARE_COMPONENT_PROTOTYPE__TYPE);
+ createEReference(hardwareComponentPrototypeEClass, HARDWARE_COMPONENT_PROTOTYPE__BASE_PROPERTY);
+
+ allocationTargetEClass = createEClass(ALLOCATION_TARGET);
+
+ ioHardwarePinEClass = createEClass(IO_HARDWARE_PIN);
+ createEAttribute(ioHardwarePinEClass, IO_HARDWARE_PIN__TYPE);
+
+ powerHardwarePinEClass = createEClass(POWER_HARDWARE_PIN);
+
+ communicationHardwarePinEClass = createEClass(COMMUNICATION_HARDWARE_PIN);
+
+ nodeEClass = createEClass(NODE);
+ createEAttribute(nodeEClass, NODE__EXECUTION_RATE);
+ createEAttribute(nodeEClass, NODE__NON_VOLATILE_MEMORY);
+ createEAttribute(nodeEClass, NODE__VOLATILE_MEMORY);
+
+ powerSupplyEClass = createEClass(POWER_SUPPLY);
+ createEAttribute(powerSupplyEClass, POWER_SUPPLY__IS_ACTIVE);
+
+ sensorEClass = createEClass(SENSOR);
+
+ actuatorEClass = createEClass(ACTUATOR);
+
+ logicalBusEClass = createEClass(LOGICAL_BUS);
+ createEReference(logicalBusEClass, LOGICAL_BUS__BASE_CLASS);
+ createEAttribute(logicalBusEClass, LOGICAL_BUS__BUS_SPEED);
+ createEAttribute(logicalBusEClass, LOGICAL_BUS__BUS_TYPE);
+ createEReference(logicalBusEClass, LOGICAL_BUS__WIRE);
+ createEReference(logicalBusEClass, LOGICAL_BUS__WIRE_PATH);
+
+ hardwarePinGroupEClass = createEClass(HARDWARE_PIN_GROUP);
+ createEReference(hardwarePinGroupEClass, HARDWARE_PIN_GROUP__BASE_PORT);
+ createEReference(hardwarePinGroupEClass, HARDWARE_PIN_GROUP__BASE_CLASS);
+ createEReference(hardwarePinGroupEClass, HARDWARE_PIN_GROUP__PORT_GROUP);
+ createEReference(hardwarePinGroupEClass, HARDWARE_PIN_GROUP__PORT);
+
+ hardwareComponentTypeEClass = createEClass(HARDWARE_COMPONENT_TYPE);
+ createEReference(hardwareComponentTypeEClass, HARDWARE_COMPONENT_TYPE__CONNECTOR);
+ createEReference(hardwareComponentTypeEClass, HARDWARE_COMPONENT_TYPE__PORT);
+ createEReference(hardwareComponentTypeEClass, HARDWARE_COMPONENT_TYPE__PART);
+ createEReference(hardwareComponentTypeEClass, HARDWARE_COMPONENT_TYPE__BASE_CLASS);
+ createEReference(hardwareComponentTypeEClass, HARDWARE_COMPONENT_TYPE__BUS);
+ createEReference(hardwareComponentTypeEClass, HARDWARE_COMPONENT_TYPE__PORT_GROUP);
+
+ // Create enums
+ ioHardwarePinKindEEnum = createEEnum(IO_HARDWARE_PIN_KIND);
+ logicalBusKindEEnum = createEEnum(LOGICAL_BUS_KIND);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getActuator() {
+ return actuatorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAllocationTarget() {
+ return allocationTargetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getIOHardwarePin() {
+ return ioHardwarePinEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getIOHardwarePin_Type() {
+ return (EAttribute)ioHardwarePinEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCommunicationHardwarePin() {
+ return communicationHardwarePinEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHardwareComponentPrototype() {
+ return hardwareComponentPrototypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHardwareComponentPrototype_Type() {
+ return (EReference)hardwareComponentPrototypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHardwareComponentPrototype_Base_Property() {
+ return (EReference)hardwareComponentPrototypeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHardwareComponentType() {
+ return hardwareComponentTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHardwareComponentType_Bus() {
+ return (EReference)hardwareComponentTypeEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHardwareComponentType_Connector() {
+ return (EReference)hardwareComponentTypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHardwareComponentType_Part() {
+ return (EReference)hardwareComponentTypeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHardwareComponentType_Base_Class() {
+ return (EReference)hardwareComponentTypeEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHardwareComponentType_Port() {
+ return (EReference)hardwareComponentTypeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHardwareComponentType_PortGroup() {
+ return (EReference)hardwareComponentTypeEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getIOHardwarePinKind() {
+ return ioHardwarePinKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHardwareConnector() {
+ return hardwareConnectorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHardwareConnector_Base_Connector() {
+ return (EReference)hardwareConnectorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHardwareConnector_Port() {
+ return (EReference)hardwareConnectorEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHardwareConnector_Port1_path() {
+ return (EReference)hardwareConnectorEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHardwareConnector_Port2_path() {
+ return (EReference)hardwareConnectorEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HardwaremodelingFactory getHardwaremodelingFactory() {
+ return (HardwaremodelingFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHardwarePin() {
+ return hardwarePinEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHardwarePin_Base_Port() {
+ return (EReference)hardwarePinEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHardwarePin_Direction() {
+ return (EAttribute)hardwarePinEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHardwarePin_Impedance() {
+ return (EAttribute)hardwarePinEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHardwarePin_IsGround() {
+ return (EAttribute)hardwarePinEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHardwarePin_Power() {
+ return (EAttribute)hardwarePinEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHardwarePin_Voltage() {
+ return (EAttribute)hardwarePinEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHardwarePinGroup() {
+ return hardwarePinGroupEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHardwarePinGroup_Base_Port() {
+ return (EReference)hardwarePinGroupEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHardwarePinGroup_Base_Class() {
+ return (EReference)hardwarePinGroupEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHardwarePinGroup_Port() {
+ return (EReference)hardwarePinGroupEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHardwarePinGroup_PortGroup() {
+ return (EReference)hardwarePinGroupEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLogicalBus() {
+ return logicalBusEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLogicalBus_Base_Class() {
+ return (EReference)logicalBusEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLogicalBus_BusSpeed() {
+ return (EAttribute)logicalBusEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLogicalBus_BusType() {
+ return (EAttribute)logicalBusEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLogicalBus_Wire() {
+ return (EReference)logicalBusEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLogicalBus_Wire_path() {
+ return (EReference)logicalBusEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getLogicalBusKind() {
+ return logicalBusKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNode() {
+ return nodeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNode_ExecutionRate() {
+ return (EAttribute)nodeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNode_NonVolatileMemory() {
+ return (EAttribute)nodeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNode_VolatileMemory() {
+ return (EAttribute)nodeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPowerHardwarePin() {
+ return powerHardwarePinEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPowerSupply() {
+ return powerSupplyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPowerSupply_IsActive() {
+ return (EAttribute)powerSupplyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSensor() {
+ return sensorEClass;
+ }
+
+ /**
+ * 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
+ ElementsPackage theElementsPackage = (ElementsPackage)EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI);
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+ TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+ DatatypesPackage theDatatypesPackage = (DatatypesPackage)EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI);
+ FunctionmodelingPackage theFunctionmodelingPackage = (FunctionmodelingPackage)EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ hardwareConnectorEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ hardwarePinEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ hardwareComponentPrototypeEClass.getESuperTypes().add(this.getAllocationTarget());
+ allocationTargetEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ ioHardwarePinEClass.getESuperTypes().add(this.getHardwarePin());
+ powerHardwarePinEClass.getESuperTypes().add(this.getHardwarePin());
+ communicationHardwarePinEClass.getESuperTypes().add(this.getHardwarePin());
+ nodeEClass.getESuperTypes().add(this.getHardwareComponentType());
+ powerSupplyEClass.getESuperTypes().add(this.getHardwareComponentType());
+ sensorEClass.getESuperTypes().add(this.getHardwareComponentType());
+ actuatorEClass.getESuperTypes().add(this.getHardwareComponentType());
+ logicalBusEClass.getESuperTypes().add(this.getAllocationTarget());
+ hardwarePinGroupEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ hardwareComponentTypeEClass.getESuperTypes().add(theElementsPackage.getContext());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(hardwareConnectorEClass, HardwareConnector.class, "HardwareConnector", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getHardwareConnector_Base_Connector(), theUMLPackage.getConnector(), null, "base_Connector", null, 1, 1, HardwareConnector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHardwareConnector_Port(), this.getHardwarePin(), null, "port", null, 2, 2, HardwareConnector.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getHardwareConnector_Port1_path(), this.getHardwareComponentPrototype(), null, "port1_path", null, 0, -1, HardwareConnector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getHardwareConnector_Port2_path(), this.getHardwareComponentPrototype(), null, "port2_path", null, 0, -1, HardwareConnector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(hardwarePinEClass, HardwarePin.class, "HardwarePin", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getHardwarePin_Base_Port(), theUMLPackage.getPort(), null, "base_Port", null, 1, 1, HardwarePin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHardwarePin_IsGround(), theTypesPackage.getBoolean(), "isGround", null, 0, 1, HardwarePin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHardwarePin_Voltage(), theDatatypesPackage.getjavalangFloat(), "voltage", null, 0, 1, HardwarePin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHardwarePin_Direction(), theFunctionmodelingPackage.getEADirectionKind(), "direction", null, 1, 1, HardwarePin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHardwarePin_Impedance(), theDatatypesPackage.getjavalangFloat(), "impedance", null, 0, 1, HardwarePin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHardwarePin_Power(), theDatatypesPackage.getjavalangFloat(), "power", null, 0, 1, HardwarePin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(hardwareComponentPrototypeEClass, HardwareComponentPrototype.class, "HardwareComponentPrototype", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getHardwareComponentPrototype_Type(), this.getHardwareComponentType(), null, "type", null, 1, 1, HardwareComponentPrototype.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getHardwareComponentPrototype_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 1, 1, HardwareComponentPrototype.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ addEOperation(hardwareComponentPrototypeEClass, theUMLPackage.getImage(), "getIcon", 1, 1, IS_UNIQUE, !IS_ORDERED);
+
+ initEClass(allocationTargetEClass, AllocationTarget.class, "AllocationTarget", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(ioHardwarePinEClass, IOHardwarePin.class, "IOHardwarePin", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getIOHardwarePin_Type(), this.getIOHardwarePinKind(), "type", null, 1, 1, IOHardwarePin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(powerHardwarePinEClass, PowerHardwarePin.class, "PowerHardwarePin", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(communicationHardwarePinEClass, CommunicationHardwarePin.class, "CommunicationHardwarePin", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(nodeEClass, Node.class, "Node", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getNode_ExecutionRate(), theDatatypesPackage.getjavalangFloat(), "executionRate", "1", 1, 1, Node.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getNode_NonVolatileMemory(), theTypesPackage.getInteger(), "nonVolatileMemory", null, 1, 1, Node.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getNode_VolatileMemory(), theTypesPackage.getInteger(), "volatileMemory", null, 0, 1, Node.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(powerSupplyEClass, PowerSupply.class, "PowerSupply", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPowerSupply_IsActive(), theTypesPackage.getBoolean(), "isActive", null, 1, 1, PowerSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(sensorEClass, Sensor.class, "Sensor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(actuatorEClass, Actuator.class, "Actuator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(logicalBusEClass, LogicalBus.class, "LogicalBus", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getLogicalBus_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, LogicalBus.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getLogicalBus_BusSpeed(), theDatatypesPackage.getjavalangFloat(), "busSpeed", null, 1, 1, LogicalBus.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getLogicalBus_BusType(), this.getLogicalBusKind(), "busType", null, 1, 1, LogicalBus.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getLogicalBus_Wire(), this.getHardwareConnector(), null, "wire", null, 0, -1, LogicalBus.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getLogicalBus_Wire_path(), this.getHardwareComponentPrototype(), null, "wire_path", null, 0, -1, LogicalBus.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(hardwarePinGroupEClass, HardwarePinGroup.class, "HardwarePinGroup", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getHardwarePinGroup_Base_Port(), theUMLPackage.getPort(), null, "base_Port", null, 0, 1, HardwarePinGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHardwarePinGroup_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, HardwarePinGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHardwarePinGroup_PortGroup(), this.getHardwarePinGroup(), null, "portGroup", null, 0, -1, HardwarePinGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHardwarePinGroup_Port(), this.getHardwarePin(), null, "port", null, 0, -1, HardwarePinGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(hardwareComponentTypeEClass, HardwareComponentType.class, "HardwareComponentType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getHardwareComponentType_Connector(), this.getHardwareConnector(), null, "connector", null, 0, -1, HardwareComponentType.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getHardwareComponentType_Port(), this.getHardwarePin(), null, "port", null, 0, -1, HardwareComponentType.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getHardwareComponentType_Part(), this.getHardwareComponentPrototype(), null, "part", null, 0, -1, HardwareComponentType.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getHardwareComponentType_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, HardwareComponentType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHardwareComponentType_Bus(), this.getLogicalBus(), null, "bus", null, 0, -1, HardwareComponentType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHardwareComponentType_PortGroup(), this.getHardwarePinGroup(), null, "portGroup", null, 0, -1, HardwareComponentType.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(ioHardwarePinKindEEnum, IOHardwarePinKind.class, "IOHardwarePinKind");
+ addEEnumLiteral(ioHardwarePinKindEEnum, IOHardwarePinKind.DIGITAL);
+ addEEnumLiteral(ioHardwarePinKindEEnum, IOHardwarePinKind.ANALOG);
+ addEEnumLiteral(ioHardwarePinKindEEnum, IOHardwarePinKind.PWM);
+ addEEnumLiteral(ioHardwarePinKindEEnum, IOHardwarePinKind.OTHER);
+
+ initEEnum(logicalBusKindEEnum, LogicalBusKind.class, "LogicalBusKind");
+ addEEnumLiteral(logicalBusKindEEnum, LogicalBusKind.TIME_TRIGGERED);
+ addEEnumLiteral(logicalBusKindEEnum, LogicalBusKind.EVENT_TRIGGERED);
+ addEEnumLiteral(logicalBusKindEEnum, LogicalBusKind.TIMEAND_EVENT_TRIGGERED);
+ addEEnumLiteral(logicalBusKindEEnum, LogicalBusKind.OTHER);
+ }
+} //HardwaremodelingPackageImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/IOHardwarePinImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/IOHardwarePinImpl.java
new file mode 100644
index 00000000000..0fdf3194dd4
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/IOHardwarePinImpl.java
@@ -0,0 +1,173 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling.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.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.IOHardwarePin;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.IOHardwarePinKind;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>IO Hardware Pin</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.IOHardwarePinImpl#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class IOHardwarePinImpl extends HardwarePinImpl implements IOHardwarePin {
+ /**
+ * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected static final IOHardwarePinKind TYPE_EDEFAULT = IOHardwarePinKind.DIGITAL;
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected IOHardwarePinKind type = TYPE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IOHardwarePinImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HardwaremodelingPackage.IO_HARDWARE_PIN__TYPE:
+ return getType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HardwaremodelingPackage.IO_HARDWARE_PIN__TYPE:
+ return type != TYPE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case HardwaremodelingPackage.IO_HARDWARE_PIN__TYPE:
+ setType((IOHardwarePinKind)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HardwaremodelingPackage.Literals.IO_HARDWARE_PIN;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HardwaremodelingPackage.IO_HARDWARE_PIN__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IOHardwarePinKind getType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(IOHardwarePinKind newType) {
+ IOHardwarePinKind oldType = type;
+ type = newType == null ? TYPE_EDEFAULT : newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HardwaremodelingPackage.IO_HARDWARE_PIN__TYPE, oldType, type));
+ }
+
+ /**
+ * <!-- 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();
+ }
+
+} //IOHardwarePinImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/LogicalBusImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/LogicalBusImpl.java
new file mode 100644
index 00000000000..b688d541025
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/LogicalBusImpl.java
@@ -0,0 +1,364 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling.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.eastadl.structure.hardwaremodeling.HardwareComponentPrototype;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareConnector;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBus;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBusKind;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Logical Bus</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.LogicalBusImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.LogicalBusImpl#getBusSpeed <em>Bus Speed</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.LogicalBusImpl#getBusType <em>Bus Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.LogicalBusImpl#getWire <em>Wire</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.LogicalBusImpl#getWire_path <em>Wire path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class LogicalBusImpl extends AllocationTargetImpl implements LogicalBus {
+ /**
+ * 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 #getBusSpeed() <em>Bus Speed</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBusSpeed()
+ * @generated
+ * @ordered
+ */
+ protected static final Float BUS_SPEED_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getBusSpeed() <em>Bus Speed</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBusSpeed()
+ * @generated
+ * @ordered
+ */
+ protected Float busSpeed = BUS_SPEED_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getBusType() <em>Bus Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBusType()
+ * @generated
+ * @ordered
+ */
+ protected static final LogicalBusKind BUS_TYPE_EDEFAULT = LogicalBusKind.TIME_TRIGGERED;
+
+ /**
+ * The cached value of the '{@link #getBusType() <em>Bus Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBusType()
+ * @generated
+ * @ordered
+ */
+ protected LogicalBusKind busType = BUS_TYPE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getWire() <em>Wire</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWire()
+ * @generated
+ * @ordered
+ */
+ protected EList<HardwareConnector> wire;
+
+ /**
+ * The cached value of the '{@link #getWire_path() <em>Wire path</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWire_path()
+ * @generated
+ * @ordered
+ */
+ protected EList<HardwareComponentPrototype> wire_path;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LogicalBusImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HardwaremodelingPackage.LOGICAL_BUS__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case HardwaremodelingPackage.LOGICAL_BUS__BUS_SPEED:
+ return getBusSpeed();
+ case HardwaremodelingPackage.LOGICAL_BUS__BUS_TYPE:
+ return getBusType();
+ case HardwaremodelingPackage.LOGICAL_BUS__WIRE:
+ return getWire();
+ case HardwaremodelingPackage.LOGICAL_BUS__WIRE_PATH:
+ return getWire_path();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HardwaremodelingPackage.LOGICAL_BUS__BASE_CLASS:
+ return base_Class != null;
+ case HardwaremodelingPackage.LOGICAL_BUS__BUS_SPEED:
+ return BUS_SPEED_EDEFAULT == null ? busSpeed != null : !BUS_SPEED_EDEFAULT.equals(busSpeed);
+ case HardwaremodelingPackage.LOGICAL_BUS__BUS_TYPE:
+ return busType != BUS_TYPE_EDEFAULT;
+ case HardwaremodelingPackage.LOGICAL_BUS__WIRE:
+ return wire != null && !wire.isEmpty();
+ case HardwaremodelingPackage.LOGICAL_BUS__WIRE_PATH:
+ return wire_path != null && !wire_path.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case HardwaremodelingPackage.LOGICAL_BUS__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case HardwaremodelingPackage.LOGICAL_BUS__BUS_SPEED:
+ setBusSpeed((Float)newValue);
+ return;
+ case HardwaremodelingPackage.LOGICAL_BUS__BUS_TYPE:
+ setBusType((LogicalBusKind)newValue);
+ return;
+ case HardwaremodelingPackage.LOGICAL_BUS__WIRE:
+ getWire().clear();
+ getWire().addAll((Collection<? extends HardwareConnector>)newValue);
+ return;
+ case HardwaremodelingPackage.LOGICAL_BUS__WIRE_PATH:
+ getWire_path().clear();
+ getWire_path().addAll((Collection<? extends HardwareComponentPrototype>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HardwaremodelingPackage.Literals.LOGICAL_BUS;
+ }
+
+ /**
+ * <!-- 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, HardwaremodelingPackage.LOGICAL_BUS__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, HardwaremodelingPackage.LOGICAL_BUS__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HardwaremodelingPackage.LOGICAL_BUS__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case HardwaremodelingPackage.LOGICAL_BUS__BUS_SPEED:
+ setBusSpeed(BUS_SPEED_EDEFAULT);
+ return;
+ case HardwaremodelingPackage.LOGICAL_BUS__BUS_TYPE:
+ setBusType(BUS_TYPE_EDEFAULT);
+ return;
+ case HardwaremodelingPackage.LOGICAL_BUS__WIRE:
+ getWire().clear();
+ return;
+ case HardwaremodelingPackage.LOGICAL_BUS__WIRE_PATH:
+ getWire_path().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Float getBusSpeed() {
+ return busSpeed;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LogicalBusKind getBusType() {
+ return busType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HardwareConnector> getWire() {
+ if (wire == null) {
+ wire = new EObjectResolvingEList<HardwareConnector>(HardwareConnector.class, this, HardwaremodelingPackage.LOGICAL_BUS__WIRE);
+ }
+ return wire;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HardwareComponentPrototype> getWire_path() {
+ if (wire_path == null) {
+ wire_path = new EObjectResolvingEList<HardwareComponentPrototype>(HardwareComponentPrototype.class, this, HardwaremodelingPackage.LOGICAL_BUS__WIRE_PATH);
+ }
+ return wire_path;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBusSpeed(Float newBusSpeed) {
+ Float oldBusSpeed = busSpeed;
+ busSpeed = newBusSpeed;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HardwaremodelingPackage.LOGICAL_BUS__BUS_SPEED, oldBusSpeed, busSpeed));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBusType(LogicalBusKind newBusType) {
+ LogicalBusKind oldBusType = busType;
+ busType = newBusType == null ? BUS_TYPE_EDEFAULT : newBusType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HardwaremodelingPackage.LOGICAL_BUS__BUS_TYPE, oldBusType, busType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (busSpeed: ");
+ result.append(busSpeed);
+ result.append(", busType: ");
+ result.append(busType);
+ result.append(')');
+ return result.toString();
+ }
+
+} //LogicalBusImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/NodeImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/NodeImpl.java
new file mode 100644
index 00000000000..b753554da93
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/NodeImpl.java
@@ -0,0 +1,276 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling.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.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Node;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Node</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.NodeImpl#getExecutionRate <em>Execution Rate</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.NodeImpl#getNonVolatileMemory <em>Non Volatile Memory</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.NodeImpl#getVolatileMemory <em>Volatile Memory</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NodeImpl extends HardwareComponentTypeImpl implements Node {
+ /**
+ * The default value of the '{@link #getExecutionRate() <em>Execution Rate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExecutionRate()
+ * @generated
+ * @ordered
+ */
+ protected static final Float EXECUTION_RATE_EDEFAULT = new Float(1.0F);
+ /**
+ * The cached value of the '{@link #getExecutionRate() <em>Execution Rate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExecutionRate()
+ * @generated
+ * @ordered
+ */
+ protected Float executionRate = EXECUTION_RATE_EDEFAULT;
+ /**
+ * The default value of the '{@link #getNonVolatileMemory() <em>Non Volatile Memory</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNonVolatileMemory()
+ * @generated
+ * @ordered
+ */
+ protected static final int NON_VOLATILE_MEMORY_EDEFAULT = 0;
+ /**
+ * The cached value of the '{@link #getNonVolatileMemory() <em>Non Volatile Memory</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNonVolatileMemory()
+ * @generated
+ * @ordered
+ */
+ protected int nonVolatileMemory = NON_VOLATILE_MEMORY_EDEFAULT;
+ /**
+ * The default value of the '{@link #getVolatileMemory() <em>Volatile Memory</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVolatileMemory()
+ * @generated
+ * @ordered
+ */
+ protected static final int VOLATILE_MEMORY_EDEFAULT = 0;
+ /**
+ * The cached value of the '{@link #getVolatileMemory() <em>Volatile Memory</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVolatileMemory()
+ * @generated
+ * @ordered
+ */
+ protected int volatileMemory = VOLATILE_MEMORY_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NodeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HardwaremodelingPackage.NODE__EXECUTION_RATE:
+ return getExecutionRate();
+ case HardwaremodelingPackage.NODE__NON_VOLATILE_MEMORY:
+ return getNonVolatileMemory();
+ case HardwaremodelingPackage.NODE__VOLATILE_MEMORY:
+ return getVolatileMemory();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HardwaremodelingPackage.NODE__EXECUTION_RATE:
+ return EXECUTION_RATE_EDEFAULT == null ? executionRate != null : !EXECUTION_RATE_EDEFAULT.equals(executionRate);
+ case HardwaremodelingPackage.NODE__NON_VOLATILE_MEMORY:
+ return nonVolatileMemory != NON_VOLATILE_MEMORY_EDEFAULT;
+ case HardwaremodelingPackage.NODE__VOLATILE_MEMORY:
+ return volatileMemory != VOLATILE_MEMORY_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case HardwaremodelingPackage.NODE__EXECUTION_RATE:
+ setExecutionRate((Float)newValue);
+ return;
+ case HardwaremodelingPackage.NODE__NON_VOLATILE_MEMORY:
+ setNonVolatileMemory((Integer)newValue);
+ return;
+ case HardwaremodelingPackage.NODE__VOLATILE_MEMORY:
+ setVolatileMemory((Integer)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HardwaremodelingPackage.Literals.NODE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HardwaremodelingPackage.NODE__EXECUTION_RATE:
+ setExecutionRate(EXECUTION_RATE_EDEFAULT);
+ return;
+ case HardwaremodelingPackage.NODE__NON_VOLATILE_MEMORY:
+ setNonVolatileMemory(NON_VOLATILE_MEMORY_EDEFAULT);
+ return;
+ case HardwaremodelingPackage.NODE__VOLATILE_MEMORY:
+ setVolatileMemory(VOLATILE_MEMORY_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Float getExecutionRate() {
+ return executionRate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getNonVolatileMemory() {
+ return nonVolatileMemory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getVolatileMemory() {
+ return volatileMemory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExecutionRate(Float newExecutionRate) {
+ Float oldExecutionRate = executionRate;
+ executionRate = newExecutionRate;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HardwaremodelingPackage.NODE__EXECUTION_RATE, oldExecutionRate, executionRate));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNonVolatileMemory(int newNonVolatileMemory) {
+ int oldNonVolatileMemory = nonVolatileMemory;
+ nonVolatileMemory = newNonVolatileMemory;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HardwaremodelingPackage.NODE__NON_VOLATILE_MEMORY, oldNonVolatileMemory, nonVolatileMemory));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVolatileMemory(int newVolatileMemory) {
+ int oldVolatileMemory = volatileMemory;
+ volatileMemory = newVolatileMemory;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HardwaremodelingPackage.NODE__VOLATILE_MEMORY, oldVolatileMemory, volatileMemory));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (executionRate: ");
+ result.append(executionRate);
+ result.append(", nonVolatileMemory: ");
+ result.append(nonVolatileMemory);
+ result.append(", volatileMemory: ");
+ result.append(volatileMemory);
+ result.append(')');
+ return result.toString();
+ }
+
+} //NodeImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/PowerHardwarePinImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/PowerHardwarePinImpl.java
new file mode 100644
index 00000000000..6f9557dcc44
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/PowerHardwarePinImpl.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.PowerHardwarePin;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Power Hardware Pin</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class PowerHardwarePinImpl extends HardwarePinImpl implements PowerHardwarePin {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PowerHardwarePinImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HardwaremodelingPackage.Literals.POWER_HARDWARE_PIN;
+ }
+
+} //PowerHardwarePinImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/PowerSupplyImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/PowerSupplyImpl.java
new file mode 100644
index 00000000000..f16d2fd1927
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/PowerSupplyImpl.java
@@ -0,0 +1,173 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling.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.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.PowerSupply;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Power Supply</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.PowerSupplyImpl#isIsActive <em>Is Active</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PowerSupplyImpl extends HardwareComponentTypeImpl implements PowerSupply {
+ /**
+ * The default value of the '{@link #isIsActive() <em>Is Active</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsActive()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_ACTIVE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsActive() <em>Is Active</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsActive()
+ * @generated
+ * @ordered
+ */
+ protected boolean isActive = IS_ACTIVE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PowerSupplyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HardwaremodelingPackage.POWER_SUPPLY__IS_ACTIVE:
+ return isIsActive();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HardwaremodelingPackage.POWER_SUPPLY__IS_ACTIVE:
+ return isActive != IS_ACTIVE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case HardwaremodelingPackage.POWER_SUPPLY__IS_ACTIVE:
+ setIsActive((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HardwaremodelingPackage.Literals.POWER_SUPPLY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HardwaremodelingPackage.POWER_SUPPLY__IS_ACTIVE:
+ setIsActive(IS_ACTIVE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsActive() {
+ return isActive;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsActive(boolean newIsActive) {
+ boolean oldIsActive = isActive;
+ isActive = newIsActive;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HardwaremodelingPackage.POWER_SUPPLY__IS_ACTIVE, oldIsActive, isActive));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (isActive: ");
+ result.append(isActive);
+ result.append(')');
+ return result.toString();
+ }
+
+} //PowerSupplyImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/SensorImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/SensorImpl.java
new file mode 100644
index 00000000000..bb8ba56b377
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/impl/SensorImpl.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Sensor;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sensor</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class SensorImpl extends HardwareComponentTypeImpl implements Sensor {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SensorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HardwaremodelingPackage.Literals.SENSOR;
+ }
+
+} //SensorImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/util/HardwaremodelingAdapterFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/util/HardwaremodelingAdapterFactory.java
new file mode 100644
index 00000000000..45a2a7c747e
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/util/HardwaremodelingAdapterFactory.java
@@ -0,0 +1,417 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling.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.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Actuator;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.AllocationTarget;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.CommunicationHardwarePin;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentPrototype;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareConnector;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePinGroup;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.IOHardwarePin;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBus;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Node;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.PowerHardwarePin;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.PowerSupply;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Sensor;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage
+ * @generated
+ */
+public class HardwaremodelingAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static HardwaremodelingPackage modelPackage;
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HardwaremodelingSwitch<Adapter> modelSwitch =
+ new HardwaremodelingSwitch<Adapter>() {
+ @Override
+ public Adapter caseHardwareConnector(HardwareConnector object) {
+ return createHardwareConnectorAdapter();
+ }
+ @Override
+ public Adapter caseHardwarePin(HardwarePin object) {
+ return createHardwarePinAdapter();
+ }
+ @Override
+ public Adapter caseHardwareComponentPrototype(HardwareComponentPrototype object) {
+ return createHardwareComponentPrototypeAdapter();
+ }
+ @Override
+ public Adapter caseAllocationTarget(AllocationTarget object) {
+ return createAllocationTargetAdapter();
+ }
+ @Override
+ public Adapter caseIOHardwarePin(IOHardwarePin object) {
+ return createIOHardwarePinAdapter();
+ }
+ @Override
+ public Adapter casePowerHardwarePin(PowerHardwarePin object) {
+ return createPowerHardwarePinAdapter();
+ }
+ @Override
+ public Adapter caseCommunicationHardwarePin(CommunicationHardwarePin object) {
+ return createCommunicationHardwarePinAdapter();
+ }
+ @Override
+ public Adapter caseNode(Node object) {
+ return createNodeAdapter();
+ }
+ @Override
+ public Adapter casePowerSupply(PowerSupply object) {
+ return createPowerSupplyAdapter();
+ }
+ @Override
+ public Adapter caseSensor(Sensor object) {
+ return createSensorAdapter();
+ }
+ @Override
+ public Adapter caseActuator(Actuator object) {
+ return createActuatorAdapter();
+ }
+ @Override
+ public Adapter caseLogicalBus(LogicalBus object) {
+ return createLogicalBusAdapter();
+ }
+ @Override
+ public Adapter caseHardwarePinGroup(HardwarePinGroup object) {
+ return createHardwarePinGroupAdapter();
+ }
+ @Override
+ public Adapter caseHardwareComponentType(HardwareComponentType object) {
+ return createHardwareComponentTypeAdapter();
+ }
+ @Override
+ public Adapter caseEAElement(EAElement object) {
+ return createEAElementAdapter();
+ }
+ @Override
+ public Adapter caseContext(Context object) {
+ return createContextAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HardwaremodelingAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = HardwaremodelingPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Actuator <em>Actuator</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.structure.hardwaremodeling.Actuator
+ * @generated
+ */
+ public Adapter createActuatorAdapter() {
+ return null;
+ }
+
+ /**
+ * 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.eclipse.papyrus.eastadl.structure.hardwaremodeling.AllocationTarget <em>Allocation Target</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.structure.hardwaremodeling.AllocationTarget
+ * @generated
+ */
+ public Adapter createAllocationTargetAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.IOHardwarePin <em>IO Hardware Pin</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.structure.hardwaremodeling.IOHardwarePin
+ * @generated
+ */
+ public Adapter createIOHardwarePinAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.CommunicationHardwarePin <em>Communication Hardware Pin</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.structure.hardwaremodeling.CommunicationHardwarePin
+ * @generated
+ */
+ public Adapter createCommunicationHardwarePinAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Context <em>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.eastadl.infrastructure.elements.Context
+ * @generated
+ */
+ public Adapter createContextAdapter() {
+ 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;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentPrototype <em>Hardware Component Prototype</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.structure.hardwaremodeling.HardwareComponentPrototype
+ * @generated
+ */
+ public Adapter createHardwareComponentPrototypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType <em>Hardware 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.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType
+ * @generated
+ */
+ public Adapter createHardwareComponentTypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement <em>EA Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAElement
+ * @generated
+ */
+ public Adapter createEAElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareConnector <em>Hardware Connector</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.structure.hardwaremodeling.HardwareConnector
+ * @generated
+ */
+ public Adapter createHardwareConnectorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin <em>Hardware Pin</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.structure.hardwaremodeling.HardwarePin
+ * @generated
+ */
+ public Adapter createHardwarePinAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePinGroup <em>Hardware Pin Group</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.structure.hardwaremodeling.HardwarePinGroup
+ * @generated
+ */
+ public Adapter createHardwarePinGroupAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBus <em>Logical 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.eastadl.structure.hardwaremodeling.LogicalBus
+ * @generated
+ */
+ public Adapter createLogicalBusAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Node <em>Node</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.structure.hardwaremodeling.Node
+ * @generated
+ */
+ public Adapter createNodeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.PowerHardwarePin <em>Power Hardware Pin</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.structure.hardwaremodeling.PowerHardwarePin
+ * @generated
+ */
+ public Adapter createPowerHardwarePinAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.PowerSupply <em>Power Supply</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.structure.hardwaremodeling.PowerSupply
+ * @generated
+ */
+ public Adapter createPowerSupplyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Sensor <em>Sensor</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.structure.hardwaremodeling.Sensor
+ * @generated
+ */
+ public Adapter createSensorAdapter() {
+ return null;
+ }
+
+ /**
+ * 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;
+ }
+
+} //HardwaremodelingAdapterFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/util/HardwaremodelingResourceFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/util/HardwaremodelingResourceFactoryImpl.java
new file mode 100644
index 00000000000..f456b48075a
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/util/HardwaremodelingResourceFactoryImpl.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling.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.eclipse.papyrus.eastadl.structure.hardwaremodeling.util.HardwaremodelingResourceImpl
+ * @generated
+ */
+public class HardwaremodelingResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HardwaremodelingResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new HardwaremodelingResourceImpl(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;
+ }
+
+} //HardwaremodelingResourceFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/util/HardwaremodelingResourceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/util/HardwaremodelingResourceImpl.java
new file mode 100644
index 00000000000..663c7b84d83
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/util/HardwaremodelingResourceImpl.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling.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.eclipse.papyrus.eastadl.structure.hardwaremodeling.util.HardwaremodelingResourceFactoryImpl
+ * @generated
+ */
+public class HardwaremodelingResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public HardwaremodelingResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //HardwaremodelingResourceImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/util/HardwaremodelingSwitch.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/util/HardwaremodelingSwitch.java
new file mode 100644
index 00000000000..18e56f59a9c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/util/HardwaremodelingSwitch.java
@@ -0,0 +1,469 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Actuator;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.AllocationTarget;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.CommunicationHardwarePin;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentPrototype;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentType;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareConnector;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePin;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwarePinGroup;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.IOHardwarePin;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.LogicalBus;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Node;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.PowerHardwarePin;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.PowerSupply;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.Sensor;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage
+ * @generated
+ */
+public class HardwaremodelingSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static HardwaremodelingPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HardwaremodelingSwitch() {
+ if (modelPackage == null) {
+ modelPackage = HardwaremodelingPackage.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;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Actuator</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Actuator</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseActuator(Actuator object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Allocation Target</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Allocation Target</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAllocationTarget(AllocationTarget object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>IO Hardware Pin</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>IO Hardware Pin</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIOHardwarePin(IOHardwarePin object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Communication Hardware Pin</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate 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 Hardware Pin</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCommunicationHardwarePin(CommunicationHardwarePin object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>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>Context</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseContext(Context object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hardware Component Prototype</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hardware Component Prototype</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHardwareComponentPrototype(HardwareComponentPrototype object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hardware 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>Hardware Component Type</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHardwareComponentType(HardwareComponentType object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAElement(EAElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hardware Connector</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hardware Connector</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHardwareConnector(HardwareConnector object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hardware Pin</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hardware Pin</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHardwarePin(HardwarePin object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hardware Pin Group</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hardware Pin Group</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHardwarePinGroup(HardwarePinGroup object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Logical 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>Logical Bus</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLogicalBus(LogicalBus object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Node</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Node</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNode(Node object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Power Hardware Pin</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Power Hardware Pin</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePowerHardwarePin(PowerHardwarePin object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Power Supply</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Power Supply</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePowerSupply(PowerSupply object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Sensor</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Sensor</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSensor(Sensor 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;
+ }
+
+ /**
+ * 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 HardwaremodelingPackage.HARDWARE_CONNECTOR: {
+ HardwareConnector hardwareConnector = (HardwareConnector)theEObject;
+ T result = caseHardwareConnector(hardwareConnector);
+ if (result == null) result = caseEAElement(hardwareConnector);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HardwaremodelingPackage.HARDWARE_PIN: {
+ HardwarePin hardwarePin = (HardwarePin)theEObject;
+ T result = caseHardwarePin(hardwarePin);
+ if (result == null) result = caseEAElement(hardwarePin);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HardwaremodelingPackage.HARDWARE_COMPONENT_PROTOTYPE: {
+ HardwareComponentPrototype hardwareComponentPrototype = (HardwareComponentPrototype)theEObject;
+ T result = caseHardwareComponentPrototype(hardwareComponentPrototype);
+ if (result == null) result = caseAllocationTarget(hardwareComponentPrototype);
+ if (result == null) result = caseEAElement(hardwareComponentPrototype);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HardwaremodelingPackage.ALLOCATION_TARGET: {
+ AllocationTarget allocationTarget = (AllocationTarget)theEObject;
+ T result = caseAllocationTarget(allocationTarget);
+ if (result == null) result = caseEAElement(allocationTarget);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HardwaremodelingPackage.IO_HARDWARE_PIN: {
+ IOHardwarePin ioHardwarePin = (IOHardwarePin)theEObject;
+ T result = caseIOHardwarePin(ioHardwarePin);
+ if (result == null) result = caseHardwarePin(ioHardwarePin);
+ if (result == null) result = caseEAElement(ioHardwarePin);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HardwaremodelingPackage.POWER_HARDWARE_PIN: {
+ PowerHardwarePin powerHardwarePin = (PowerHardwarePin)theEObject;
+ T result = casePowerHardwarePin(powerHardwarePin);
+ if (result == null) result = caseHardwarePin(powerHardwarePin);
+ if (result == null) result = caseEAElement(powerHardwarePin);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HardwaremodelingPackage.COMMUNICATION_HARDWARE_PIN: {
+ CommunicationHardwarePin communicationHardwarePin = (CommunicationHardwarePin)theEObject;
+ T result = caseCommunicationHardwarePin(communicationHardwarePin);
+ if (result == null) result = caseHardwarePin(communicationHardwarePin);
+ if (result == null) result = caseEAElement(communicationHardwarePin);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HardwaremodelingPackage.NODE: {
+ Node node = (Node)theEObject;
+ T result = caseNode(node);
+ if (result == null) result = caseHardwareComponentType(node);
+ if (result == null) result = caseContext(node);
+ if (result == null) result = caseEAElement(node);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HardwaremodelingPackage.POWER_SUPPLY: {
+ PowerSupply powerSupply = (PowerSupply)theEObject;
+ T result = casePowerSupply(powerSupply);
+ if (result == null) result = caseHardwareComponentType(powerSupply);
+ if (result == null) result = caseContext(powerSupply);
+ if (result == null) result = caseEAElement(powerSupply);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HardwaremodelingPackage.SENSOR: {
+ Sensor sensor = (Sensor)theEObject;
+ T result = caseSensor(sensor);
+ if (result == null) result = caseHardwareComponentType(sensor);
+ if (result == null) result = caseContext(sensor);
+ if (result == null) result = caseEAElement(sensor);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HardwaremodelingPackage.ACTUATOR: {
+ Actuator actuator = (Actuator)theEObject;
+ T result = caseActuator(actuator);
+ if (result == null) result = caseHardwareComponentType(actuator);
+ if (result == null) result = caseContext(actuator);
+ if (result == null) result = caseEAElement(actuator);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HardwaremodelingPackage.LOGICAL_BUS: {
+ LogicalBus logicalBus = (LogicalBus)theEObject;
+ T result = caseLogicalBus(logicalBus);
+ if (result == null) result = caseAllocationTarget(logicalBus);
+ if (result == null) result = caseEAElement(logicalBus);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HardwaremodelingPackage.HARDWARE_PIN_GROUP: {
+ HardwarePinGroup hardwarePinGroup = (HardwarePinGroup)theEObject;
+ T result = caseHardwarePinGroup(hardwarePinGroup);
+ if (result == null) result = caseEAElement(hardwarePinGroup);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HardwaremodelingPackage.HARDWARE_COMPONENT_TYPE: {
+ HardwareComponentType hardwareComponentType = (HardwareComponentType)theEObject;
+ T result = caseHardwareComponentType(hardwareComponentType);
+ if (result == null) result = caseContext(hardwareComponentType);
+ if (result == null) result = caseEAElement(hardwareComponentType);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+} //HardwaremodelingSwitch
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/util/HardwaremodelingXMLProcessor.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/util/HardwaremodelingXMLProcessor.java
new file mode 100644
index 00000000000..dcdaca2d250
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/hardwaremodeling/util/HardwaremodelingXMLProcessor.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.hardwaremodeling.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.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HardwaremodelingXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HardwaremodelingXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ HardwaremodelingPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the HardwaremodelingResourceFactoryImpl 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 HardwaremodelingResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new HardwaremodelingResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //HardwaremodelingXMLProcessor
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/impl/StructureFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/impl/StructureFactoryImpl.java
new file mode 100644
index 00000000000..cf41f6ce845
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/impl/StructureFactoryImpl.java
@@ -0,0 +1,135 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.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.eclipse.papyrus.eastadl.structure.StructureFactory;
+import org.eclipse.papyrus.eastadl.structure.StructurePackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!-- end-user-doc -->
+ * @generated
+ */
+public class StructureFactoryImpl extends EFactoryImpl implements StructureFactory {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static StructurePackage getPackage() {
+ return StructurePackage.eINSTANCE;
+ }
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public static StructureFactory init() {
+ try {
+ StructureFactory theStructureFactory = (StructureFactory)EPackage.Registry.INSTANCE.getEFactory(StructurePackage.eNS_URI);
+ if (theStructureFactory != null) {
+ return theStructureFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new StructureFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public StructureFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertDummyToString(EDataType eDataType, Object instanceValue) {
+ return super.convertToString(eDataType, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case StructurePackage.DUMMY:
+ return convertDummyToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- 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
+ */
+ public String createDummyFromString(EDataType eDataType, String initialValue) {
+ return (String)super.createFromString(eDataType, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case StructurePackage.DUMMY:
+ return createDummyFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public StructurePackage getStructurePackage() {
+ return (StructurePackage)getEPackage();
+ }
+
+} // StructureFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/impl/StructurePackageImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/impl/StructurePackageImpl.java
new file mode 100644
index 00000000000..eb7d6057fd0
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/impl/StructurePackageImpl.java
@@ -0,0 +1,311 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.impl;
+
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.eastadl.EastadlPackage;
+import org.eclipse.papyrus.eastadl.annex.AnnexPackage;
+import org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.StructureFactory;
+import org.eclipse.papyrus.eastadl.structure.StructurePackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc -->
+ * @generated
+ */
+public class StructurePackageImpl extends EPackageImpl implements StructurePackage {
+
+ /**
+ * <!-- 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 StructurePackage#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 StructurePackage init() {
+ if (isInited) return (StructurePackage)EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI);
+
+ // Obtain or create and register package
+ StructurePackageImpl theStructurePackage = (StructurePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof StructurePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new StructurePackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ SysmlPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EastadlPackageImpl theEastadlPackage = (EastadlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) instanceof EastadlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) : EastadlPackage.eINSTANCE);
+ VariabilityPackageImpl theVariabilityPackage = (VariabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) instanceof VariabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) : VariabilityPackage.eINSTANCE);
+ InfrastructurePackageImpl theInfrastructurePackage = (InfrastructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) instanceof InfrastructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) : InfrastructurePackage.eINSTANCE);
+ DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) instanceof DatatypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) : DatatypesPackage.eINSTANCE);
+ UserattributesPackageImpl theUserattributesPackage = (UserattributesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) instanceof UserattributesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) : UserattributesPackage.eINSTANCE);
+ ElementsPackageImpl theElementsPackage = (ElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) instanceof ElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) : ElementsPackage.eINSTANCE);
+ FunctionmodelingPackageImpl theFunctionmodelingPackage = (FunctionmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) instanceof FunctionmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) : FunctionmodelingPackage.eINSTANCE);
+ HardwaremodelingPackageImpl theHardwaremodelingPackage = (HardwaremodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) instanceof HardwaremodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) : HardwaremodelingPackage.eINSTANCE);
+ SystemmodelingPackageImpl theSystemmodelingPackage = (SystemmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) instanceof SystemmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) : SystemmodelingPackage.eINSTANCE);
+ VehiclefeaturemodelingPackageImpl theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) instanceof VehiclefeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) : VehiclefeaturemodelingPackage.eINSTANCE);
+ FeaturemodelingPackageImpl theFeaturemodelingPackage = (FeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) instanceof FeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) : FeaturemodelingPackage.eINSTANCE);
+ BehaviorPackageImpl theBehaviorPackage = (BehaviorPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) instanceof BehaviorPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) : BehaviorPackage.eINSTANCE);
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) : RequirementsPackage.eINSTANCE);
+ VerificationvalidationPackageImpl theVerificationvalidationPackage = (VerificationvalidationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) instanceof VerificationvalidationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) : VerificationvalidationPackage.eINSTANCE);
+ TimingPackageImpl theTimingPackage = (TimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) instanceof TimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) : TimingPackage.eINSTANCE);
+ TimingconstraintsPackageImpl theTimingconstraintsPackage = (TimingconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) instanceof TimingconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) : TimingconstraintsPackage.eINSTANCE);
+ EventsPackageImpl theEventsPackage = (EventsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+ InterchangePackageImpl theInterchangePackage = (InterchangePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) instanceof InterchangePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) : InterchangePackage.eINSTANCE);
+ EnvironmentPackageImpl theEnvironmentPackage = (EnvironmentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) instanceof EnvironmentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) : EnvironmentPackage.eINSTANCE);
+ DependabilityPackageImpl theDependabilityPackage = (DependabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) instanceof DependabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) : DependabilityPackage.eINSTANCE);
+ ErrormodelPackageImpl theErrormodelPackage = (ErrormodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) instanceof ErrormodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) : ErrormodelPackage.eINSTANCE);
+ SafetyrequirementPackageImpl theSafetyrequirementPackage = (SafetyrequirementPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) instanceof SafetyrequirementPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) : SafetyrequirementPackage.eINSTANCE);
+ SafetyconstraintsPackageImpl theSafetyconstraintsPackage = (SafetyconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) instanceof SafetyconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) : SafetyconstraintsPackage.eINSTANCE);
+ SafetycasePackageImpl theSafetycasePackage = (SafetycasePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) instanceof SafetycasePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) : SafetycasePackage.eINSTANCE);
+ AnnexPackageImpl theAnnexPackage = (AnnexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) instanceof AnnexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) : AnnexPackage.eINSTANCE);
+ NeedsPackageImpl theNeedsPackage = (NeedsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) instanceof NeedsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) : NeedsPackage.eINSTANCE);
+ GenericconstraintsPackageImpl theGenericconstraintsPackage = (GenericconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) instanceof GenericconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) : GenericconstraintsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theStructurePackage.createPackageContents();
+ theEastadlPackage.createPackageContents();
+ theVariabilityPackage.createPackageContents();
+ theInfrastructurePackage.createPackageContents();
+ theDatatypesPackage.createPackageContents();
+ theUserattributesPackage.createPackageContents();
+ theElementsPackage.createPackageContents();
+ theFunctionmodelingPackage.createPackageContents();
+ theHardwaremodelingPackage.createPackageContents();
+ theSystemmodelingPackage.createPackageContents();
+ theVehiclefeaturemodelingPackage.createPackageContents();
+ theFeaturemodelingPackage.createPackageContents();
+ theBehaviorPackage.createPackageContents();
+ theRequirementsPackage.createPackageContents();
+ theVerificationvalidationPackage.createPackageContents();
+ theTimingPackage.createPackageContents();
+ theTimingconstraintsPackage.createPackageContents();
+ theEventsPackage.createPackageContents();
+ theInterchangePackage.createPackageContents();
+ theEnvironmentPackage.createPackageContents();
+ theDependabilityPackage.createPackageContents();
+ theErrormodelPackage.createPackageContents();
+ theSafetyrequirementPackage.createPackageContents();
+ theSafetyconstraintsPackage.createPackageContents();
+ theSafetycasePackage.createPackageContents();
+ theAnnexPackage.createPackageContents();
+ theNeedsPackage.createPackageContents();
+ theGenericconstraintsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theStructurePackage.initializePackageContents();
+ theEastadlPackage.initializePackageContents();
+ theVariabilityPackage.initializePackageContents();
+ theInfrastructurePackage.initializePackageContents();
+ theDatatypesPackage.initializePackageContents();
+ theUserattributesPackage.initializePackageContents();
+ theElementsPackage.initializePackageContents();
+ theFunctionmodelingPackage.initializePackageContents();
+ theHardwaremodelingPackage.initializePackageContents();
+ theSystemmodelingPackage.initializePackageContents();
+ theVehiclefeaturemodelingPackage.initializePackageContents();
+ theFeaturemodelingPackage.initializePackageContents();
+ theBehaviorPackage.initializePackageContents();
+ theRequirementsPackage.initializePackageContents();
+ theVerificationvalidationPackage.initializePackageContents();
+ theTimingPackage.initializePackageContents();
+ theTimingconstraintsPackage.initializePackageContents();
+ theEventsPackage.initializePackageContents();
+ theInterchangePackage.initializePackageContents();
+ theEnvironmentPackage.initializePackageContents();
+ theDependabilityPackage.initializePackageContents();
+ theErrormodelPackage.initializePackageContents();
+ theSafetyrequirementPackage.initializePackageContents();
+ theSafetyconstraintsPackage.initializePackageContents();
+ theSafetycasePackage.initializePackageContents();
+ theAnnexPackage.initializePackageContents();
+ theNeedsPackage.initializePackageContents();
+ theGenericconstraintsPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theStructurePackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(StructurePackage.eNS_URI, theStructurePackage);
+ return theStructurePackage;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EDataType dummyEDataType = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * 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.eclipse.papyrus.eastadl.structure.StructurePackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private StructurePackageImpl() {
+ super(eNS_URI, StructureFactory.eINSTANCE);
+ }
+
+ /**
+ * 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 data types
+ dummyEDataType = createEDataType(DUMMY);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EDataType getDummy() {
+ return dummyEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public StructureFactory getStructureFactory() {
+ return (StructureFactory)getEFactoryInstance();
+ }
+
+ /**
+ * 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
+ FunctionmodelingPackage theFunctionmodelingPackage = (FunctionmodelingPackage)EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI);
+ HardwaremodelingPackage theHardwaremodelingPackage = (HardwaremodelingPackage)EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI);
+ SystemmodelingPackage theSystemmodelingPackage = (SystemmodelingPackage)EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI);
+ VehiclefeaturemodelingPackage theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackage)EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI);
+ FeaturemodelingPackage theFeaturemodelingPackage = (FeaturemodelingPackage)EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI);
+
+ // Add subpackages
+ getESubpackages().add(theFunctionmodelingPackage);
+ getESubpackages().add(theHardwaremodelingPackage);
+ getESubpackages().add(theSystemmodelingPackage);
+ getESubpackages().add(theVehiclefeaturemodelingPackage);
+ getESubpackages().add(theFeaturemodelingPackage);
+
+ // Initialize data types
+ initEDataType(dummyEDataType, String.class, "Dummy", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+ }
+
+} // StructurePackageImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/AnalysisLevel.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/AnalysisLevel.java
new file mode 100644
index 00000000000..a52fe25f8cc
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/AnalysisLevel.java
@@ -0,0 +1,131 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.systemmodeling;
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.AnalysisFunctionPrototype;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Analysis Level</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * AnalysisLevel represents the vehicle EE system in terms of its abstract functional definition. It includes the functional analysis architecture (FAA) which represents the abstract functional structure.
+ *
+ * Semantics:
+ * AnalysisLevel represents the vehicle EE system in terms of its abstract functional definition. It defines the logical functionality and a logical decomposition of functionality down to the appropriate granularity.
+ *
+ * Notation:
+ * The Analysis Architecture is shown as a solid-outline rectangle containing the name, with its ports or port groups on the perimeter. Contained entities may be shown with its connectors (White-box view).
+ *
+ * Extension:
+ * Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.AnalysisLevel#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.AnalysisLevel#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.AnalysisLevel#getFunctionalAnalysisArchitecture <em>Functional Analysis Architecture</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage#getAnalysisLevel()
+ * @model
+ * @generated
+ */
+public interface AnalysisLevel extends Context {
+ /**
+ * 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.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage#getAnalysisLevel_Base_Class()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.AnalysisLevel#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>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.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage#getAnalysisLevel_Base_Package()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.AnalysisLevel#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>Functional Analysis Architecture</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Functional Analysis Architecture</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>Functional Analysis Architecture</em>' reference.
+ * @see #setFunctionalAnalysisArchitecture(AnalysisFunctionPrototype)
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage#getAnalysisLevel_FunctionalAnalysisArchitecture()
+ * @model ordered="false"
+ * @generated
+ */
+ AnalysisFunctionPrototype getFunctionalAnalysisArchitecture();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.AnalysisLevel#getFunctionalAnalysisArchitecture <em>Functional Analysis Architecture</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Functional Analysis Architecture</em>' reference.
+ * @see #getFunctionalAnalysisArchitecture()
+ * @generated
+ */
+ void setFunctionalAnalysisArchitecture(AnalysisFunctionPrototype value);
+
+} // AnalysisLevel
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/DesignLevel.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/DesignLevel.java
new file mode 100644
index 00000000000..54d6fddfb33
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/DesignLevel.java
@@ -0,0 +1,191 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.systemmodeling;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.Allocation;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentPrototype;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Design Level</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * DesignLevel represents the vehicle EE system on the design abstraction level. It includes primarily the Functional Design Architecture (FDA), and the HardwareDesignArchitecture (HDA).
+ *
+ * FDA represents a top level Function. It is supposed to implement all the functionalities of a vehicle, as specified by a Functional Analysis Architecture or a Vehicle level (if no Functional Analysis Architecture has been defined during the process).
+ *
+ * The design level in EAST-ADL2 includes the design architecture containing the functional specification and hardware architecture of the vehicle EE system. The design architecture includes the Functional Design Architecture representing a decomposition of functionalities analyzed on the analysis level. The decomposition has the purpose of making it possible to meet constraints regarding non-functional properties such as allocation, efficiency, reuse, or supplier concerns. There is an n-to-m mapping between entities of the design- and the ones on the analysis level.
+ *
+ * Non-transparent infrastructure functionality such as mode changes and error handling are also represented at the design level, such that their impact on applications' behaviors can be estimated.
+ *
+ * The Functional Design Architecture parts are typed by FunctionTypes and LocalDeviceManagers. The view of the HardwareArchitecture facilitates the realization of LocalDeviceManager as sensor/actuator HW elements.
+ *
+ * The HDA is the hardware design from a system perspective. The HDA has two purposes:
+ *
+ * 1) It shows the physical entities and how they are connected.
+ *
+ * 2) It is an allocation target for the Functions of the Functional Design Architecture.
+ *
+ * The HDA represents the hardware architecture of the embedded system. Its contained HW elements represent the physical aspects of the hardware entities and how they are connected. HardwareFunctionTypes associated to HW components represent the logical behavior of the contained HW elements.
+ *
+ * Semantics:
+ * The DesignLevel is the representation of the vehicle EE system on the design abstraction level. It corresponds to the design of logical functions and boundaries extended in regards to resource commitment.
+ *
+ * Notation:
+ * The DesignLevel is shown as a solid-outline rectangle containing the name, with its ports or port groups on the perimeter. Contained entities may be shown with its connectors (White-box view).
+ *
+ *
+ * Extension: Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.DesignLevel#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.DesignLevel#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.DesignLevel#getFunctionalDesignArchitecture <em>Functional Design Architecture</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.DesignLevel#getHardwareDesignArchitecture <em>Hardware Design Architecture</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.DesignLevel#getAllocation <em>Allocation</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage#getDesignLevel()
+ * @model
+ * @generated
+ */
+public interface DesignLevel extends Context {
+ /**
+ * 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.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage#getDesignLevel_Base_Class()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.DesignLevel#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>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.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage#getDesignLevel_Base_Package()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.DesignLevel#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>Allocation</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.Allocation}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Allocation</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Allocation</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage#getDesignLevel_Allocation()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Allocation> getAllocation();
+
+ /**
+ * Returns the value of the '<em><b>Functional Design Architecture</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Functional Design Architecture</em>' reference.
+ * @see #setFunctionalDesignArchitecture(DesignFunctionPrototype)
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage#getDesignLevel_FunctionalDesignArchitecture()
+ * @model ordered="false"
+ * @generated
+ */
+ DesignFunctionPrototype getFunctionalDesignArchitecture();
+
+ /**
+ * Returns the value of the '<em><b>Hardware Design Architecture</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Hardware Design Architecture</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>Hardware Design Architecture</em>' reference.
+ * @see #setHardwareDesignArchitecture(HardwareComponentPrototype)
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage#getDesignLevel_HardwareDesignArchitecture()
+ * @model ordered="false"
+ * @generated
+ */
+ HardwareComponentPrototype getHardwareDesignArchitecture();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.DesignLevel#getFunctionalDesignArchitecture <em>Functional Design Architecture</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Functional Design Architecture</em>' reference.
+ * @see #getFunctionalDesignArchitecture()
+ * @generated
+ */
+ void setFunctionalDesignArchitecture(DesignFunctionPrototype value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.DesignLevel#getHardwareDesignArchitecture <em>Hardware Design Architecture</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Hardware Design Architecture</em>' reference.
+ * @see #getHardwareDesignArchitecture()
+ * @generated
+ */
+ void setHardwareDesignArchitecture(HardwareComponentPrototype value);
+
+} // DesignLevel
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/ImplementationLevel.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/ImplementationLevel.java
new file mode 100644
index 00000000000..ddda2026257
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/ImplementationLevel.java
@@ -0,0 +1,122 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.systemmodeling;
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.uml2.uml.NamedElement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Implementation Level</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * ImplementationLevel represents the software architecture and components, and the hardware architecture of the EE system in the vehicle. The ImplementationLevel is defined by the AUTOSAR System- and SoftwareArchitecture. For example, functions of the Functional Design Architecture will be realized by AUTOSAR SW-Components in the ImplementationLevel. Traceability is supported from implementation level elements (AUTOSAR) to upper level elements by Realization relationships.
+ *
+ *
+ * Extension: Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.ImplementationLevel#getAutosarSystem <em>Autosar System</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.ImplementationLevel#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.ImplementationLevel#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage#getImplementationLevel()
+ * @model
+ * @generated
+ */
+public interface ImplementationLevel extends Context {
+ /**
+ * Returns the value of the '<em><b>Autosar System</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Autosar System</em>' reference.
+ * @see #setAutosarSystem(NamedElement)
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage#getImplementationLevel_AutosarSystem()
+ * @model ordered="false"
+ * @generated
+ */
+ NamedElement getAutosarSystem();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.ImplementationLevel#getAutosarSystem <em>Autosar System</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Autosar System</em>' reference.
+ * @see #getAutosarSystem()
+ * @generated
+ */
+ void setAutosarSystem(NamedElement 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.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage#getImplementationLevel_Base_Class()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.ImplementationLevel#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>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.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage#getImplementationLevel_Base_Package()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.ImplementationLevel#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);
+
+} // ImplementationLevel
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/SystemModel.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/SystemModel.java
new file mode 100644
index 00000000000..4f151a93937
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/SystemModel.java
@@ -0,0 +1,208 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.systemmodeling;
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>System Model</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * SystemModel is used to organize models/architectures according to their abstraction level; it can also hold with relationships between the different levels.
+ *
+ * Semantics:
+ * The SystemModel represents the EE system of the vehicle, and concepts related to the various abstraction levels.
+ *
+ * Notation:
+ * The default notation for a SystemModel is a solid-outline rectangle containing the SystemModel's name, and with compartments separating by horizontal lines containing features or other members of the SystemModel. Contained entities may also be shown with its connectors (White-box view).
+ *
+ * Changes: New class in EAST-ADL2
+ *
+ * Extension: Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel#getImplementationLevel <em>Implementation Level</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel#getAnalysisLevel <em>Analysis Level</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel#getDesignLevel <em>Design Level</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel#getVehicleLevel <em>Vehicle Level</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage#getSystemModel()
+ * @model
+ * @generated
+ */
+public interface SystemModel extends Context {
+ /**
+ * Returns the value of the '<em><b>Analysis Level</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The AnalysisArchitecture contained in the SystemModel and connected to the EnvironmentModel through ports-connectors
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Analysis Level</em>' reference.
+ * @see #setAnalysisLevel(AnalysisLevel)
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage#getSystemModel_AnalysisLevel()
+ * @model ordered="false"
+ * @generated
+ */
+ AnalysisLevel getAnalysisLevel();
+
+ /**
+ * Returns the value of the '<em><b>Design Level</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The designArchitecture contained in the SystemModel and connected to the EnvironmentModel through ports-connectors
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Design Level</em>' reference.
+ * @see #setDesignLevel(DesignLevel)
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage#getSystemModel_DesignLevel()
+ * @model ordered="false"
+ * @generated
+ */
+ DesignLevel getDesignLevel();
+
+ /**
+ * Returns the value of the '<em><b>Implementation Level</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The Implementation Architecture abstraction level.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Implementation Level</em>' reference.
+ * @see #setImplementationLevel(ImplementationLevel)
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage#getSystemModel_ImplementationLevel()
+ * @model ordered="false"
+ * @generated
+ */
+ ImplementationLevel getImplementationLevel();
+
+ /**
+ * Returns the value of the '<em><b>Vehicle Level</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The Vehicle Feature Model contained in the SystemModel.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Vehicle Level</em>' reference.
+ * @see #setVehicleLevel(VehicleLevel)
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage#getSystemModel_VehicleLevel()
+ * @model ordered="false"
+ * @generated
+ */
+ VehicleLevel getVehicleLevel();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel#getAnalysisLevel <em>Analysis Level</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Analysis Level</em>' reference.
+ * @see #getAnalysisLevel()
+ * @generated
+ */
+ void setAnalysisLevel(AnalysisLevel value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel#getDesignLevel <em>Design Level</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Design Level</em>' reference.
+ * @see #getDesignLevel()
+ * @generated
+ */
+ void setDesignLevel(DesignLevel value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel#getImplementationLevel <em>Implementation Level</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Implementation Level</em>' reference.
+ * @see #getImplementationLevel()
+ * @generated
+ */
+ void setImplementationLevel(ImplementationLevel value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel#getVehicleLevel <em>Vehicle Level</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Vehicle Level</em>' reference.
+ * @see #getVehicleLevel()
+ * @generated
+ */
+ void setVehicleLevel(VehicleLevel 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.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage#getSystemModel_Base_Class()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel#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>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.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage#getSystemModel_Base_Package()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel#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);
+
+} // SystemModel
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/SystemmodelingFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/SystemmodelingFactory.java
new file mode 100644
index 00000000000..ef986e54082
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/SystemmodelingFactory.java
@@ -0,0 +1,91 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.systemmodeling;
+
+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.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage
+ * @generated
+ */
+public interface SystemmodelingFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ SystemmodelingFactory eINSTANCE = org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Analysis Level</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Analysis Level</em>'.
+ * @generated
+ */
+ AnalysisLevel createAnalysisLevel();
+
+ /**
+ * Returns a new object of class '<em>Design Level</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Design Level</em>'.
+ * @generated
+ */
+ DesignLevel createDesignLevel();
+
+ /**
+ * Returns a new object of class '<em>Implementation Level</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Implementation Level</em>'.
+ * @generated
+ */
+ ImplementationLevel createImplementationLevel();
+
+ /**
+ * Returns a new object of class '<em>System Model</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>System Model</em>'.
+ * @generated
+ */
+ SystemModel createSystemModel();
+
+ /**
+ * Returns a new object of class '<em>Vehicle Level</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Vehicle Level</em>'.
+ * @generated
+ */
+ VehicleLevel createVehicleLevel();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ SystemmodelingPackage getSystemmodelingPackage();
+
+} //SystemmodelingFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/SystemmodelingPackage.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/SystemmodelingPackage.java
new file mode 100644
index 00000000000..335b5bd3653
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/SystemmodelingPackage.java
@@ -0,0 +1,1089 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.systemmodeling;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+
+
+/**
+ * <!-- 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 -->
+ * <!-- begin-model-doc -->
+ * The ADLSystemModel is the top level container of an EAST-ADL2 model. It represents the electronics & software of the vehicle, and its environment, and concepts related to the various abstraction level of models used in EAST-ADL2. It is mainly based on both concepts: Models and architectures.
+ * VehicleFeatureModel represents the features of the vehicle, i.e. the externally visible properties
+ * The AnalysisArchitecture is the abstract functional description of the vehicle electronics
+ * The DesignArchitecture contains the functional specification and hardware architecture of the vehicle electronics
+ * The Implementation Architecture contains the software architecture and components and the hardware architecture of the vehicle
+ * The Operational Architecture represents the actual software and electronics in the manufactured vehicle
+ * The word model vs. architecture is chosen rather informally. Architecture is used where this term is often used in practice, and where the construct is a complete (in some sense) reflection of the aspects that it captures. Model is used in other cases.
+ * These models/architectures contain further elements in a hierarchy.. Relations between these elements over the boundaries between the models/architectures are contained in the ADLSystemModel. This is possible because the SystemModel is a specialization of the ADLContext, and is thus able to contain relations. Typical relations are described in the sub-package CoreConstructs (see definition of ADLRelationship, ADLRealization and ADLSatisfy).
+ *
+ * Overview:
+ * The ADLSystemModel is the top level container of an EAST-ADL2 model. It represents the electronics & software of the vehicle, and its environment, and concepts related to the various abstraction level of models used in EAST-ADL2. It is mainly based on both concepts: Models and architectures.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface SystemmodelingPackage extends EPackage {
+ /**
+ * <!-- 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.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemModelImpl <em>System Model</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemModelImpl
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl#getSystemModel()
+ * @generated
+ */
+ EClass SYSTEM_MODEL = eINSTANCE.getSystemModel();
+
+ /**
+ * The meta object literal for the '<em><b>Implementation Level</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SYSTEM_MODEL__IMPLEMENTATION_LEVEL = eINSTANCE.getSystemModel_ImplementationLevel();
+
+ /**
+ * The meta object literal for the '<em><b>Analysis Level</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SYSTEM_MODEL__ANALYSIS_LEVEL = eINSTANCE.getSystemModel_AnalysisLevel();
+
+ /**
+ * The meta object literal for the '<em><b>Design Level</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SYSTEM_MODEL__DESIGN_LEVEL = eINSTANCE.getSystemModel_DesignLevel();
+
+ /**
+ * The meta object literal for the '<em><b>Vehicle Level</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SYSTEM_MODEL__VEHICLE_LEVEL = eINSTANCE.getSystemModel_VehicleLevel();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SYSTEM_MODEL__BASE_CLASS = eINSTANCE.getSystemModel_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SYSTEM_MODEL__BASE_PACKAGE = eINSTANCE.getSystemModel_Base_Package();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.ImplementationLevelImpl <em>Implementation Level</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.ImplementationLevelImpl
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl#getImplementationLevel()
+ * @generated
+ */
+ EClass IMPLEMENTATION_LEVEL = eINSTANCE.getImplementationLevel();
+
+ /**
+ * The meta object literal for the '<em><b>Autosar System</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference IMPLEMENTATION_LEVEL__AUTOSAR_SYSTEM = eINSTANCE.getImplementationLevel_AutosarSystem();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference IMPLEMENTATION_LEVEL__BASE_CLASS = eINSTANCE.getImplementationLevel_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference IMPLEMENTATION_LEVEL__BASE_PACKAGE = eINSTANCE.getImplementationLevel_Base_Package();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.AnalysisLevelImpl <em>Analysis Level</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.AnalysisLevelImpl
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl#getAnalysisLevel()
+ * @generated
+ */
+ EClass ANALYSIS_LEVEL = eINSTANCE.getAnalysisLevel();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ANALYSIS_LEVEL__BASE_CLASS = eINSTANCE.getAnalysisLevel_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ANALYSIS_LEVEL__BASE_PACKAGE = eINSTANCE.getAnalysisLevel_Base_Package();
+
+ /**
+ * The meta object literal for the '<em><b>Functional Analysis Architecture</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ANALYSIS_LEVEL__FUNCTIONAL_ANALYSIS_ARCHITECTURE = eINSTANCE.getAnalysisLevel_FunctionalAnalysisArchitecture();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.DesignLevelImpl <em>Design Level</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.DesignLevelImpl
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl#getDesignLevel()
+ * @generated
+ */
+ EClass DESIGN_LEVEL = eINSTANCE.getDesignLevel();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DESIGN_LEVEL__BASE_CLASS = eINSTANCE.getDesignLevel_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DESIGN_LEVEL__BASE_PACKAGE = eINSTANCE.getDesignLevel_Base_Package();
+
+ /**
+ * The meta object literal for the '<em><b>Functional Design Architecture</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DESIGN_LEVEL__FUNCTIONAL_DESIGN_ARCHITECTURE = eINSTANCE.getDesignLevel_FunctionalDesignArchitecture();
+
+ /**
+ * The meta object literal for the '<em><b>Hardware Design Architecture</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DESIGN_LEVEL__HARDWARE_DESIGN_ARCHITECTURE = eINSTANCE.getDesignLevel_HardwareDesignArchitecture();
+
+ /**
+ * The meta object literal for the '<em><b>Allocation</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DESIGN_LEVEL__ALLOCATION = eINSTANCE.getDesignLevel_Allocation();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.VehicleLevelImpl <em>Vehicle Level</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.VehicleLevelImpl
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl#getVehicleLevel()
+ * @generated
+ */
+ EClass VEHICLE_LEVEL = eINSTANCE.getVehicleLevel();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VEHICLE_LEVEL__BASE_PACKAGE = eINSTANCE.getVehicleLevel_Base_Package();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VEHICLE_LEVEL__BASE_CLASS = eINSTANCE.getVehicleLevel_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Technical Feature Model</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VEHICLE_LEVEL__TECHNICAL_FEATURE_MODEL = eINSTANCE.getVehicleLevel_TechnicalFeatureModel();
+
+ }
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "systemmodeling";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.papyrusuml.org/EAST-ADL2/Structure/SystemModeling/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "SystemModeling";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ SystemmodelingPackage eINSTANCE = org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemModelImpl <em>System Model</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemModelImpl
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl#getSystemModel()
+ * @generated
+ */
+ int SYSTEM_MODEL = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.ImplementationLevelImpl <em>Implementation Level</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.ImplementationLevelImpl
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl#getImplementationLevel()
+ * @generated
+ */
+ int IMPLEMENTATION_LEVEL = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.AnalysisLevelImpl <em>Analysis Level</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.AnalysisLevelImpl
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl#getAnalysisLevel()
+ * @generated
+ */
+ int ANALYSIS_LEVEL = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.DesignLevelImpl <em>Design Level</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.DesignLevelImpl
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl#getDesignLevel()
+ * @generated
+ */
+ int DESIGN_LEVEL = 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SYSTEM_MODEL__NAME = ElementsPackage.CONTEXT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SYSTEM_MODEL__BASE_NAMED_ELEMENT = ElementsPackage.CONTEXT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SYSTEM_MODEL__OWNED_COMMENT = ElementsPackage.CONTEXT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SYSTEM_MODEL__TRACEABLE_SPECIFICATION = ElementsPackage.CONTEXT__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SYSTEM_MODEL__OWNED_RELATIONSHIP = ElementsPackage.CONTEXT__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Implementation Level</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SYSTEM_MODEL__IMPLEMENTATION_LEVEL = ElementsPackage.CONTEXT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Analysis Level</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SYSTEM_MODEL__ANALYSIS_LEVEL = ElementsPackage.CONTEXT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Design Level</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SYSTEM_MODEL__DESIGN_LEVEL = ElementsPackage.CONTEXT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Vehicle Level</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SYSTEM_MODEL__VEHICLE_LEVEL = ElementsPackage.CONTEXT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SYSTEM_MODEL__BASE_CLASS = ElementsPackage.CONTEXT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SYSTEM_MODEL__BASE_PACKAGE = ElementsPackage.CONTEXT_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>System Model</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SYSTEM_MODEL_FEATURE_COUNT = ElementsPackage.CONTEXT_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLEMENTATION_LEVEL__NAME = ElementsPackage.CONTEXT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLEMENTATION_LEVEL__BASE_NAMED_ELEMENT = ElementsPackage.CONTEXT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLEMENTATION_LEVEL__OWNED_COMMENT = ElementsPackage.CONTEXT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLEMENTATION_LEVEL__TRACEABLE_SPECIFICATION = ElementsPackage.CONTEXT__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLEMENTATION_LEVEL__OWNED_RELATIONSHIP = ElementsPackage.CONTEXT__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Autosar System</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLEMENTATION_LEVEL__AUTOSAR_SYSTEM = ElementsPackage.CONTEXT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLEMENTATION_LEVEL__BASE_CLASS = ElementsPackage.CONTEXT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLEMENTATION_LEVEL__BASE_PACKAGE = ElementsPackage.CONTEXT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Implementation Level</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLEMENTATION_LEVEL_FEATURE_COUNT = ElementsPackage.CONTEXT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANALYSIS_LEVEL__NAME = ElementsPackage.CONTEXT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANALYSIS_LEVEL__BASE_NAMED_ELEMENT = ElementsPackage.CONTEXT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANALYSIS_LEVEL__OWNED_COMMENT = ElementsPackage.CONTEXT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANALYSIS_LEVEL__TRACEABLE_SPECIFICATION = ElementsPackage.CONTEXT__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANALYSIS_LEVEL__OWNED_RELATIONSHIP = ElementsPackage.CONTEXT__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANALYSIS_LEVEL__BASE_CLASS = ElementsPackage.CONTEXT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANALYSIS_LEVEL__BASE_PACKAGE = ElementsPackage.CONTEXT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Functional Analysis Architecture</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANALYSIS_LEVEL__FUNCTIONAL_ANALYSIS_ARCHITECTURE = ElementsPackage.CONTEXT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Analysis Level</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANALYSIS_LEVEL_FEATURE_COUNT = ElementsPackage.CONTEXT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_LEVEL__NAME = ElementsPackage.CONTEXT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_LEVEL__BASE_NAMED_ELEMENT = ElementsPackage.CONTEXT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_LEVEL__OWNED_COMMENT = ElementsPackage.CONTEXT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_LEVEL__TRACEABLE_SPECIFICATION = ElementsPackage.CONTEXT__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_LEVEL__OWNED_RELATIONSHIP = ElementsPackage.CONTEXT__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_LEVEL__BASE_CLASS = ElementsPackage.CONTEXT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_LEVEL__BASE_PACKAGE = ElementsPackage.CONTEXT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Functional Design Architecture</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_LEVEL__FUNCTIONAL_DESIGN_ARCHITECTURE = ElementsPackage.CONTEXT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Hardware Design Architecture</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_LEVEL__HARDWARE_DESIGN_ARCHITECTURE = ElementsPackage.CONTEXT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Allocation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_LEVEL__ALLOCATION = ElementsPackage.CONTEXT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Design Level</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESIGN_LEVEL_FEATURE_COUNT = ElementsPackage.CONTEXT_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.VehicleLevelImpl <em>Vehicle Level</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.VehicleLevelImpl
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl#getVehicleLevel()
+ * @generated
+ */
+ int VEHICLE_LEVEL = 4;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_LEVEL__NAME = ElementsPackage.CONTEXT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_LEVEL__BASE_NAMED_ELEMENT = ElementsPackage.CONTEXT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_LEVEL__OWNED_COMMENT = ElementsPackage.CONTEXT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_LEVEL__TRACEABLE_SPECIFICATION = ElementsPackage.CONTEXT__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_LEVEL__OWNED_RELATIONSHIP = ElementsPackage.CONTEXT__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_LEVEL__BASE_PACKAGE = ElementsPackage.CONTEXT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_LEVEL__BASE_CLASS = ElementsPackage.CONTEXT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Technical Feature Model</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_LEVEL__TECHNICAL_FEATURE_MODEL = ElementsPackage.CONTEXT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Vehicle Level</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_LEVEL_FEATURE_COUNT = ElementsPackage.CONTEXT_FEATURE_COUNT + 3;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.AnalysisLevel <em>Analysis Level</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Analysis Level</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.AnalysisLevel
+ * @generated
+ */
+ EClass getAnalysisLevel();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.AnalysisLevel#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.eclipse.papyrus.eastadl.structure.systemmodeling.AnalysisLevel#getBase_Class()
+ * @see #getAnalysisLevel()
+ * @generated
+ */
+ EReference getAnalysisLevel_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.AnalysisLevel#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.eclipse.papyrus.eastadl.structure.systemmodeling.AnalysisLevel#getBase_Package()
+ * @see #getAnalysisLevel()
+ * @generated
+ */
+ EReference getAnalysisLevel_Base_Package();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.AnalysisLevel#getFunctionalAnalysisArchitecture <em>Functional Analysis Architecture</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Functional Analysis Architecture</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.AnalysisLevel#getFunctionalAnalysisArchitecture()
+ * @see #getAnalysisLevel()
+ * @generated
+ */
+ EReference getAnalysisLevel_FunctionalAnalysisArchitecture();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.DesignLevel <em>Design Level</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Design Level</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.DesignLevel
+ * @generated
+ */
+ EClass getDesignLevel();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.DesignLevel#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.eclipse.papyrus.eastadl.structure.systemmodeling.DesignLevel#getBase_Class()
+ * @see #getDesignLevel()
+ * @generated
+ */
+ EReference getDesignLevel_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.DesignLevel#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.eclipse.papyrus.eastadl.structure.systemmodeling.DesignLevel#getBase_Package()
+ * @see #getDesignLevel()
+ * @generated
+ */
+ EReference getDesignLevel_Base_Package();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.DesignLevel#getAllocation <em>Allocation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Allocation</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.DesignLevel#getAllocation()
+ * @see #getDesignLevel()
+ * @generated
+ */
+ EReference getDesignLevel_Allocation();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.DesignLevel#getFunctionalDesignArchitecture <em>Functional Design Architecture</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Functional Design Architecture</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.DesignLevel#getFunctionalDesignArchitecture()
+ * @see #getDesignLevel()
+ * @generated
+ */
+ EReference getDesignLevel_FunctionalDesignArchitecture();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.DesignLevel#getHardwareDesignArchitecture <em>Hardware Design Architecture</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Hardware Design Architecture</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.DesignLevel#getHardwareDesignArchitecture()
+ * @see #getDesignLevel()
+ * @generated
+ */
+ EReference getDesignLevel_HardwareDesignArchitecture();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.ImplementationLevel <em>Implementation Level</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Implementation Level</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.ImplementationLevel
+ * @generated
+ */
+ EClass getImplementationLevel();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.ImplementationLevel#getAutosarSystem <em>Autosar System</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Autosar System</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.ImplementationLevel#getAutosarSystem()
+ * @see #getImplementationLevel()
+ * @generated
+ */
+ EReference getImplementationLevel_AutosarSystem();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.ImplementationLevel#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.eclipse.papyrus.eastadl.structure.systemmodeling.ImplementationLevel#getBase_Class()
+ * @see #getImplementationLevel()
+ * @generated
+ */
+ EReference getImplementationLevel_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.ImplementationLevel#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.eclipse.papyrus.eastadl.structure.systemmodeling.ImplementationLevel#getBase_Package()
+ * @see #getImplementationLevel()
+ * @generated
+ */
+ EReference getImplementationLevel_Base_Package();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel <em>System Model</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>System Model</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel
+ * @generated
+ */
+ EClass getSystemModel();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel#getAnalysisLevel <em>Analysis Level</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Analysis Level</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel#getAnalysisLevel()
+ * @see #getSystemModel()
+ * @generated
+ */
+ EReference getSystemModel_AnalysisLevel();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel#getDesignLevel <em>Design Level</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Design Level</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel#getDesignLevel()
+ * @see #getSystemModel()
+ * @generated
+ */
+ EReference getSystemModel_DesignLevel();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel#getImplementationLevel <em>Implementation Level</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Implementation Level</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel#getImplementationLevel()
+ * @see #getSystemModel()
+ * @generated
+ */
+ EReference getSystemModel_ImplementationLevel();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel#getVehicleLevel <em>Vehicle Level</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Vehicle Level</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel#getVehicleLevel()
+ * @see #getSystemModel()
+ * @generated
+ */
+ EReference getSystemModel_VehicleLevel();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel#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.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel#getBase_Class()
+ * @see #getSystemModel()
+ * @generated
+ */
+ EReference getSystemModel_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel#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.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel#getBase_Package()
+ * @see #getSystemModel()
+ * @generated
+ */
+ EReference getSystemModel_Base_Package();
+
+ /**
+ * 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
+ */
+ SystemmodelingFactory getSystemmodelingFactory();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.VehicleLevel <em>Vehicle Level</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Vehicle Level</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.VehicleLevel
+ * @generated
+ */
+ EClass getVehicleLevel();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.VehicleLevel#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.eclipse.papyrus.eastadl.structure.systemmodeling.VehicleLevel#getBase_Package()
+ * @see #getVehicleLevel()
+ * @generated
+ */
+ EReference getVehicleLevel_Base_Package();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.VehicleLevel#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.eclipse.papyrus.eastadl.structure.systemmodeling.VehicleLevel#getBase_Class()
+ * @see #getVehicleLevel()
+ * @generated
+ */
+ EReference getVehicleLevel_Base_Class();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.VehicleLevel#getTechnicalFeatureModel <em>Technical Feature Model</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Technical Feature Model</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.VehicleLevel#getTechnicalFeatureModel()
+ * @see #getVehicleLevel()
+ * @generated
+ */
+ EReference getVehicleLevel_TechnicalFeatureModel();
+
+} //SystemmodelingPackage
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/VehicleLevel.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/VehicleLevel.java
new file mode 100644
index 00000000000..eaf325e6cce
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/VehicleLevel.java
@@ -0,0 +1,122 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.systemmodeling;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Vehicle Level</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * VehicleLevel represents an arbitrary set of feature models containing only VehicleFeatures.
+ *
+ * Constraints:
+ * [1] All contained feature models are FeatureModels that only contain VehicleFeatures.
+ *
+ * Semantics:
+ * The VehicleLevel contains the technical feature models.
+ *
+ * Extension: class.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.VehicleLevel#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.VehicleLevel#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.VehicleLevel#getTechnicalFeatureModel <em>Technical Feature Model</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage#getVehicleLevel()
+ * @model
+ * @generated
+ */
+public interface VehicleLevel extends Context {
+ /**
+ * 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.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage#getVehicleLevel_Base_Package()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.VehicleLevel#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>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.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage#getVehicleLevel_Base_Class()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.VehicleLevel#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>Technical Feature Model</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Technical Feature Model</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Technical Feature Model</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage#getVehicleLevel_TechnicalFeatureModel()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<FeatureModel> getTechnicalFeatureModel();
+
+} // VehicleLevel
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/impl/AnalysisLevelImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/impl/AnalysisLevelImpl.java
new file mode 100644
index 00000000000..18a1d192c77
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/impl/AnalysisLevelImpl.java
@@ -0,0 +1,288 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.systemmodeling.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.eastadl.infrastructure.elements.impl.ContextImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.AnalysisFunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.AnalysisLevel;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Analysis Level</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.AnalysisLevelImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.AnalysisLevelImpl#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.AnalysisLevelImpl#getFunctionalAnalysisArchitecture <em>Functional Analysis Architecture</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AnalysisLevelImpl extends ContextImpl implements AnalysisLevel {
+ /**
+ * 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 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 #getFunctionalAnalysisArchitecture() <em>Functional Analysis Architecture</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFunctionalAnalysisArchitecture()
+ * @generated
+ * @ordered
+ */
+ protected AnalysisFunctionPrototype functionalAnalysisArchitecture;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AnalysisLevelImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AnalysisFunctionPrototype basicGetFunctionalAnalysisArchitecture() {
+ return functionalAnalysisArchitecture;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SystemmodelingPackage.ANALYSIS_LEVEL__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case SystemmodelingPackage.ANALYSIS_LEVEL__BASE_PACKAGE:
+ if (resolve) return getBase_Package();
+ return basicGetBase_Package();
+ case SystemmodelingPackage.ANALYSIS_LEVEL__FUNCTIONAL_ANALYSIS_ARCHITECTURE:
+ if (resolve) return getFunctionalAnalysisArchitecture();
+ return basicGetFunctionalAnalysisArchitecture();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SystemmodelingPackage.ANALYSIS_LEVEL__BASE_CLASS:
+ return base_Class != null;
+ case SystemmodelingPackage.ANALYSIS_LEVEL__BASE_PACKAGE:
+ return base_Package != null;
+ case SystemmodelingPackage.ANALYSIS_LEVEL__FUNCTIONAL_ANALYSIS_ARCHITECTURE:
+ return functionalAnalysisArchitecture != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SystemmodelingPackage.ANALYSIS_LEVEL__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case SystemmodelingPackage.ANALYSIS_LEVEL__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+ return;
+ case SystemmodelingPackage.ANALYSIS_LEVEL__FUNCTIONAL_ANALYSIS_ARCHITECTURE:
+ setFunctionalAnalysisArchitecture((AnalysisFunctionPrototype)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SystemmodelingPackage.Literals.ANALYSIS_LEVEL;
+ }
+
+ /**
+ * <!-- 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, SystemmodelingPackage.ANALYSIS_LEVEL__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, SystemmodelingPackage.ANALYSIS_LEVEL__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- 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, SystemmodelingPackage.ANALYSIS_LEVEL__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, SystemmodelingPackage.ANALYSIS_LEVEL__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SystemmodelingPackage.ANALYSIS_LEVEL__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case SystemmodelingPackage.ANALYSIS_LEVEL__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)null);
+ return;
+ case SystemmodelingPackage.ANALYSIS_LEVEL__FUNCTIONAL_ANALYSIS_ARCHITECTURE:
+ setFunctionalAnalysisArchitecture((AnalysisFunctionPrototype)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AnalysisFunctionPrototype getFunctionalAnalysisArchitecture() {
+ if (functionalAnalysisArchitecture != null && functionalAnalysisArchitecture.eIsProxy()) {
+ InternalEObject oldFunctionalAnalysisArchitecture = (InternalEObject)functionalAnalysisArchitecture;
+ functionalAnalysisArchitecture = (AnalysisFunctionPrototype)eResolveProxy(oldFunctionalAnalysisArchitecture);
+ if (functionalAnalysisArchitecture != oldFunctionalAnalysisArchitecture) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SystemmodelingPackage.ANALYSIS_LEVEL__FUNCTIONAL_ANALYSIS_ARCHITECTURE, oldFunctionalAnalysisArchitecture, functionalAnalysisArchitecture));
+ }
+ }
+ return functionalAnalysisArchitecture;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFunctionalAnalysisArchitecture(AnalysisFunctionPrototype newFunctionalAnalysisArchitecture) {
+ AnalysisFunctionPrototype oldFunctionalAnalysisArchitecture = functionalAnalysisArchitecture;
+ functionalAnalysisArchitecture = newFunctionalAnalysisArchitecture;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SystemmodelingPackage.ANALYSIS_LEVEL__FUNCTIONAL_ANALYSIS_ARCHITECTURE, oldFunctionalAnalysisArchitecture, functionalAnalysisArchitecture));
+ }
+
+} //AnalysisLevelImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/impl/DesignLevelImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/impl/DesignLevelImpl.java
new file mode 100644
index 00000000000..9f53974c7b5
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/impl/DesignLevelImpl.java
@@ -0,0 +1,389 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.systemmodeling.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.eastadl.infrastructure.elements.impl.ContextImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.Allocation;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwareComponentPrototype;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.DesignLevel;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Design Level</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.DesignLevelImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.DesignLevelImpl#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.DesignLevelImpl#getFunctionalDesignArchitecture <em>Functional Design Architecture</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.DesignLevelImpl#getHardwareDesignArchitecture <em>Hardware Design Architecture</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.DesignLevelImpl#getAllocation <em>Allocation</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DesignLevelImpl extends ContextImpl implements DesignLevel {
+ /**
+ * 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 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 #getFunctionalDesignArchitecture() <em>Functional Design Architecture</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFunctionalDesignArchitecture()
+ * @generated
+ * @ordered
+ */
+ protected DesignFunctionPrototype functionalDesignArchitecture;
+
+ /**
+ * The cached value of the '{@link #getHardwareDesignArchitecture() <em>Hardware Design Architecture</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHardwareDesignArchitecture()
+ * @generated
+ * @ordered
+ */
+ protected HardwareComponentPrototype hardwareDesignArchitecture;
+
+ /**
+ * The cached value of the '{@link #getAllocation() <em>Allocation</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAllocation()
+ * @generated
+ * @ordered
+ */
+ protected EList<Allocation> allocation;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DesignLevelImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DesignFunctionPrototype basicGetFunctionalDesignArchitecture() {
+ return functionalDesignArchitecture;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HardwareComponentPrototype basicGetHardwareDesignArchitecture() {
+ return hardwareDesignArchitecture;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SystemmodelingPackage.DESIGN_LEVEL__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case SystemmodelingPackage.DESIGN_LEVEL__BASE_PACKAGE:
+ if (resolve) return getBase_Package();
+ return basicGetBase_Package();
+ case SystemmodelingPackage.DESIGN_LEVEL__FUNCTIONAL_DESIGN_ARCHITECTURE:
+ if (resolve) return getFunctionalDesignArchitecture();
+ return basicGetFunctionalDesignArchitecture();
+ case SystemmodelingPackage.DESIGN_LEVEL__HARDWARE_DESIGN_ARCHITECTURE:
+ if (resolve) return getHardwareDesignArchitecture();
+ return basicGetHardwareDesignArchitecture();
+ case SystemmodelingPackage.DESIGN_LEVEL__ALLOCATION:
+ return getAllocation();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SystemmodelingPackage.DESIGN_LEVEL__BASE_CLASS:
+ return base_Class != null;
+ case SystemmodelingPackage.DESIGN_LEVEL__BASE_PACKAGE:
+ return base_Package != null;
+ case SystemmodelingPackage.DESIGN_LEVEL__FUNCTIONAL_DESIGN_ARCHITECTURE:
+ return functionalDesignArchitecture != null;
+ case SystemmodelingPackage.DESIGN_LEVEL__HARDWARE_DESIGN_ARCHITECTURE:
+ return hardwareDesignArchitecture != null;
+ case SystemmodelingPackage.DESIGN_LEVEL__ALLOCATION:
+ return allocation != null && !allocation.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SystemmodelingPackage.DESIGN_LEVEL__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case SystemmodelingPackage.DESIGN_LEVEL__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+ return;
+ case SystemmodelingPackage.DESIGN_LEVEL__FUNCTIONAL_DESIGN_ARCHITECTURE:
+ setFunctionalDesignArchitecture((DesignFunctionPrototype)newValue);
+ return;
+ case SystemmodelingPackage.DESIGN_LEVEL__HARDWARE_DESIGN_ARCHITECTURE:
+ setHardwareDesignArchitecture((HardwareComponentPrototype)newValue);
+ return;
+ case SystemmodelingPackage.DESIGN_LEVEL__ALLOCATION:
+ getAllocation().clear();
+ getAllocation().addAll((Collection<? extends Allocation>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SystemmodelingPackage.Literals.DESIGN_LEVEL;
+ }
+
+ /**
+ * <!-- 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, SystemmodelingPackage.DESIGN_LEVEL__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, SystemmodelingPackage.DESIGN_LEVEL__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- 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, SystemmodelingPackage.DESIGN_LEVEL__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, SystemmodelingPackage.DESIGN_LEVEL__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SystemmodelingPackage.DESIGN_LEVEL__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case SystemmodelingPackage.DESIGN_LEVEL__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)null);
+ return;
+ case SystemmodelingPackage.DESIGN_LEVEL__FUNCTIONAL_DESIGN_ARCHITECTURE:
+ setFunctionalDesignArchitecture((DesignFunctionPrototype)null);
+ return;
+ case SystemmodelingPackage.DESIGN_LEVEL__HARDWARE_DESIGN_ARCHITECTURE:
+ setHardwareDesignArchitecture((HardwareComponentPrototype)null);
+ return;
+ case SystemmodelingPackage.DESIGN_LEVEL__ALLOCATION:
+ getAllocation().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Allocation> getAllocation() {
+ if (allocation == null) {
+ allocation = new EObjectResolvingEList<Allocation>(Allocation.class, this, SystemmodelingPackage.DESIGN_LEVEL__ALLOCATION);
+ }
+ return allocation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DesignFunctionPrototype getFunctionalDesignArchitecture() {
+ if (functionalDesignArchitecture != null && functionalDesignArchitecture.eIsProxy()) {
+ InternalEObject oldFunctionalDesignArchitecture = (InternalEObject)functionalDesignArchitecture;
+ functionalDesignArchitecture = (DesignFunctionPrototype)eResolveProxy(oldFunctionalDesignArchitecture);
+ if (functionalDesignArchitecture != oldFunctionalDesignArchitecture) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SystemmodelingPackage.DESIGN_LEVEL__FUNCTIONAL_DESIGN_ARCHITECTURE, oldFunctionalDesignArchitecture, functionalDesignArchitecture));
+ }
+ }
+ return functionalDesignArchitecture;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HardwareComponentPrototype getHardwareDesignArchitecture() {
+ if (hardwareDesignArchitecture != null && hardwareDesignArchitecture.eIsProxy()) {
+ InternalEObject oldHardwareDesignArchitecture = (InternalEObject)hardwareDesignArchitecture;
+ hardwareDesignArchitecture = (HardwareComponentPrototype)eResolveProxy(oldHardwareDesignArchitecture);
+ if (hardwareDesignArchitecture != oldHardwareDesignArchitecture) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SystemmodelingPackage.DESIGN_LEVEL__HARDWARE_DESIGN_ARCHITECTURE, oldHardwareDesignArchitecture, hardwareDesignArchitecture));
+ }
+ }
+ return hardwareDesignArchitecture;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFunctionalDesignArchitecture(DesignFunctionPrototype newFunctionalDesignArchitecture) {
+ DesignFunctionPrototype oldFunctionalDesignArchitecture = functionalDesignArchitecture;
+ functionalDesignArchitecture = newFunctionalDesignArchitecture;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SystemmodelingPackage.DESIGN_LEVEL__FUNCTIONAL_DESIGN_ARCHITECTURE, oldFunctionalDesignArchitecture, functionalDesignArchitecture));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHardwareDesignArchitecture(HardwareComponentPrototype newHardwareDesignArchitecture) {
+ HardwareComponentPrototype oldHardwareDesignArchitecture = hardwareDesignArchitecture;
+ hardwareDesignArchitecture = newHardwareDesignArchitecture;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SystemmodelingPackage.DESIGN_LEVEL__HARDWARE_DESIGN_ARCHITECTURE, oldHardwareDesignArchitecture, hardwareDesignArchitecture));
+ }
+
+} //DesignLevelImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/impl/ImplementationLevelImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/impl/ImplementationLevelImpl.java
new file mode 100644
index 00000000000..e36f85b3cd1
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/impl/ImplementationLevelImpl.java
@@ -0,0 +1,288 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.systemmodeling.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.eastadl.infrastructure.elements.impl.ContextImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.ImplementationLevel;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.uml2.uml.NamedElement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Implementation Level</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.ImplementationLevelImpl#getAutosarSystem <em>Autosar System</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.ImplementationLevelImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.ImplementationLevelImpl#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImplementationLevelImpl extends ContextImpl implements ImplementationLevel {
+ /**
+ * The cached value of the '{@link #getAutosarSystem() <em>Autosar System</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAutosarSystem()
+ * @generated
+ * @ordered
+ */
+ protected NamedElement autosarSystem;
+
+ /**
+ * 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 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 ImplementationLevelImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement basicGetAutosarSystem() {
+ return autosarSystem;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SystemmodelingPackage.IMPLEMENTATION_LEVEL__AUTOSAR_SYSTEM:
+ if (resolve) return getAutosarSystem();
+ return basicGetAutosarSystem();
+ case SystemmodelingPackage.IMPLEMENTATION_LEVEL__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case SystemmodelingPackage.IMPLEMENTATION_LEVEL__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 boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SystemmodelingPackage.IMPLEMENTATION_LEVEL__AUTOSAR_SYSTEM:
+ return autosarSystem != null;
+ case SystemmodelingPackage.IMPLEMENTATION_LEVEL__BASE_CLASS:
+ return base_Class != null;
+ case SystemmodelingPackage.IMPLEMENTATION_LEVEL__BASE_PACKAGE:
+ return base_Package != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SystemmodelingPackage.IMPLEMENTATION_LEVEL__AUTOSAR_SYSTEM:
+ setAutosarSystem((NamedElement)newValue);
+ return;
+ case SystemmodelingPackage.IMPLEMENTATION_LEVEL__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case SystemmodelingPackage.IMPLEMENTATION_LEVEL__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SystemmodelingPackage.Literals.IMPLEMENTATION_LEVEL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SystemmodelingPackage.IMPLEMENTATION_LEVEL__AUTOSAR_SYSTEM:
+ setAutosarSystem((NamedElement)null);
+ return;
+ case SystemmodelingPackage.IMPLEMENTATION_LEVEL__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case SystemmodelingPackage.IMPLEMENTATION_LEVEL__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getAutosarSystem() {
+ if (autosarSystem != null && autosarSystem.eIsProxy()) {
+ InternalEObject oldAutosarSystem = (InternalEObject)autosarSystem;
+ autosarSystem = (NamedElement)eResolveProxy(oldAutosarSystem);
+ if (autosarSystem != oldAutosarSystem) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SystemmodelingPackage.IMPLEMENTATION_LEVEL__AUTOSAR_SYSTEM, oldAutosarSystem, autosarSystem));
+ }
+ }
+ return autosarSystem;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAutosarSystem(NamedElement newAutosarSystem) {
+ NamedElement oldAutosarSystem = autosarSystem;
+ autosarSystem = newAutosarSystem;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SystemmodelingPackage.IMPLEMENTATION_LEVEL__AUTOSAR_SYSTEM, oldAutosarSystem, autosarSystem));
+ }
+
+ /**
+ * <!-- 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, SystemmodelingPackage.IMPLEMENTATION_LEVEL__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, SystemmodelingPackage.IMPLEMENTATION_LEVEL__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- 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, SystemmodelingPackage.IMPLEMENTATION_LEVEL__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, SystemmodelingPackage.IMPLEMENTATION_LEVEL__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+
+} //ImplementationLevelImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/impl/SystemModelImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/impl/SystemModelImpl.java
new file mode 100644
index 00000000000..bf3c18883a0
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/impl/SystemModelImpl.java
@@ -0,0 +1,471 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.systemmodeling.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.eastadl.infrastructure.elements.impl.ContextImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.AnalysisLevel;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.DesignLevel;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.ImplementationLevel;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.VehicleLevel;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>System Model</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemModelImpl#getImplementationLevel <em>Implementation Level</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemModelImpl#getAnalysisLevel <em>Analysis Level</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemModelImpl#getDesignLevel <em>Design Level</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemModelImpl#getVehicleLevel <em>Vehicle Level</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemModelImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemModelImpl#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SystemModelImpl extends ContextImpl implements SystemModel {
+ /**
+ * The cached value of the '{@link #getImplementationLevel() <em>Implementation Level</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImplementationLevel()
+ * @generated
+ * @ordered
+ */
+ protected ImplementationLevel implementationLevel;
+
+ /**
+ * The cached value of the '{@link #getAnalysisLevel() <em>Analysis Level</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAnalysisLevel()
+ * @generated
+ * @ordered
+ */
+ protected AnalysisLevel analysisLevel;
+
+ /**
+ * The cached value of the '{@link #getDesignLevel() <em>Design Level</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDesignLevel()
+ * @generated
+ * @ordered
+ */
+ protected DesignLevel designLevel;
+
+ /**
+ * The cached value of the '{@link #getVehicleLevel() <em>Vehicle Level</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVehicleLevel()
+ * @generated
+ * @ordered
+ */
+ protected VehicleLevel vehicleLevel;
+
+ /**
+ * 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 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 SystemModelImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AnalysisLevel basicGetAnalysisLevel() {
+ return analysisLevel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DesignLevel basicGetDesignLevel() {
+ return designLevel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplementationLevel basicGetImplementationLevel() {
+ return implementationLevel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VehicleLevel basicGetVehicleLevel() {
+ return vehicleLevel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SystemmodelingPackage.SYSTEM_MODEL__IMPLEMENTATION_LEVEL:
+ if (resolve) return getImplementationLevel();
+ return basicGetImplementationLevel();
+ case SystemmodelingPackage.SYSTEM_MODEL__ANALYSIS_LEVEL:
+ if (resolve) return getAnalysisLevel();
+ return basicGetAnalysisLevel();
+ case SystemmodelingPackage.SYSTEM_MODEL__DESIGN_LEVEL:
+ if (resolve) return getDesignLevel();
+ return basicGetDesignLevel();
+ case SystemmodelingPackage.SYSTEM_MODEL__VEHICLE_LEVEL:
+ if (resolve) return getVehicleLevel();
+ return basicGetVehicleLevel();
+ case SystemmodelingPackage.SYSTEM_MODEL__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case SystemmodelingPackage.SYSTEM_MODEL__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 boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SystemmodelingPackage.SYSTEM_MODEL__IMPLEMENTATION_LEVEL:
+ return implementationLevel != null;
+ case SystemmodelingPackage.SYSTEM_MODEL__ANALYSIS_LEVEL:
+ return analysisLevel != null;
+ case SystemmodelingPackage.SYSTEM_MODEL__DESIGN_LEVEL:
+ return designLevel != null;
+ case SystemmodelingPackage.SYSTEM_MODEL__VEHICLE_LEVEL:
+ return vehicleLevel != null;
+ case SystemmodelingPackage.SYSTEM_MODEL__BASE_CLASS:
+ return base_Class != null;
+ case SystemmodelingPackage.SYSTEM_MODEL__BASE_PACKAGE:
+ return base_Package != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SystemmodelingPackage.SYSTEM_MODEL__IMPLEMENTATION_LEVEL:
+ setImplementationLevel((ImplementationLevel)newValue);
+ return;
+ case SystemmodelingPackage.SYSTEM_MODEL__ANALYSIS_LEVEL:
+ setAnalysisLevel((AnalysisLevel)newValue);
+ return;
+ case SystemmodelingPackage.SYSTEM_MODEL__DESIGN_LEVEL:
+ setDesignLevel((DesignLevel)newValue);
+ return;
+ case SystemmodelingPackage.SYSTEM_MODEL__VEHICLE_LEVEL:
+ setVehicleLevel((VehicleLevel)newValue);
+ return;
+ case SystemmodelingPackage.SYSTEM_MODEL__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case SystemmodelingPackage.SYSTEM_MODEL__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SystemmodelingPackage.Literals.SYSTEM_MODEL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SystemmodelingPackage.SYSTEM_MODEL__IMPLEMENTATION_LEVEL:
+ setImplementationLevel((ImplementationLevel)null);
+ return;
+ case SystemmodelingPackage.SYSTEM_MODEL__ANALYSIS_LEVEL:
+ setAnalysisLevel((AnalysisLevel)null);
+ return;
+ case SystemmodelingPackage.SYSTEM_MODEL__DESIGN_LEVEL:
+ setDesignLevel((DesignLevel)null);
+ return;
+ case SystemmodelingPackage.SYSTEM_MODEL__VEHICLE_LEVEL:
+ setVehicleLevel((VehicleLevel)null);
+ return;
+ case SystemmodelingPackage.SYSTEM_MODEL__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case SystemmodelingPackage.SYSTEM_MODEL__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AnalysisLevel getAnalysisLevel() {
+ if (analysisLevel != null && analysisLevel.eIsProxy()) {
+ InternalEObject oldAnalysisLevel = (InternalEObject)analysisLevel;
+ analysisLevel = (AnalysisLevel)eResolveProxy(oldAnalysisLevel);
+ if (analysisLevel != oldAnalysisLevel) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SystemmodelingPackage.SYSTEM_MODEL__ANALYSIS_LEVEL, oldAnalysisLevel, analysisLevel));
+ }
+ }
+ return analysisLevel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DesignLevel getDesignLevel() {
+ if (designLevel != null && designLevel.eIsProxy()) {
+ InternalEObject oldDesignLevel = (InternalEObject)designLevel;
+ designLevel = (DesignLevel)eResolveProxy(oldDesignLevel);
+ if (designLevel != oldDesignLevel) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SystemmodelingPackage.SYSTEM_MODEL__DESIGN_LEVEL, oldDesignLevel, designLevel));
+ }
+ }
+ return designLevel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplementationLevel getImplementationLevel() {
+ if (implementationLevel != null && implementationLevel.eIsProxy()) {
+ InternalEObject oldImplementationLevel = (InternalEObject)implementationLevel;
+ implementationLevel = (ImplementationLevel)eResolveProxy(oldImplementationLevel);
+ if (implementationLevel != oldImplementationLevel) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SystemmodelingPackage.SYSTEM_MODEL__IMPLEMENTATION_LEVEL, oldImplementationLevel, implementationLevel));
+ }
+ }
+ return implementationLevel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VehicleLevel getVehicleLevel() {
+ if (vehicleLevel != null && vehicleLevel.eIsProxy()) {
+ InternalEObject oldVehicleLevel = (InternalEObject)vehicleLevel;
+ vehicleLevel = (VehicleLevel)eResolveProxy(oldVehicleLevel);
+ if (vehicleLevel != oldVehicleLevel) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SystemmodelingPackage.SYSTEM_MODEL__VEHICLE_LEVEL, oldVehicleLevel, vehicleLevel));
+ }
+ }
+ return vehicleLevel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAnalysisLevel(AnalysisLevel newAnalysisLevel) {
+ AnalysisLevel oldAnalysisLevel = analysisLevel;
+ analysisLevel = newAnalysisLevel;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SystemmodelingPackage.SYSTEM_MODEL__ANALYSIS_LEVEL, oldAnalysisLevel, analysisLevel));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDesignLevel(DesignLevel newDesignLevel) {
+ DesignLevel oldDesignLevel = designLevel;
+ designLevel = newDesignLevel;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SystemmodelingPackage.SYSTEM_MODEL__DESIGN_LEVEL, oldDesignLevel, designLevel));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setImplementationLevel(ImplementationLevel newImplementationLevel) {
+ ImplementationLevel oldImplementationLevel = implementationLevel;
+ implementationLevel = newImplementationLevel;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SystemmodelingPackage.SYSTEM_MODEL__IMPLEMENTATION_LEVEL, oldImplementationLevel, implementationLevel));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVehicleLevel(VehicleLevel newVehicleLevel) {
+ VehicleLevel oldVehicleLevel = vehicleLevel;
+ vehicleLevel = newVehicleLevel;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SystemmodelingPackage.SYSTEM_MODEL__VEHICLE_LEVEL, oldVehicleLevel, vehicleLevel));
+ }
+
+ /**
+ * <!-- 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, SystemmodelingPackage.SYSTEM_MODEL__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, SystemmodelingPackage.SYSTEM_MODEL__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- 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, SystemmodelingPackage.SYSTEM_MODEL__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, SystemmodelingPackage.SYSTEM_MODEL__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+
+} //SystemModelImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/impl/SystemmodelingFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/impl/SystemmodelingFactoryImpl.java
new file mode 100644
index 00000000000..915cdab5098
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/impl/SystemmodelingFactoryImpl.java
@@ -0,0 +1,156 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.systemmodeling.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.eclipse.papyrus.eastadl.structure.systemmodeling.AnalysisLevel;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.DesignLevel;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.ImplementationLevel;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingFactory;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.VehicleLevel;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SystemmodelingFactoryImpl extends EFactoryImpl implements SystemmodelingFactory {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static SystemmodelingPackage getPackage() {
+ return SystemmodelingPackage.eINSTANCE;
+ }
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static SystemmodelingFactory init() {
+ try {
+ SystemmodelingFactory theSystemmodelingFactory = (SystemmodelingFactory)EPackage.Registry.INSTANCE.getEFactory(SystemmodelingPackage.eNS_URI);
+ if (theSystemmodelingFactory != null) {
+ return theSystemmodelingFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new SystemmodelingFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SystemmodelingFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case SystemmodelingPackage.SYSTEM_MODEL: return createSystemModel();
+ case SystemmodelingPackage.IMPLEMENTATION_LEVEL: return createImplementationLevel();
+ case SystemmodelingPackage.ANALYSIS_LEVEL: return createAnalysisLevel();
+ case SystemmodelingPackage.DESIGN_LEVEL: return createDesignLevel();
+ case SystemmodelingPackage.VEHICLE_LEVEL: return createVehicleLevel();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AnalysisLevel createAnalysisLevel() {
+ AnalysisLevelImpl analysisLevel = new AnalysisLevelImpl();
+ return analysisLevel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DesignLevel createDesignLevel() {
+ DesignLevelImpl designLevel = new DesignLevelImpl();
+ return designLevel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplementationLevel createImplementationLevel() {
+ ImplementationLevelImpl implementationLevel = new ImplementationLevelImpl();
+ return implementationLevel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SystemModel createSystemModel() {
+ SystemModelImpl systemModel = new SystemModelImpl();
+ return systemModel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VehicleLevel createVehicleLevel() {
+ VehicleLevelImpl vehicleLevel = new VehicleLevelImpl();
+ return vehicleLevel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SystemmodelingPackage getSystemmodelingPackage() {
+ return (SystemmodelingPackage)getEPackage();
+ }
+
+} //SystemmodelingFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/impl/SystemmodelingPackageImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/impl/SystemmodelingPackageImpl.java
new file mode 100644
index 00000000000..7322966eafa
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/impl/SystemmodelingPackageImpl.java
@@ -0,0 +1,632 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.systemmodeling.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.eastadl.EastadlPackage;
+import org.eclipse.papyrus.eastadl.annex.AnnexPackage;
+import org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.StructurePackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.AnalysisLevel;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.DesignLevel;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.ImplementationLevel;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingFactory;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.VehicleLevel;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SystemmodelingPackageImpl extends EPackageImpl implements SystemmodelingPackage {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass systemModelEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass implementationLevelEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass analysisLevelEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass designLevelEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass vehicleLevelEClass = null;
+
+ /**
+ * <!-- 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 SystemmodelingPackage#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 SystemmodelingPackage init() {
+ if (isInited) return (SystemmodelingPackage)EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI);
+
+ // Obtain or create and register package
+ SystemmodelingPackageImpl theSystemmodelingPackage = (SystemmodelingPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof SystemmodelingPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new SystemmodelingPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ SysmlPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EastadlPackageImpl theEastadlPackage = (EastadlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) instanceof EastadlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) : EastadlPackage.eINSTANCE);
+ VariabilityPackageImpl theVariabilityPackage = (VariabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) instanceof VariabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) : VariabilityPackage.eINSTANCE);
+ InfrastructurePackageImpl theInfrastructurePackage = (InfrastructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) instanceof InfrastructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) : InfrastructurePackage.eINSTANCE);
+ DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) instanceof DatatypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) : DatatypesPackage.eINSTANCE);
+ UserattributesPackageImpl theUserattributesPackage = (UserattributesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) instanceof UserattributesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) : UserattributesPackage.eINSTANCE);
+ ElementsPackageImpl theElementsPackage = (ElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) instanceof ElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) : ElementsPackage.eINSTANCE);
+ StructurePackageImpl theStructurePackage = (StructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) instanceof StructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) : StructurePackage.eINSTANCE);
+ FunctionmodelingPackageImpl theFunctionmodelingPackage = (FunctionmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) instanceof FunctionmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) : FunctionmodelingPackage.eINSTANCE);
+ HardwaremodelingPackageImpl theHardwaremodelingPackage = (HardwaremodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) instanceof HardwaremodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) : HardwaremodelingPackage.eINSTANCE);
+ VehiclefeaturemodelingPackageImpl theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) instanceof VehiclefeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) : VehiclefeaturemodelingPackage.eINSTANCE);
+ FeaturemodelingPackageImpl theFeaturemodelingPackage = (FeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) instanceof FeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) : FeaturemodelingPackage.eINSTANCE);
+ BehaviorPackageImpl theBehaviorPackage = (BehaviorPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) instanceof BehaviorPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) : BehaviorPackage.eINSTANCE);
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) : RequirementsPackage.eINSTANCE);
+ VerificationvalidationPackageImpl theVerificationvalidationPackage = (VerificationvalidationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) instanceof VerificationvalidationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) : VerificationvalidationPackage.eINSTANCE);
+ TimingPackageImpl theTimingPackage = (TimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) instanceof TimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) : TimingPackage.eINSTANCE);
+ TimingconstraintsPackageImpl theTimingconstraintsPackage = (TimingconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) instanceof TimingconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) : TimingconstraintsPackage.eINSTANCE);
+ EventsPackageImpl theEventsPackage = (EventsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+ InterchangePackageImpl theInterchangePackage = (InterchangePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) instanceof InterchangePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) : InterchangePackage.eINSTANCE);
+ EnvironmentPackageImpl theEnvironmentPackage = (EnvironmentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) instanceof EnvironmentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) : EnvironmentPackage.eINSTANCE);
+ DependabilityPackageImpl theDependabilityPackage = (DependabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) instanceof DependabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) : DependabilityPackage.eINSTANCE);
+ ErrormodelPackageImpl theErrormodelPackage = (ErrormodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) instanceof ErrormodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) : ErrormodelPackage.eINSTANCE);
+ SafetyrequirementPackageImpl theSafetyrequirementPackage = (SafetyrequirementPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) instanceof SafetyrequirementPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) : SafetyrequirementPackage.eINSTANCE);
+ SafetyconstraintsPackageImpl theSafetyconstraintsPackage = (SafetyconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) instanceof SafetyconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) : SafetyconstraintsPackage.eINSTANCE);
+ SafetycasePackageImpl theSafetycasePackage = (SafetycasePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) instanceof SafetycasePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) : SafetycasePackage.eINSTANCE);
+ AnnexPackageImpl theAnnexPackage = (AnnexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) instanceof AnnexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) : AnnexPackage.eINSTANCE);
+ NeedsPackageImpl theNeedsPackage = (NeedsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) instanceof NeedsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) : NeedsPackage.eINSTANCE);
+ GenericconstraintsPackageImpl theGenericconstraintsPackage = (GenericconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) instanceof GenericconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) : GenericconstraintsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theSystemmodelingPackage.createPackageContents();
+ theEastadlPackage.createPackageContents();
+ theVariabilityPackage.createPackageContents();
+ theInfrastructurePackage.createPackageContents();
+ theDatatypesPackage.createPackageContents();
+ theUserattributesPackage.createPackageContents();
+ theElementsPackage.createPackageContents();
+ theStructurePackage.createPackageContents();
+ theFunctionmodelingPackage.createPackageContents();
+ theHardwaremodelingPackage.createPackageContents();
+ theVehiclefeaturemodelingPackage.createPackageContents();
+ theFeaturemodelingPackage.createPackageContents();
+ theBehaviorPackage.createPackageContents();
+ theRequirementsPackage.createPackageContents();
+ theVerificationvalidationPackage.createPackageContents();
+ theTimingPackage.createPackageContents();
+ theTimingconstraintsPackage.createPackageContents();
+ theEventsPackage.createPackageContents();
+ theInterchangePackage.createPackageContents();
+ theEnvironmentPackage.createPackageContents();
+ theDependabilityPackage.createPackageContents();
+ theErrormodelPackage.createPackageContents();
+ theSafetyrequirementPackage.createPackageContents();
+ theSafetyconstraintsPackage.createPackageContents();
+ theSafetycasePackage.createPackageContents();
+ theAnnexPackage.createPackageContents();
+ theNeedsPackage.createPackageContents();
+ theGenericconstraintsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theSystemmodelingPackage.initializePackageContents();
+ theEastadlPackage.initializePackageContents();
+ theVariabilityPackage.initializePackageContents();
+ theInfrastructurePackage.initializePackageContents();
+ theDatatypesPackage.initializePackageContents();
+ theUserattributesPackage.initializePackageContents();
+ theElementsPackage.initializePackageContents();
+ theStructurePackage.initializePackageContents();
+ theFunctionmodelingPackage.initializePackageContents();
+ theHardwaremodelingPackage.initializePackageContents();
+ theVehiclefeaturemodelingPackage.initializePackageContents();
+ theFeaturemodelingPackage.initializePackageContents();
+ theBehaviorPackage.initializePackageContents();
+ theRequirementsPackage.initializePackageContents();
+ theVerificationvalidationPackage.initializePackageContents();
+ theTimingPackage.initializePackageContents();
+ theTimingconstraintsPackage.initializePackageContents();
+ theEventsPackage.initializePackageContents();
+ theInterchangePackage.initializePackageContents();
+ theEnvironmentPackage.initializePackageContents();
+ theDependabilityPackage.initializePackageContents();
+ theErrormodelPackage.initializePackageContents();
+ theSafetyrequirementPackage.initializePackageContents();
+ theSafetyconstraintsPackage.initializePackageContents();
+ theSafetycasePackage.initializePackageContents();
+ theAnnexPackage.initializePackageContents();
+ theNeedsPackage.initializePackageContents();
+ theGenericconstraintsPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theSystemmodelingPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(SystemmodelingPackage.eNS_URI, theSystemmodelingPackage);
+ return theSystemmodelingPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * 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.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private SystemmodelingPackageImpl() {
+ super(eNS_URI, SystemmodelingFactory.eINSTANCE);
+ }
+
+ /**
+ * 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
+ systemModelEClass = createEClass(SYSTEM_MODEL);
+ createEReference(systemModelEClass, SYSTEM_MODEL__IMPLEMENTATION_LEVEL);
+ createEReference(systemModelEClass, SYSTEM_MODEL__ANALYSIS_LEVEL);
+ createEReference(systemModelEClass, SYSTEM_MODEL__DESIGN_LEVEL);
+ createEReference(systemModelEClass, SYSTEM_MODEL__VEHICLE_LEVEL);
+ createEReference(systemModelEClass, SYSTEM_MODEL__BASE_CLASS);
+ createEReference(systemModelEClass, SYSTEM_MODEL__BASE_PACKAGE);
+
+ implementationLevelEClass = createEClass(IMPLEMENTATION_LEVEL);
+ createEReference(implementationLevelEClass, IMPLEMENTATION_LEVEL__AUTOSAR_SYSTEM);
+ createEReference(implementationLevelEClass, IMPLEMENTATION_LEVEL__BASE_CLASS);
+ createEReference(implementationLevelEClass, IMPLEMENTATION_LEVEL__BASE_PACKAGE);
+
+ analysisLevelEClass = createEClass(ANALYSIS_LEVEL);
+ createEReference(analysisLevelEClass, ANALYSIS_LEVEL__BASE_CLASS);
+ createEReference(analysisLevelEClass, ANALYSIS_LEVEL__BASE_PACKAGE);
+ createEReference(analysisLevelEClass, ANALYSIS_LEVEL__FUNCTIONAL_ANALYSIS_ARCHITECTURE);
+
+ designLevelEClass = createEClass(DESIGN_LEVEL);
+ createEReference(designLevelEClass, DESIGN_LEVEL__BASE_CLASS);
+ createEReference(designLevelEClass, DESIGN_LEVEL__BASE_PACKAGE);
+ createEReference(designLevelEClass, DESIGN_LEVEL__FUNCTIONAL_DESIGN_ARCHITECTURE);
+ createEReference(designLevelEClass, DESIGN_LEVEL__HARDWARE_DESIGN_ARCHITECTURE);
+ createEReference(designLevelEClass, DESIGN_LEVEL__ALLOCATION);
+
+ vehicleLevelEClass = createEClass(VEHICLE_LEVEL);
+ createEReference(vehicleLevelEClass, VEHICLE_LEVEL__BASE_PACKAGE);
+ createEReference(vehicleLevelEClass, VEHICLE_LEVEL__BASE_CLASS);
+ createEReference(vehicleLevelEClass, VEHICLE_LEVEL__TECHNICAL_FEATURE_MODEL);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAnalysisLevel() {
+ return analysisLevelEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAnalysisLevel_Base_Class() {
+ return (EReference)analysisLevelEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAnalysisLevel_Base_Package() {
+ return (EReference)analysisLevelEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAnalysisLevel_FunctionalAnalysisArchitecture() {
+ return (EReference)analysisLevelEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDesignLevel() {
+ return designLevelEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDesignLevel_Base_Class() {
+ return (EReference)designLevelEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDesignLevel_Base_Package() {
+ return (EReference)designLevelEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDesignLevel_Allocation() {
+ return (EReference)designLevelEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDesignLevel_FunctionalDesignArchitecture() {
+ return (EReference)designLevelEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDesignLevel_HardwareDesignArchitecture() {
+ return (EReference)designLevelEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImplementationLevel() {
+ return implementationLevelEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getImplementationLevel_AutosarSystem() {
+ return (EReference)implementationLevelEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getImplementationLevel_Base_Class() {
+ return (EReference)implementationLevelEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getImplementationLevel_Base_Package() {
+ return (EReference)implementationLevelEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSystemModel() {
+ return systemModelEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSystemModel_AnalysisLevel() {
+ return (EReference)systemModelEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSystemModel_DesignLevel() {
+ return (EReference)systemModelEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSystemModel_ImplementationLevel() {
+ return (EReference)systemModelEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSystemModel_VehicleLevel() {
+ return (EReference)systemModelEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSystemModel_Base_Class() {
+ return (EReference)systemModelEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSystemModel_Base_Package() {
+ return (EReference)systemModelEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SystemmodelingFactory getSystemmodelingFactory() {
+ return (SystemmodelingFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVehicleLevel() {
+ return vehicleLevelEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVehicleLevel_Base_Package() {
+ return (EReference)vehicleLevelEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVehicleLevel_Base_Class() {
+ return (EReference)vehicleLevelEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVehicleLevel_TechnicalFeatureModel() {
+ return (EReference)vehicleLevelEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * 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
+ ElementsPackage theElementsPackage = (ElementsPackage)EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI);
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+ FunctionmodelingPackage theFunctionmodelingPackage = (FunctionmodelingPackage)EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI);
+ HardwaremodelingPackage theHardwaremodelingPackage = (HardwaremodelingPackage)EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI);
+ FeaturemodelingPackage theFeaturemodelingPackage = (FeaturemodelingPackage)EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ systemModelEClass.getESuperTypes().add(theElementsPackage.getContext());
+ implementationLevelEClass.getESuperTypes().add(theElementsPackage.getContext());
+ analysisLevelEClass.getESuperTypes().add(theElementsPackage.getContext());
+ designLevelEClass.getESuperTypes().add(theElementsPackage.getContext());
+ vehicleLevelEClass.getESuperTypes().add(theElementsPackage.getContext());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(systemModelEClass, SystemModel.class, "SystemModel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getSystemModel_ImplementationLevel(), this.getImplementationLevel(), null, "implementationLevel", null, 0, 1, SystemModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSystemModel_AnalysisLevel(), this.getAnalysisLevel(), null, "analysisLevel", null, 0, 1, SystemModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSystemModel_DesignLevel(), this.getDesignLevel(), null, "designLevel", null, 0, 1, SystemModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSystemModel_VehicleLevel(), this.getVehicleLevel(), null, "vehicleLevel", null, 0, 1, SystemModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSystemModel_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, SystemModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSystemModel_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, SystemModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(implementationLevelEClass, ImplementationLevel.class, "ImplementationLevel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getImplementationLevel_AutosarSystem(), theUMLPackage.getNamedElement(), null, "autosarSystem", null, 0, 1, ImplementationLevel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getImplementationLevel_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, ImplementationLevel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getImplementationLevel_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, ImplementationLevel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(analysisLevelEClass, AnalysisLevel.class, "AnalysisLevel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getAnalysisLevel_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, AnalysisLevel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getAnalysisLevel_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, AnalysisLevel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getAnalysisLevel_FunctionalAnalysisArchitecture(), theFunctionmodelingPackage.getAnalysisFunctionPrototype(), null, "functionalAnalysisArchitecture", null, 0, 1, AnalysisLevel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(designLevelEClass, DesignLevel.class, "DesignLevel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDesignLevel_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, DesignLevel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getDesignLevel_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, DesignLevel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getDesignLevel_FunctionalDesignArchitecture(), theFunctionmodelingPackage.getDesignFunctionPrototype(), null, "functionalDesignArchitecture", null, 0, 1, DesignLevel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getDesignLevel_HardwareDesignArchitecture(), theHardwaremodelingPackage.getHardwareComponentPrototype(), null, "hardwareDesignArchitecture", null, 0, 1, DesignLevel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getDesignLevel_Allocation(), theFunctionmodelingPackage.getAllocation(), null, "allocation", null, 0, -1, DesignLevel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(vehicleLevelEClass, VehicleLevel.class, "VehicleLevel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getVehicleLevel_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, VehicleLevel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVehicleLevel_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, VehicleLevel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVehicleLevel_TechnicalFeatureModel(), theFeaturemodelingPackage.getFeatureModel(), null, "technicalFeatureModel", null, 0, -1, VehicleLevel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ }
+
+} //SystemmodelingPackageImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/impl/VehicleLevelImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/impl/VehicleLevelImpl.java
new file mode 100644
index 00000000000..82383982eee
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/impl/VehicleLevelImpl.java
@@ -0,0 +1,267 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.systemmodeling.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.eastadl.infrastructure.elements.impl.ContextImpl;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.VehicleLevel;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Vehicle Level</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.VehicleLevelImpl#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.VehicleLevelImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.VehicleLevelImpl#getTechnicalFeatureModel <em>Technical Feature Model</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class VehicleLevelImpl extends ContextImpl implements VehicleLevel {
+ /**
+ * 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 #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 cached value of the '{@link #getTechnicalFeatureModel() <em>Technical Feature Model</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTechnicalFeatureModel()
+ * @generated
+ * @ordered
+ */
+ protected EList<FeatureModel> technicalFeatureModel;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected VehicleLevelImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SystemmodelingPackage.VEHICLE_LEVEL__BASE_PACKAGE:
+ if (resolve) return getBase_Package();
+ return basicGetBase_Package();
+ case SystemmodelingPackage.VEHICLE_LEVEL__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case SystemmodelingPackage.VEHICLE_LEVEL__TECHNICAL_FEATURE_MODEL:
+ return getTechnicalFeatureModel();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SystemmodelingPackage.VEHICLE_LEVEL__BASE_PACKAGE:
+ return base_Package != null;
+ case SystemmodelingPackage.VEHICLE_LEVEL__BASE_CLASS:
+ return base_Class != null;
+ case SystemmodelingPackage.VEHICLE_LEVEL__TECHNICAL_FEATURE_MODEL:
+ return technicalFeatureModel != null && !technicalFeatureModel.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SystemmodelingPackage.VEHICLE_LEVEL__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+ return;
+ case SystemmodelingPackage.VEHICLE_LEVEL__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case SystemmodelingPackage.VEHICLE_LEVEL__TECHNICAL_FEATURE_MODEL:
+ getTechnicalFeatureModel().clear();
+ getTechnicalFeatureModel().addAll((Collection<? extends FeatureModel>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SystemmodelingPackage.Literals.VEHICLE_LEVEL;
+ }
+
+ /**
+ * <!-- 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, SystemmodelingPackage.VEHICLE_LEVEL__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, SystemmodelingPackage.VEHICLE_LEVEL__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+
+ /**
+ * <!-- 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, SystemmodelingPackage.VEHICLE_LEVEL__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, SystemmodelingPackage.VEHICLE_LEVEL__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SystemmodelingPackage.VEHICLE_LEVEL__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)null);
+ return;
+ case SystemmodelingPackage.VEHICLE_LEVEL__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case SystemmodelingPackage.VEHICLE_LEVEL__TECHNICAL_FEATURE_MODEL:
+ getTechnicalFeatureModel().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FeatureModel> getTechnicalFeatureModel() {
+ if (technicalFeatureModel == null) {
+ technicalFeatureModel = new EObjectResolvingEList<FeatureModel>(FeatureModel.class, this, SystemmodelingPackage.VEHICLE_LEVEL__TECHNICAL_FEATURE_MODEL);
+ }
+ return technicalFeatureModel;
+ }
+
+} //VehicleLevelImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/util/SystemmodelingAdapterFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/util/SystemmodelingAdapterFactory.java
new file mode 100644
index 00000000000..b6edcc81a42
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/util/SystemmodelingAdapterFactory.java
@@ -0,0 +1,246 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.systemmodeling.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.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.AnalysisLevel;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.DesignLevel;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.ImplementationLevel;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.VehicleLevel;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage
+ * @generated
+ */
+public class SystemmodelingAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static SystemmodelingPackage modelPackage;
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SystemmodelingSwitch<Adapter> modelSwitch =
+ new SystemmodelingSwitch<Adapter>() {
+ @Override
+ public Adapter caseSystemModel(SystemModel object) {
+ return createSystemModelAdapter();
+ }
+ @Override
+ public Adapter caseImplementationLevel(ImplementationLevel object) {
+ return createImplementationLevelAdapter();
+ }
+ @Override
+ public Adapter caseAnalysisLevel(AnalysisLevel object) {
+ return createAnalysisLevelAdapter();
+ }
+ @Override
+ public Adapter caseDesignLevel(DesignLevel object) {
+ return createDesignLevelAdapter();
+ }
+ @Override
+ public Adapter caseVehicleLevel(VehicleLevel object) {
+ return createVehicleLevelAdapter();
+ }
+ @Override
+ public Adapter caseEAElement(EAElement object) {
+ return createEAElementAdapter();
+ }
+ @Override
+ public Adapter caseContext(Context object) {
+ return createContextAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SystemmodelingAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = SystemmodelingPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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.eclipse.papyrus.eastadl.structure.systemmodeling.AnalysisLevel <em>Analysis Level</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.structure.systemmodeling.AnalysisLevel
+ * @generated
+ */
+ public Adapter createAnalysisLevelAdapter() {
+ return null;
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Context <em>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.eastadl.infrastructure.elements.Context
+ * @generated
+ */
+ public Adapter createContextAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.DesignLevel <em>Design Level</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.structure.systemmodeling.DesignLevel
+ * @generated
+ */
+ public Adapter createDesignLevelAdapter() {
+ 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;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.ImplementationLevel <em>Implementation Level</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.structure.systemmodeling.ImplementationLevel
+ * @generated
+ */
+ public Adapter createImplementationLevelAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel <em>System 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.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel
+ * @generated
+ */
+ public Adapter createSystemModelAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.systemmodeling.VehicleLevel <em>Vehicle Level</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.structure.systemmodeling.VehicleLevel
+ * @generated
+ */
+ public Adapter createVehicleLevelAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement <em>EA Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAElement
+ * @generated
+ */
+ public Adapter createEAElementAdapter() {
+ return null;
+ }
+
+ /**
+ * 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;
+ }
+
+} //SystemmodelingAdapterFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/util/SystemmodelingResourceFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/util/SystemmodelingResourceFactoryImpl.java
new file mode 100644
index 00000000000..ac0f0cea31e
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/util/SystemmodelingResourceFactoryImpl.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.systemmodeling.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.eclipse.papyrus.eastadl.structure.systemmodeling.util.SystemmodelingResourceImpl
+ * @generated
+ */
+public class SystemmodelingResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SystemmodelingResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new SystemmodelingResourceImpl(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;
+ }
+
+} //SystemmodelingResourceFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/util/SystemmodelingResourceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/util/SystemmodelingResourceImpl.java
new file mode 100644
index 00000000000..ca7a6081786
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/util/SystemmodelingResourceImpl.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.systemmodeling.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.eclipse.papyrus.eastadl.structure.systemmodeling.util.SystemmodelingResourceFactoryImpl
+ * @generated
+ */
+public class SystemmodelingResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public SystemmodelingResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //SystemmodelingResourceImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/util/SystemmodelingSwitch.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/util/SystemmodelingSwitch.java
new file mode 100644
index 00000000000..bba1cd7ad8e
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/util/SystemmodelingSwitch.java
@@ -0,0 +1,253 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.systemmodeling.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.AnalysisLevel;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.DesignLevel;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.ImplementationLevel;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemModel;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.VehicleLevel;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage
+ * @generated
+ */
+public class SystemmodelingSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static SystemmodelingPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SystemmodelingSwitch() {
+ if (modelPackage == null) {
+ modelPackage = SystemmodelingPackage.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;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Analysis Level</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate 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 Level</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAnalysisLevel(AnalysisLevel object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>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>Context</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseContext(Context object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Design Level</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Design Level</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDesignLevel(DesignLevel object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Implementation Level</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Implementation Level</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImplementationLevel(ImplementationLevel object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>System 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>System Model</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSystemModel(SystemModel object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Vehicle Level</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Vehicle Level</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVehicleLevel(VehicleLevel object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAElement(EAElement 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;
+ }
+
+ /**
+ * 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 SystemmodelingPackage.SYSTEM_MODEL: {
+ SystemModel systemModel = (SystemModel)theEObject;
+ T result = caseSystemModel(systemModel);
+ if (result == null) result = caseContext(systemModel);
+ if (result == null) result = caseEAElement(systemModel);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SystemmodelingPackage.IMPLEMENTATION_LEVEL: {
+ ImplementationLevel implementationLevel = (ImplementationLevel)theEObject;
+ T result = caseImplementationLevel(implementationLevel);
+ if (result == null) result = caseContext(implementationLevel);
+ if (result == null) result = caseEAElement(implementationLevel);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SystemmodelingPackage.ANALYSIS_LEVEL: {
+ AnalysisLevel analysisLevel = (AnalysisLevel)theEObject;
+ T result = caseAnalysisLevel(analysisLevel);
+ if (result == null) result = caseContext(analysisLevel);
+ if (result == null) result = caseEAElement(analysisLevel);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SystemmodelingPackage.DESIGN_LEVEL: {
+ DesignLevel designLevel = (DesignLevel)theEObject;
+ T result = caseDesignLevel(designLevel);
+ if (result == null) result = caseContext(designLevel);
+ if (result == null) result = caseEAElement(designLevel);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SystemmodelingPackage.VEHICLE_LEVEL: {
+ VehicleLevel vehicleLevel = (VehicleLevel)theEObject;
+ T result = caseVehicleLevel(vehicleLevel);
+ if (result == null) result = caseContext(vehicleLevel);
+ if (result == null) result = caseEAElement(vehicleLevel);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+} //SystemmodelingSwitch
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/util/SystemmodelingXMLProcessor.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/util/SystemmodelingXMLProcessor.java
new file mode 100644
index 00000000000..b8ed12cf4f7
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/systemmodeling/util/SystemmodelingXMLProcessor.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.systemmodeling.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.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SystemmodelingXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SystemmodelingXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ SystemmodelingPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the SystemmodelingResourceFactoryImpl 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 SystemmodelingResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new SystemmodelingResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //SystemmodelingXMLProcessor
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/util/StructureResourceFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/util/StructureResourceFactoryImpl.java
new file mode 100644
index 00000000000..8d0a3d37c63
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/util/StructureResourceFactoryImpl.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+/**
+ * <!-- begin-user-doc --> The <b>Resource Factory</b> associated with the package. <!--
+ * end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.util.StructureResourceImpl
+ * @generated
+ */
+public class StructureResourceFactoryImpl extends ResourceFactoryImpl {
+
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public StructureResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ Resource result = new StructureResourceImpl(uri);
+ return result;
+ }
+
+} // StructureResourceFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/util/StructureResourceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/util/StructureResourceImpl.java
new file mode 100644
index 00000000000..554c46a311b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/util/StructureResourceImpl.java
@@ -0,0 +1,38 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.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.eclipse.papyrus.eastadl.structure.util.StructureResourceFactoryImpl
+ * @generated
+ */
+public class StructureResourceImpl extends XMLResourceImpl {
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public StructureResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} // StructureResourceImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/util/StructureXMLProcessor.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/util/StructureXMLProcessor.java
new file mode 100644
index 00000000000..ddf99ab8ab0
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/util/StructureXMLProcessor.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.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.eclipse.papyrus.eastadl.structure.StructurePackage;
+
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ */
+public class StructureXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public StructureXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ StructurePackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the StructureResourceFactoryImpl 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 StructureResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new StructureResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} // StructureXMLProcessor
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/DeviationAttributeSet.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/DeviationAttributeSet.java
new file mode 100644
index 00000000000..061eec7a7e3
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/DeviationAttributeSet.java
@@ -0,0 +1,377 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling;
+
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.uml2.uml.DataType;
+
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Deviation Attribute Set</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * DeviationAttributeSet specifies the set of rules of allowed deviations from the reference model in a referring model. These rules are important, because they make sure that the different FeatureModels, referring to one reference model, follow specific rules for deviation, so a later integration into one FeatureModel might be possible.
+ *
+ * Extension:
+ * DataType
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowChangeAttribute <em>Allow Change Attribute</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowChangeCardinality <em>Allow Change Cardinality</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowChangeDescription <em>Allow Change Description</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowChangeName <em>Allow Change Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowMove <em>Allow Move</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowReduction <em>Allow Reduction</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowRefinement <em>Allow Refinement</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowRegrouping <em>Allow Regrouping</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowRemoval <em>Allow Removal</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getBase_DataType <em>Base Data Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getFeature <em>Feature</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage#getDeviationAttributeSet()
+ * @model
+ * @generated
+ */
+public interface DeviationAttributeSet extends EAElement {
+
+ /**
+ * Returns the value of the '<em><b>Allow Change Attribute</b></em>' attribute.
+ * The default value is <code>"YES"</code>.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Allow Change Attribute</em>' attribute isn't clear, there really
+ * should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Allow Change Attribute</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind
+ * @see #setAllowChangeAttribute(DeviationPermissionKind)
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage#getDeviationAttributeSet_AllowChangeAttribute()
+ * @model default="YES" required="true" ordered="false"
+ * @generated
+ */
+ DeviationPermissionKind getAllowChangeAttribute();
+
+ /**
+ * Returns the value of the '<em><b>Allow Change Cardinality</b></em>' attribute.
+ * The default value is <code>"YES"</code>.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Allow Change Cardinality</em>' attribute isn't clear, there really
+ * should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Allow Change Cardinality</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind
+ * @see #setAllowChangeCardinality(DeviationPermissionKind)
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage#getDeviationAttributeSet_AllowChangeCardinality()
+ * @model default="YES" required="true" ordered="false"
+ * @generated
+ */
+ DeviationPermissionKind getAllowChangeCardinality();
+
+ /**
+ * Returns the value of the '<em><b>Allow Change Description</b></em>' attribute.
+ * The default value is <code>"YES"</code>.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Allow Change Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Allow Change Description</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind
+ * @see #setAllowChangeDescription(DeviationPermissionKind)
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage#getDeviationAttributeSet_AllowChangeDescription()
+ * @model default="YES" required="true" ordered="false"
+ * @generated
+ */
+ DeviationPermissionKind getAllowChangeDescription();
+
+ /**
+ * Returns the value of the '<em><b>Allow Change Name</b></em>' attribute.
+ * The default value is <code>"YES"</code>.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Allow Change Name</em>' attribute isn't clear, there really should
+ * be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Allow Change Name</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind
+ * @see #setAllowChangeName(DeviationPermissionKind)
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage#getDeviationAttributeSet_AllowChangeName()
+ * @model default="YES" required="true" ordered="false"
+ * @generated
+ */
+ DeviationPermissionKind getAllowChangeName();
+
+ /**
+ * Returns the value of the '<em><b>Allow Move</b></em>' attribute.
+ * The default value is <code>"YES"</code>.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Allow Move</em>' attribute isn't clear, there really should be
+ * more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Allow Move</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind
+ * @see #setAllowMove(DeviationPermissionKind)
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage#getDeviationAttributeSet_AllowMove()
+ * @model default="YES" required="true" ordered="false"
+ * @generated
+ */
+ DeviationPermissionKind getAllowMove();
+
+ /**
+ * Returns the value of the '<em><b>Allow Reduction</b></em>' attribute.
+ * The default value is <code>"YES"</code>.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Allow Reduction</em>' attribute isn't clear, there really should
+ * be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Allow Reduction</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind
+ * @see #setAllowReduction(DeviationPermissionKind)
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage#getDeviationAttributeSet_AllowReduction()
+ * @model default="YES" required="true" ordered="false"
+ * @generated
+ */
+ DeviationPermissionKind getAllowReduction();
+
+ /**
+ * Returns the value of the '<em><b>Allow Refinement</b></em>' attribute.
+ * The default value is <code>"YES"</code>.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Allow Refinement</em>' attribute isn't clear, there really should
+ * be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Allow Refinement</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind
+ * @see #setAllowRefinement(DeviationPermissionKind)
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage#getDeviationAttributeSet_AllowRefinement()
+ * @model default="YES" required="true" ordered="false"
+ * @generated
+ */
+ DeviationPermissionKind getAllowRefinement();
+
+ /**
+ * Returns the value of the '<em><b>Allow Regrouping</b></em>' attribute.
+ * The default value is <code>"YES"</code>.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Allow Regrouping</em>' attribute isn't clear, there really should
+ * be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Allow Regrouping</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind
+ * @see #setAllowRegrouping(DeviationPermissionKind)
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage#getDeviationAttributeSet_AllowRegrouping()
+ * @model default="YES" required="true" ordered="false"
+ * @generated
+ */
+ DeviationPermissionKind getAllowRegrouping();
+
+ /**
+ * Returns the value of the '<em><b>Allow Removal</b></em>' attribute.
+ * The default value is <code>"YES"</code>.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Allow Removal</em>' attribute isn't clear, there really should be
+ * more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Allow Removal</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind
+ * @see #setAllowRemoval(DeviationPermissionKind)
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage#getDeviationAttributeSet_AllowRemoval()
+ * @model default="YES" required="true" ordered="false"
+ * @generated
+ */
+ DeviationPermissionKind getAllowRemoval();
+
+ /**
+ * Returns the value of the '<em><b>Feature</b></em>' container reference. It is bidirectional
+ * and its opposite is '
+ * {@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature#getDeviationAttributeSet
+ * <em>Deviation Attribute Set</em>}'. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Feature</em>' container reference isn't clear, there really should
+ * be more of a description here...
+ * </p>
+ * <!-- end-user-doc --> <!-- begin-model-doc --> The deviation attributes belong to vehicle
+ * features that are part of a reference feature model in the context of multi-level feature
+ * models. The attribute can constrain the allowed deviation for the respective referring
+ * features. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Feature</em>' container reference.
+ * @see #setFeature(VehicleFeature)
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage#getDeviationAttributeSet_Feature()
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature#getDeviationAttributeSet
+ * @model opposite="deviationAttributeSet" required="true" transient="false" ordered="false"
+ * @generated
+ */
+ VehicleFeature getFeature();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowChangeAttribute <em>Allow Change Attribute</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Allow Change Attribute</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind
+ * @see #getAllowChangeAttribute()
+ * @generated
+ */
+ void setAllowChangeAttribute(DeviationPermissionKind value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowChangeCardinality <em>Allow Change Cardinality</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Allow Change Cardinality</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind
+ * @see #getAllowChangeCardinality()
+ * @generated
+ */
+ void setAllowChangeCardinality(DeviationPermissionKind value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowChangeDescription <em>Allow Change Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Allow Change Description</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind
+ * @see #getAllowChangeDescription()
+ * @generated
+ */
+ void setAllowChangeDescription(DeviationPermissionKind value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowChangeName <em>Allow Change Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Allow Change Name</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind
+ * @see #getAllowChangeName()
+ * @generated
+ */
+ void setAllowChangeName(DeviationPermissionKind value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowMove <em>Allow Move</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Allow Move</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind
+ * @see #getAllowMove()
+ * @generated
+ */
+ void setAllowMove(DeviationPermissionKind value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowReduction <em>Allow Reduction</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Allow Reduction</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind
+ * @see #getAllowReduction()
+ * @generated
+ */
+ void setAllowReduction(DeviationPermissionKind value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowRefinement <em>Allow Refinement</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Allow Refinement</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind
+ * @see #getAllowRefinement()
+ * @generated
+ */
+ void setAllowRefinement(DeviationPermissionKind value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowRegrouping <em>Allow Regrouping</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Allow Regrouping</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind
+ * @see #getAllowRegrouping()
+ * @generated
+ */
+ void setAllowRegrouping(DeviationPermissionKind value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowRemoval <em>Allow Removal</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Allow Removal</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind
+ * @see #getAllowRemoval()
+ * @generated
+ */
+ void setAllowRemoval(DeviationPermissionKind value);
+
+ /**
+ * 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.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage#getDeviationAttributeSet_Base_DataType()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ DataType getBase_DataType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#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);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getFeature <em>Feature</em>}' reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Feature</em>' reference.
+ * @see #getFeature()
+ * @generated
+ */
+ void setFeature(VehicleFeature value);
+
+} // DeviationAttributeSet
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/DeviationPermissionKind.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/DeviationPermissionKind.java
new file mode 100644
index 00000000000..fb7ad44f49d
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/DeviationPermissionKind.java
@@ -0,0 +1,319 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling;
+
+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>Deviation Permission Kind</b></em>', and utility methods for working with them. <!--
+ * end-user-doc --> <!-- begin-model-doc --> Possible values for deviation attributes.
+ *
+ * Semantics: DeviationPermissionKind has no specific semantics. Further subclasses of
+ * DeviationPermissionKind will add semantics appropriate to the concept they represent. <!--
+ * end-model-doc -->
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage#getDeviationPermissionKind()
+ * @model
+ * @generated
+ */
+public enum DeviationPermissionKind implements Enumerator {
+ /**
+ * The '<em><b>No</b></em>' literal object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #NO_VALUE
+ * @generated
+ * @ordered
+ */
+ NO(0, "no", "no"),
+
+ /**
+ * The '<em><b>Subtree</b></em>' literal object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #SUBTREE_VALUE
+ * @generated
+ * @ordered
+ */
+ SUBTREE(1, "subtree", "subtree"),
+
+ /**
+ * The '<em><b>Append</b></em>' literal object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #APPEND_VALUE
+ * @generated
+ * @ordered
+ */
+ APPEND(2, "append", "append"),
+
+ /**
+ * The '<em><b>Subset</b></em>' literal object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #SUBSET_VALUE
+ * @generated
+ * @ordered
+ */
+ SUBSET(3, "subset", "subset"),
+
+ /**
+ * The '<em><b>Yes</b></em>' literal object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #YES_VALUE
+ * @generated
+ * @ordered
+ */
+ YES(4, "yes", "yes"), /**
+ * The '<em><b>Widen</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #WIDEN_VALUE
+ * @generated
+ * @ordered
+ */
+ WIDEN(5, "widen", "widen");
+
+ /**
+ * The '<em><b>NO</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>NO</b></em>' literal object isn't clear, there really should be
+ * more of a description here...
+ * </p>
+ * <!-- end-user-doc --> <!-- begin-model-doc --> The deviation is not allowed. <!--
+ * end-model-doc -->
+ *
+ * @see #NO
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int NO_VALUE = 0;
+
+ /**
+ * The '<em><b>SUBTREE</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>SUBTREE</b></em>' literal object isn't clear, there really should
+ * be more of a description here...
+ * </p>
+ * <!-- end-user-doc --> <!-- begin-model-doc --> The deviation permission holds for a complete
+ * subtree. <!-- end-model-doc -->
+ *
+ * @see #SUBTREE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int SUBTREE_VALUE = 1;
+
+ /**
+ * The '<em><b>APPEND</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>APPEND</b></em>' literal object isn't clear, there really should be
+ * more of a description here...
+ * </p>
+ * <!-- end-user-doc --> <!-- begin-model-doc --> The deviation is allowed if achieved by
+ * appending features <!-- end-model-doc -->
+ *
+ * @see #APPEND
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int APPEND_VALUE = 2;
+
+ /**
+ * The '<em><b>SUBSET</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>SUBSET</b></em>' literal object isn't clear, there really should be
+ * more of a description here...
+ * </p>
+ * <!-- end-user-doc --> <!-- begin-model-doc --> The deviation permission holds for a subset of
+ * features. <!-- end-model-doc -->
+ *
+ * @see #SUBSET
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int SUBSET_VALUE = 3;
+
+ /**
+ * The '<em><b>YES</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>YES</b></em>' literal object isn't clear, there really should be
+ * more of a description here...
+ * </p>
+ * <!-- end-user-doc --> <!-- begin-model-doc --> The deviation permission holds. <!--
+ * end-model-doc -->
+ *
+ * @see #YES
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int YES_VALUE = 4;
+
+ /**
+ * The '<em><b>Widen</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Feature groups may only be widened, i.e. it is only legal to add features into a feature group that were not grouped before, but not to ungroup features. This kind is only applicable to deviation attribute 'allowRegrouping'.
+ * <!-- end-model-doc -->
+ * @see #WIDEN
+ * @model name="widen"
+ * @generated
+ * @ordered
+ */
+ public static final int WIDEN_VALUE = 5;
+
+ /**
+ * An array of all the '<em><b>Deviation Permission Kind</b></em>' enumerators. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static final DeviationPermissionKind[] VALUES_ARRAY = new DeviationPermissionKind[] {
+ NO,
+ SUBTREE,
+ APPEND,
+ SUBSET,
+ YES,
+ WIDEN,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Deviation Permission Kind</b></em>' enumerators.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<DeviationPermissionKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Deviation Permission Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public static DeviationPermissionKind get(int value) {
+ switch (value) {
+ case NO_VALUE: return NO;
+ case SUBTREE_VALUE: return SUBTREE;
+ case APPEND_VALUE: return APPEND;
+ case SUBSET_VALUE: return SUBSET;
+ case YES_VALUE: return YES;
+ case WIDEN_VALUE: return WIDEN;
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Deviation Permission Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public static DeviationPermissionKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ DeviationPermissionKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Deviation Permission Kind</b></em>' literal with the specified name. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static DeviationPermissionKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ DeviationPermissionKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ 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 DeviationPermissionKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * 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;
+ }
+
+} // DeviationPermissionKind
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/VehicleFeature.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/VehicleFeature.java
new file mode 100644
index 00000000000..32aa2e989cb
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/VehicleFeature.java
@@ -0,0 +1,163 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling;
+
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Vehicle Feature</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * VehicleFeature represents a special kind of feature intended for use on the vehicle level. The main difference to features in general is that they provide support for the multi-level concept (with their DeviationAttributeSet) and several additional attributes with meta-information specific to the vehicle level viewpoint.
+ *
+ *
+ * Constraints:
+ * [1] VehicleFeatures can only be contained in FeatureModels on VehicleLevel.
+ *
+ * Semantics:
+ * A VehicleFeature is a functional or non-functional characteristic, constraint or property that can be present or not in a vehicle product line on the level of the complete system, i.e. vehicle.
+ *
+ * Extension:
+ * Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature#isIsDesignVariabilityRationale <em>Is Design Variability Rationale</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature#isIsCustomerVisible <em>Is Customer Visible</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature#isIsRemoved <em>Is Removed</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature#getDeviationAttributeSet <em>Deviation Attribute Set</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage#getVehicleFeature()
+ * @model
+ * @generated
+ */
+public interface VehicleFeature extends Feature {
+
+ /**
+ * Returns the value of the '<em><b>Deviation Attribute Set</b></em>' containment reference. It
+ * is bidirectional and its opposite is '
+ * {@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getFeature
+ * <em>Feature</em>}'. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Deviation Attribute Set</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc --> <!-- begin-model-doc --> The deviation attributes belong to vehicle
+ * features that are part of a reference feature model in the context of multi-level feature
+ * models. The attribute can constrain the allowed deviation for the respective referring
+ * features. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Deviation Attribute Set</em>' containment reference.
+ * @see #setDeviationAttributeSet(DeviationAttributeSet)
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage#getVehicleFeature_DeviationAttributeSet()
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getFeature
+ * @model opposite="feature" containment="true" ordered="false"
+ * @generated
+ */
+ DeviationAttributeSet getDeviationAttributeSet();
+
+ /**
+ * Returns the value of the '<em><b>Is Customer Visible</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Customer Visible</em>' attribute isn't clear, there really
+ * should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Customer Visible</em>' attribute.
+ * @see #setIsCustomerVisible(boolean)
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage#getVehicleFeature_IsCustomerVisible()
+ * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isIsCustomerVisible();
+
+ /**
+ * Returns the value of the '<em><b>Is Design Variability Rationale</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Design Variability Rationale</em>' attribute isn't clear, there
+ * really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Design Variability Rationale</em>' attribute.
+ * @see #setIsDesignVariabilityRationale(boolean)
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage#getVehicleFeature_IsDesignVariabilityRationale()
+ * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isIsDesignVariabilityRationale();
+
+ /**
+ * Returns the value of the '<em><b>Is Removed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Removed</em>' attribute isn't clear, there really should be
+ * more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Removed</em>' attribute.
+ * @see #setIsRemoved(boolean)
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage#getVehicleFeature_IsRemoved()
+ * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isIsRemoved();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature#getDeviationAttributeSet <em>Deviation Attribute Set</em>}' reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @param value the new value of the '<em>Deviation Attribute Set</em>' reference.
+ * @see #getDeviationAttributeSet()
+ * @generated
+ */
+ void setDeviationAttributeSet(DeviationAttributeSet value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature#isIsCustomerVisible <em>Is Customer Visible</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Customer Visible</em>' attribute.
+ * @see #isIsCustomerVisible()
+ * @generated
+ */
+ void setIsCustomerVisible(boolean value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature#isIsDesignVariabilityRationale <em>Is Design Variability Rationale</em>}' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @param value the new value of the '<em>Is Design Variability Rationale</em>' attribute.
+ * @see #isIsDesignVariabilityRationale()
+ * @generated
+ */
+ void setIsDesignVariabilityRationale(boolean value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature#isIsRemoved <em>Is Removed</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Removed</em>' attribute.
+ * @see #isIsRemoved()
+ * @generated
+ */
+ void setIsRemoved(boolean value);
+
+} // VehicleFeature
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/VehiclefeaturemodelingFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/VehiclefeaturemodelingFactory.java
new file mode 100644
index 00000000000..e894ea07b50
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/VehiclefeaturemodelingFactory.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling;
+
+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.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage
+ * @generated
+ */
+public interface VehiclefeaturemodelingFactory extends EFactory {
+
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ VehiclefeaturemodelingFactory eINSTANCE = org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Deviation Attribute Set</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Deviation Attribute Set</em>'.
+ * @generated
+ */
+ DeviationAttributeSet createDeviationAttributeSet();
+
+ /**
+ * Returns a new object of class '<em>Vehicle Feature</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return a new object of class '<em>Vehicle Feature</em>'.
+ * @generated
+ */
+ VehicleFeature createVehicleFeature();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ VehiclefeaturemodelingPackage getVehiclefeaturemodelingPackage();
+
+} // VehiclefeaturemodelingFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/VehiclefeaturemodelingPackage.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/VehiclefeaturemodelingPackage.java
new file mode 100644
index 00000000000..608b0c83e76
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/VehiclefeaturemodelingPackage.java
@@ -0,0 +1,735 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling;
+
+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.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+
+
+/**
+ * <!-- 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 --> <!-- begin-model-doc --> At the upper layer, EAST-ADL2 provides support for
+ * classification definition of product lines (the entire vehicle for the car maker or some of its
+ * sub-systems for suppliers). The different possible configurations of the embedded electronic
+ * architecture are captured on a high abstraction level in terms of features. A feature in this
+ * sense is a characteristic or trait that individual variants of the vehicle may or may not have.
+ * The definition of the features themselves, their forms of realization, the dependencies between
+ * them and the requirements to be respected for their realization is also supported at Vehicle
+ * Feature Model level, but it should be done independently of any product line. This would be the
+ * basis for a consistent reuse of features in different product lines and projects. At this level,
+ * a feature represents a high level requirement to be realized in all product line members that
+ * respect some conditions, i.e. US cars with elegance trim and engine size higher than 2.4.
+ * Finally, the Vehicle Feature Model is also intended to gather all the artifacts specified during
+ * the development process: Functional Analysis Architecture, Functional Design Architecture, etc.
+ * The description of a Vehicle Feature Model must reflect in a non-ambiguous way the different
+ * models that must be developed.
+ *
+ * Overview: This subprofile describes the VFM. <!-- end-model-doc -->
+ *
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface VehiclefeaturemodelingPackage extends EPackage {
+
+ /**
+ * <!-- 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.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.DeviationAttributeSetImpl <em>Deviation Attribute Set</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.DeviationAttributeSetImpl
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl#getDeviationAttributeSet()
+ * @generated
+ */
+ EClass DEVIATION_ATTRIBUTE_SET = eINSTANCE.getDeviationAttributeSet();
+
+ /**
+ * The meta object literal for the '<em><b>Allow Change Attribute</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_ATTRIBUTE = eINSTANCE.getDeviationAttributeSet_AllowChangeAttribute();
+
+ /**
+ * The meta object literal for the '<em><b>Allow Change Cardinality</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_CARDINALITY = eINSTANCE.getDeviationAttributeSet_AllowChangeCardinality();
+
+ /**
+ * The meta object literal for the '<em><b>Allow Change Description</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_DESCRIPTION = eINSTANCE.getDeviationAttributeSet_AllowChangeDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Allow Change Name</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_NAME = eINSTANCE.getDeviationAttributeSet_AllowChangeName();
+
+ /**
+ * The meta object literal for the '<em><b>Allow Move</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute DEVIATION_ATTRIBUTE_SET__ALLOW_MOVE = eINSTANCE.getDeviationAttributeSet_AllowMove();
+
+ /**
+ * The meta object literal for the '<em><b>Allow Reduction</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute DEVIATION_ATTRIBUTE_SET__ALLOW_REDUCTION = eINSTANCE.getDeviationAttributeSet_AllowReduction();
+
+ /**
+ * The meta object literal for the '<em><b>Allow Refinement</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DEVIATION_ATTRIBUTE_SET__ALLOW_REFINEMENT = eINSTANCE.getDeviationAttributeSet_AllowRefinement();
+
+ /**
+ * The meta object literal for the '<em><b>Allow Regrouping</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DEVIATION_ATTRIBUTE_SET__ALLOW_REGROUPING = eINSTANCE.getDeviationAttributeSet_AllowRegrouping();
+
+ /**
+ * The meta object literal for the '<em><b>Allow Removal</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute DEVIATION_ATTRIBUTE_SET__ALLOW_REMOVAL = eINSTANCE.getDeviationAttributeSet_AllowRemoval();
+
+ /**
+ * The meta object literal for the '<em><b>Base Data Type</b></em>' reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DEVIATION_ATTRIBUTE_SET__BASE_DATA_TYPE = eINSTANCE.getDeviationAttributeSet_Base_DataType();
+
+ /**
+ * The meta object literal for the '<em><b>Feature</b></em>' reference feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DEVIATION_ATTRIBUTE_SET__FEATURE = eINSTANCE.getDeviationAttributeSet_Feature();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehicleFeatureImpl <em>Vehicle Feature</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehicleFeatureImpl
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl#getVehicleFeature()
+ * @generated
+ */
+ EClass VEHICLE_FEATURE = eINSTANCE.getVehicleFeature();
+
+ /**
+ * The meta object literal for the '<em><b>Is Design Variability Rationale</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VEHICLE_FEATURE__IS_DESIGN_VARIABILITY_RATIONALE = eINSTANCE.getVehicleFeature_IsDesignVariabilityRationale();
+
+ /**
+ * The meta object literal for the '<em><b>Is Customer Visible</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VEHICLE_FEATURE__IS_CUSTOMER_VISIBLE = eINSTANCE.getVehicleFeature_IsCustomerVisible();
+
+ /**
+ * The meta object literal for the '<em><b>Is Removed</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute VEHICLE_FEATURE__IS_REMOVED = eINSTANCE.getVehicleFeature_IsRemoved();
+
+ /**
+ * The meta object literal for the '<em><b>Deviation Attribute Set</b></em>' reference feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VEHICLE_FEATURE__DEVIATION_ATTRIBUTE_SET = eINSTANCE.getVehicleFeature_DeviationAttributeSet();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind <em>Deviation Permission Kind</em>}' enum.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl#getDeviationPermissionKind()
+ * @generated
+ */
+ EEnum DEVIATION_PERMISSION_KIND = eINSTANCE.getDeviationPermissionKind();
+
+ }
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "vehiclefeaturemodeling";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.papyrusuml.org/EAST-ADL2/Structure/VehicleFeatureModeling/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "VehicleFeatureModeling";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ VehiclefeaturemodelingPackage eINSTANCE = org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.DeviationAttributeSetImpl <em>Deviation Attribute Set</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.DeviationAttributeSetImpl
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl#getDeviationAttributeSet()
+ * @generated
+ */
+ int DEVIATION_ATTRIBUTE_SET = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVIATION_ATTRIBUTE_SET__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVIATION_ATTRIBUTE_SET__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVIATION_ATTRIBUTE_SET__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Allow Change Attribute</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_ATTRIBUTE = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Allow Change Cardinality</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_CARDINALITY = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Allow Change Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_DESCRIPTION = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Allow Change Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_NAME = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Allow Move</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVIATION_ATTRIBUTE_SET__ALLOW_MOVE = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Allow Reduction</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVIATION_ATTRIBUTE_SET__ALLOW_REDUCTION = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Allow Refinement</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVIATION_ATTRIBUTE_SET__ALLOW_REFINEMENT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Allow Regrouping</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVIATION_ATTRIBUTE_SET__ALLOW_REGROUPING = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Allow Removal</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVIATION_ATTRIBUTE_SET__ALLOW_REMOVAL = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Base Data Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVIATION_ATTRIBUTE_SET__BASE_DATA_TYPE = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Feature</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVIATION_ATTRIBUTE_SET__FEATURE = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 10;
+
+ /**
+ * The number of structural features of the '<em>Deviation Attribute Set</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEVIATION_ATTRIBUTE_SET_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 11;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehicleFeatureImpl <em>Vehicle Feature</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehicleFeatureImpl
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl#getVehicleFeature()
+ * @generated
+ */
+ int VEHICLE_FEATURE = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_FEATURE__NAME = FeaturemodelingPackage.FEATURE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_FEATURE__BASE_NAMED_ELEMENT = FeaturemodelingPackage.FEATURE__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_FEATURE__OWNED_COMMENT = FeaturemodelingPackage.FEATURE__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_FEATURE__TRACEABLE_SPECIFICATION = FeaturemodelingPackage.FEATURE__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_FEATURE__OWNED_RELATIONSHIP = FeaturemodelingPackage.FEATURE__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_FEATURE__BASE_CLASS = FeaturemodelingPackage.FEATURE__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Cardinality</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_FEATURE__CARDINALITY = FeaturemodelingPackage.FEATURE__CARDINALITY;
+
+ /**
+ * The feature id for the '<em><b>Required Binding Time</b></em>' reference.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_FEATURE__REQUIRED_BINDING_TIME = FeaturemodelingPackage.FEATURE__REQUIRED_BINDING_TIME;
+
+ /**
+ * The feature id for the '<em><b>Actual Binding Time</b></em>' reference.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_FEATURE__ACTUAL_BINDING_TIME = FeaturemodelingPackage.FEATURE__ACTUAL_BINDING_TIME;
+
+ /**
+ * The feature id for the '<em><b>Feature Parameter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_FEATURE__FEATURE_PARAMETER = FeaturemodelingPackage.FEATURE__FEATURE_PARAMETER;
+
+ /**
+ * The feature id for the '<em><b>Child Node</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_FEATURE__CHILD_NODE = FeaturemodelingPackage.FEATURE__CHILD_NODE;
+
+ /**
+ * The feature id for the '<em><b>Is Design Variability Rationale</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_FEATURE__IS_DESIGN_VARIABILITY_RATIONALE = FeaturemodelingPackage.FEATURE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Is Customer Visible</b></em>' attribute.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_FEATURE__IS_CUSTOMER_VISIBLE = FeaturemodelingPackage.FEATURE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Is Removed</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_FEATURE__IS_REMOVED = FeaturemodelingPackage.FEATURE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Deviation Attribute Set</b></em>' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_FEATURE__DEVIATION_ATTRIBUTE_SET = FeaturemodelingPackage.FEATURE_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Vehicle Feature</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_FEATURE_FEATURE_COUNT = FeaturemodelingPackage.FEATURE_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind <em>Deviation Permission Kind</em>}' enum.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl#getDeviationPermissionKind()
+ * @generated
+ */
+ int DEVIATION_PERMISSION_KIND = 2;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet <em>Deviation Attribute Set</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Deviation Attribute Set</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet
+ * @generated
+ */
+ EClass getDeviationAttributeSet();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowChangeAttribute <em>Allow Change Attribute</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Allow Change Attribute</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowChangeAttribute()
+ * @see #getDeviationAttributeSet()
+ * @generated
+ */
+ EAttribute getDeviationAttributeSet_AllowChangeAttribute();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowChangeCardinality <em>Allow Change Cardinality</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Allow Change Cardinality</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowChangeCardinality()
+ * @see #getDeviationAttributeSet()
+ * @generated
+ */
+ EAttribute getDeviationAttributeSet_AllowChangeCardinality();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowChangeDescription <em>Allow Change Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Allow Change Description</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowChangeDescription()
+ * @see #getDeviationAttributeSet()
+ * @generated
+ */
+ EAttribute getDeviationAttributeSet_AllowChangeDescription();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowChangeName <em>Allow Change Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Allow Change Name</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowChangeName()
+ * @see #getDeviationAttributeSet()
+ * @generated
+ */
+ EAttribute getDeviationAttributeSet_AllowChangeName();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowMove <em>Allow Move</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Allow Move</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowMove()
+ * @see #getDeviationAttributeSet()
+ * @generated
+ */
+ EAttribute getDeviationAttributeSet_AllowMove();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowReduction <em>Allow Reduction</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Allow Reduction</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowReduction()
+ * @see #getDeviationAttributeSet()
+ * @generated
+ */
+ EAttribute getDeviationAttributeSet_AllowReduction();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowRefinement <em>Allow Refinement</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Allow Refinement</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowRefinement()
+ * @see #getDeviationAttributeSet()
+ * @generated
+ */
+ EAttribute getDeviationAttributeSet_AllowRefinement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowRegrouping <em>Allow Regrouping</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Allow Regrouping</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowRegrouping()
+ * @see #getDeviationAttributeSet()
+ * @generated
+ */
+ EAttribute getDeviationAttributeSet_AllowRegrouping();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowRemoval <em>Allow Removal</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Allow Removal</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getAllowRemoval()
+ * @see #getDeviationAttributeSet()
+ * @generated
+ */
+ EAttribute getDeviationAttributeSet_AllowRemoval();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#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.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getBase_DataType()
+ * @see #getDeviationAttributeSet()
+ * @generated
+ */
+ EReference getDeviationAttributeSet_Base_DataType();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getFeature <em>Feature</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Feature</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet#getFeature()
+ * @see #getDeviationAttributeSet()
+ * @generated
+ */
+ EReference getDeviationAttributeSet_Feature();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind <em>Deviation Permission Kind</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Deviation Permission Kind</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind
+ * @generated
+ */
+ EEnum getDeviationPermissionKind();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature <em>Vehicle Feature</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Vehicle Feature</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature
+ * @generated
+ */
+ EClass getVehicleFeature();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature#getDeviationAttributeSet <em>Deviation Attribute Set</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Deviation Attribute Set</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature#getDeviationAttributeSet()
+ * @see #getVehicleFeature()
+ * @generated
+ */
+ EReference getVehicleFeature_DeviationAttributeSet();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature#isIsCustomerVisible <em>Is Customer Visible</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Customer Visible</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature#isIsCustomerVisible()
+ * @see #getVehicleFeature()
+ * @generated
+ */
+ EAttribute getVehicleFeature_IsCustomerVisible();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature#isIsDesignVariabilityRationale <em>Is Design Variability Rationale</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Design Variability Rationale</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature#isIsDesignVariabilityRationale()
+ * @see #getVehicleFeature()
+ * @generated
+ */
+ EAttribute getVehicleFeature_IsDesignVariabilityRationale();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature#isIsRemoved <em>Is Removed</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Removed</em>'.
+ * @see org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature#isIsRemoved()
+ * @see #getVehicleFeature()
+ * @generated
+ */
+ EAttribute getVehicleFeature_IsRemoved();
+
+ /**
+ * 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
+ */
+ VehiclefeaturemodelingFactory getVehiclefeaturemodelingFactory();
+
+} // VehiclefeaturemodelingPackage
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/impl/DeviationAttributeSetImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/impl/DeviationAttributeSetImpl.java
new file mode 100644
index 00000000000..11c9c8019b3
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/impl/DeviationAttributeSetImpl.java
@@ -0,0 +1,743 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.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.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+import org.eclipse.uml2.uml.DataType;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Deviation Attribute Set</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.DeviationAttributeSetImpl#getAllowChangeAttribute <em>Allow Change Attribute</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.DeviationAttributeSetImpl#getAllowChangeCardinality <em>Allow Change Cardinality</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.DeviationAttributeSetImpl#getAllowChangeDescription <em>Allow Change Description</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.DeviationAttributeSetImpl#getAllowChangeName <em>Allow Change Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.DeviationAttributeSetImpl#getAllowMove <em>Allow Move</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.DeviationAttributeSetImpl#getAllowReduction <em>Allow Reduction</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.DeviationAttributeSetImpl#getAllowRefinement <em>Allow Refinement</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.DeviationAttributeSetImpl#getAllowRegrouping <em>Allow Regrouping</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.DeviationAttributeSetImpl#getAllowRemoval <em>Allow Removal</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.DeviationAttributeSetImpl#getBase_DataType <em>Base Data Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.DeviationAttributeSetImpl#getFeature <em>Feature</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DeviationAttributeSetImpl extends EAElementImpl implements DeviationAttributeSet {
+
+ /**
+ * The default value of the '{@link #getAllowChangeAttribute() <em>Allow Change Attribute</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getAllowChangeAttribute()
+ * @generated
+ * @ordered
+ */
+ protected static final DeviationPermissionKind ALLOW_CHANGE_ATTRIBUTE_EDEFAULT = DeviationPermissionKind.NO;
+
+ /**
+ * The cached value of the '{@link #getAllowChangeAttribute() <em>Allow Change Attribute</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getAllowChangeAttribute()
+ * @generated
+ * @ordered
+ */
+ protected DeviationPermissionKind allowChangeAttribute = ALLOW_CHANGE_ATTRIBUTE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getAllowChangeCardinality() <em>Allow Change Cardinality</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getAllowChangeCardinality()
+ * @generated
+ * @ordered
+ */
+ protected static final DeviationPermissionKind ALLOW_CHANGE_CARDINALITY_EDEFAULT = DeviationPermissionKind.NO;
+
+ /**
+ * The cached value of the '{@link #getAllowChangeCardinality() <em>Allow Change Cardinality</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getAllowChangeCardinality()
+ * @generated
+ * @ordered
+ */
+ protected DeviationPermissionKind allowChangeCardinality = ALLOW_CHANGE_CARDINALITY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getAllowChangeDescription() <em>Allow Change Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAllowChangeDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final DeviationPermissionKind ALLOW_CHANGE_DESCRIPTION_EDEFAULT = DeviationPermissionKind.NO;
+
+ /**
+ * The cached value of the '{@link #getAllowChangeDescription() <em>Allow Change Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAllowChangeDescription()
+ * @generated
+ * @ordered
+ */
+ protected DeviationPermissionKind allowChangeDescription = ALLOW_CHANGE_DESCRIPTION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getAllowChangeName() <em>Allow Change Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getAllowChangeName()
+ * @generated
+ * @ordered
+ */
+ protected static final DeviationPermissionKind ALLOW_CHANGE_NAME_EDEFAULT = DeviationPermissionKind.NO;
+
+ /**
+ * The cached value of the '{@link #getAllowChangeName() <em>Allow Change Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getAllowChangeName()
+ * @generated
+ * @ordered
+ */
+ protected DeviationPermissionKind allowChangeName = ALLOW_CHANGE_NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getAllowMove() <em>Allow Move</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getAllowMove()
+ * @generated
+ * @ordered
+ */
+ protected static final DeviationPermissionKind ALLOW_MOVE_EDEFAULT = DeviationPermissionKind.NO;
+
+ /**
+ * The cached value of the '{@link #getAllowMove() <em>Allow Move</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getAllowMove()
+ * @generated
+ * @ordered
+ */
+ protected DeviationPermissionKind allowMove = ALLOW_MOVE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getAllowReduction() <em>Allow Reduction</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getAllowReduction()
+ * @generated
+ * @ordered
+ */
+ protected static final DeviationPermissionKind ALLOW_REDUCTION_EDEFAULT = DeviationPermissionKind.NO;
+
+ /**
+ * The cached value of the '{@link #getAllowReduction() <em>Allow Reduction</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getAllowReduction()
+ * @generated
+ * @ordered
+ */
+ protected DeviationPermissionKind allowReduction = ALLOW_REDUCTION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getAllowRefinement() <em>Allow Refinement</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getAllowRefinement()
+ * @generated
+ * @ordered
+ */
+ protected static final DeviationPermissionKind ALLOW_REFINEMENT_EDEFAULT = DeviationPermissionKind.NO;
+
+ /**
+ * The cached value of the '{@link #getAllowRefinement() <em>Allow Refinement</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getAllowRefinement()
+ * @generated
+ * @ordered
+ */
+ protected DeviationPermissionKind allowRefinement = ALLOW_REFINEMENT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getAllowRegrouping() <em>Allow Regrouping</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getAllowRegrouping()
+ * @generated
+ * @ordered
+ */
+ protected static final DeviationPermissionKind ALLOW_REGROUPING_EDEFAULT = DeviationPermissionKind.NO;
+
+ /**
+ * The cached value of the '{@link #getAllowRegrouping() <em>Allow Regrouping</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getAllowRegrouping()
+ * @generated
+ * @ordered
+ */
+ protected DeviationPermissionKind allowRegrouping = ALLOW_REGROUPING_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getAllowRemoval() <em>Allow Removal</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getAllowRemoval()
+ * @generated
+ * @ordered
+ */
+ protected static final DeviationPermissionKind ALLOW_REMOVAL_EDEFAULT = DeviationPermissionKind.NO;
+
+ /**
+ * The cached value of the '{@link #getAllowRemoval() <em>Allow Removal</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getAllowRemoval()
+ * @generated
+ * @ordered
+ */
+ protected DeviationPermissionKind allowRemoval = ALLOW_REMOVAL_EDEFAULT;
+
+ /**
+ * 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 cached value of the '{@link #getFeature() <em>Feature</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFeature()
+ * @generated
+ * @ordered
+ */
+ protected VehicleFeature feature;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected DeviationAttributeSetImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VehicleFeature basicGetFeature() {
+ return feature;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetFeature(VehicleFeature newFeature, NotificationChain msgs) {
+ VehicleFeature oldFeature = feature;
+ feature = newFeature;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__FEATURE, oldFeature, newFeature);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_ATTRIBUTE:
+ return getAllowChangeAttribute();
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_CARDINALITY:
+ return getAllowChangeCardinality();
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_DESCRIPTION:
+ return getAllowChangeDescription();
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_NAME:
+ return getAllowChangeName();
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_MOVE:
+ return getAllowMove();
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_REDUCTION:
+ return getAllowReduction();
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_REFINEMENT:
+ return getAllowRefinement();
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_REGROUPING:
+ return getAllowRegrouping();
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_REMOVAL:
+ return getAllowRemoval();
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__BASE_DATA_TYPE:
+ if (resolve) return getBase_DataType();
+ return basicGetBase_DataType();
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__FEATURE:
+ if (resolve) return getFeature();
+ return basicGetFeature();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__FEATURE:
+ if (feature != null)
+ msgs = ((InternalEObject)feature).eInverseRemove(this, VehiclefeaturemodelingPackage.VEHICLE_FEATURE__DEVIATION_ATTRIBUTE_SET, VehicleFeature.class, msgs);
+ return basicSetFeature((VehicleFeature)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__FEATURE:
+ return basicSetFeature(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_ATTRIBUTE:
+ return allowChangeAttribute != ALLOW_CHANGE_ATTRIBUTE_EDEFAULT;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_CARDINALITY:
+ return allowChangeCardinality != ALLOW_CHANGE_CARDINALITY_EDEFAULT;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_DESCRIPTION:
+ return allowChangeDescription != ALLOW_CHANGE_DESCRIPTION_EDEFAULT;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_NAME:
+ return allowChangeName != ALLOW_CHANGE_NAME_EDEFAULT;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_MOVE:
+ return allowMove != ALLOW_MOVE_EDEFAULT;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_REDUCTION:
+ return allowReduction != ALLOW_REDUCTION_EDEFAULT;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_REFINEMENT:
+ return allowRefinement != ALLOW_REFINEMENT_EDEFAULT;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_REGROUPING:
+ return allowRegrouping != ALLOW_REGROUPING_EDEFAULT;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_REMOVAL:
+ return allowRemoval != ALLOW_REMOVAL_EDEFAULT;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__BASE_DATA_TYPE:
+ return base_DataType != null;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__FEATURE:
+ return feature != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_ATTRIBUTE:
+ setAllowChangeAttribute((DeviationPermissionKind)newValue);
+ return;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_CARDINALITY:
+ setAllowChangeCardinality((DeviationPermissionKind)newValue);
+ return;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_DESCRIPTION:
+ setAllowChangeDescription((DeviationPermissionKind)newValue);
+ return;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_NAME:
+ setAllowChangeName((DeviationPermissionKind)newValue);
+ return;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_MOVE:
+ setAllowMove((DeviationPermissionKind)newValue);
+ return;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_REDUCTION:
+ setAllowReduction((DeviationPermissionKind)newValue);
+ return;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_REFINEMENT:
+ setAllowRefinement((DeviationPermissionKind)newValue);
+ return;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_REGROUPING:
+ setAllowRegrouping((DeviationPermissionKind)newValue);
+ return;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_REMOVAL:
+ setAllowRemoval((DeviationPermissionKind)newValue);
+ return;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__BASE_DATA_TYPE:
+ setBase_DataType((DataType)newValue);
+ return;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__FEATURE:
+ setFeature((VehicleFeature)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VehiclefeaturemodelingPackage.Literals.DEVIATION_ATTRIBUTE_SET;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_ATTRIBUTE:
+ setAllowChangeAttribute(ALLOW_CHANGE_ATTRIBUTE_EDEFAULT);
+ return;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_CARDINALITY:
+ setAllowChangeCardinality(ALLOW_CHANGE_CARDINALITY_EDEFAULT);
+ return;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_DESCRIPTION:
+ setAllowChangeDescription(ALLOW_CHANGE_DESCRIPTION_EDEFAULT);
+ return;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_NAME:
+ setAllowChangeName(ALLOW_CHANGE_NAME_EDEFAULT);
+ return;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_MOVE:
+ setAllowMove(ALLOW_MOVE_EDEFAULT);
+ return;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_REDUCTION:
+ setAllowReduction(ALLOW_REDUCTION_EDEFAULT);
+ return;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_REFINEMENT:
+ setAllowRefinement(ALLOW_REFINEMENT_EDEFAULT);
+ return;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_REGROUPING:
+ setAllowRegrouping(ALLOW_REGROUPING_EDEFAULT);
+ return;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_REMOVAL:
+ setAllowRemoval(ALLOW_REMOVAL_EDEFAULT);
+ return;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__BASE_DATA_TYPE:
+ setBase_DataType((DataType)null);
+ return;
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__FEATURE:
+ setFeature((VehicleFeature)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public DeviationPermissionKind getAllowChangeAttribute() {
+ return allowChangeAttribute;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public DeviationPermissionKind getAllowChangeCardinality() {
+ return allowChangeCardinality;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DeviationPermissionKind getAllowChangeDescription() {
+ return allowChangeDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public DeviationPermissionKind getAllowChangeName() {
+ return allowChangeName;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public DeviationPermissionKind getAllowMove() {
+ return allowMove;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public DeviationPermissionKind getAllowReduction() {
+ return allowReduction;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public DeviationPermissionKind getAllowRefinement() {
+ return allowRefinement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public DeviationPermissionKind getAllowRegrouping() {
+ return allowRegrouping;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public DeviationPermissionKind getAllowRemoval() {
+ return allowRemoval;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public VehicleFeature getFeature() {
+ if (feature != null && feature.eIsProxy()) {
+ InternalEObject oldFeature = (InternalEObject)feature;
+ feature = (VehicleFeature)eResolveProxy(oldFeature);
+ if (feature != oldFeature) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__FEATURE, oldFeature, feature));
+ }
+ }
+ return feature;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAllowChangeAttribute(DeviationPermissionKind newAllowChangeAttribute) {
+ DeviationPermissionKind oldAllowChangeAttribute = allowChangeAttribute;
+ allowChangeAttribute = newAllowChangeAttribute == null ? ALLOW_CHANGE_ATTRIBUTE_EDEFAULT : newAllowChangeAttribute;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_ATTRIBUTE, oldAllowChangeAttribute, allowChangeAttribute));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAllowChangeCardinality(DeviationPermissionKind newAllowChangeCardinality) {
+ DeviationPermissionKind oldAllowChangeCardinality = allowChangeCardinality;
+ allowChangeCardinality = newAllowChangeCardinality == null ? ALLOW_CHANGE_CARDINALITY_EDEFAULT : newAllowChangeCardinality;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_CARDINALITY, oldAllowChangeCardinality, allowChangeCardinality));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAllowChangeDescription(DeviationPermissionKind newAllowChangeDescription) {
+ DeviationPermissionKind oldAllowChangeDescription = allowChangeDescription;
+ allowChangeDescription = newAllowChangeDescription == null ? ALLOW_CHANGE_DESCRIPTION_EDEFAULT : newAllowChangeDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_DESCRIPTION, oldAllowChangeDescription, allowChangeDescription));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAllowChangeName(DeviationPermissionKind newAllowChangeName) {
+ DeviationPermissionKind oldAllowChangeName = allowChangeName;
+ allowChangeName = newAllowChangeName == null ? ALLOW_CHANGE_NAME_EDEFAULT : newAllowChangeName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_NAME, oldAllowChangeName, allowChangeName));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAllowMove(DeviationPermissionKind newAllowMove) {
+ DeviationPermissionKind oldAllowMove = allowMove;
+ allowMove = newAllowMove == null ? ALLOW_MOVE_EDEFAULT : newAllowMove;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_MOVE, oldAllowMove, allowMove));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAllowReduction(DeviationPermissionKind newAllowReduction) {
+ DeviationPermissionKind oldAllowReduction = allowReduction;
+ allowReduction = newAllowReduction == null ? ALLOW_REDUCTION_EDEFAULT : newAllowReduction;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_REDUCTION, oldAllowReduction, allowReduction));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAllowRefinement(DeviationPermissionKind newAllowRefinement) {
+ DeviationPermissionKind oldAllowRefinement = allowRefinement;
+ allowRefinement = newAllowRefinement == null ? ALLOW_REFINEMENT_EDEFAULT : newAllowRefinement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_REFINEMENT, oldAllowRefinement, allowRefinement));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAllowRegrouping(DeviationPermissionKind newAllowRegrouping) {
+ DeviationPermissionKind oldAllowRegrouping = allowRegrouping;
+ allowRegrouping = newAllowRegrouping == null ? ALLOW_REGROUPING_EDEFAULT : newAllowRegrouping;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_REGROUPING, oldAllowRegrouping, allowRegrouping));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAllowRemoval(DeviationPermissionKind newAllowRemoval) {
+ DeviationPermissionKind oldAllowRemoval = allowRemoval;
+ allowRemoval = newAllowRemoval == null ? ALLOW_REMOVAL_EDEFAULT : newAllowRemoval;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__ALLOW_REMOVAL, oldAllowRemoval, allowRemoval));
+ }
+
+ /**
+ * <!-- 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, VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__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, VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__BASE_DATA_TYPE, oldBase_DataType, base_DataType));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFeature(VehicleFeature newFeature) {
+ if (newFeature != feature) {
+ NotificationChain msgs = null;
+ if (feature != null)
+ msgs = ((InternalEObject)feature).eInverseRemove(this, VehiclefeaturemodelingPackage.VEHICLE_FEATURE__DEVIATION_ATTRIBUTE_SET, VehicleFeature.class, msgs);
+ if (newFeature != null)
+ msgs = ((InternalEObject)newFeature).eInverseAdd(this, VehiclefeaturemodelingPackage.VEHICLE_FEATURE__DEVIATION_ATTRIBUTE_SET, VehicleFeature.class, msgs);
+ msgs = basicSetFeature(newFeature, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__FEATURE, newFeature, newFeature));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (allowChangeAttribute: ");
+ result.append(allowChangeAttribute);
+ result.append(", allowChangeCardinality: ");
+ result.append(allowChangeCardinality);
+ result.append(", allowChangeDescription: ");
+ result.append(allowChangeDescription);
+ result.append(", allowChangeName: ");
+ result.append(allowChangeName);
+ result.append(", allowMove: ");
+ result.append(allowMove);
+ result.append(", allowReduction: ");
+ result.append(allowReduction);
+ result.append(", allowRefinement: ");
+ result.append(allowRefinement);
+ result.append(", allowRegrouping: ");
+ result.append(allowRegrouping);
+ result.append(", allowRemoval: ");
+ result.append(allowRemoval);
+ result.append(')');
+ return result.toString();
+ }
+
+} // DeviationAttributeSetImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/impl/VehicleFeatureImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/impl/VehicleFeatureImpl.java
new file mode 100644
index 00000000000..f578705d5ee
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/impl/VehicleFeatureImpl.java
@@ -0,0 +1,378 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.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.papyrus.eastadl.structure.featuremodeling.impl.FeatureImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Vehicle Feature</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehicleFeatureImpl#isIsDesignVariabilityRationale <em>Is Design Variability Rationale</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehicleFeatureImpl#isIsCustomerVisible <em>Is Customer Visible</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehicleFeatureImpl#isIsRemoved <em>Is Removed</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehicleFeatureImpl#getDeviationAttributeSet <em>Deviation Attribute Set</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class VehicleFeatureImpl extends FeatureImpl implements VehicleFeature {
+
+ /**
+ * The default value of the '{@link #isIsDesignVariabilityRationale() <em>Is Design Variability Rationale</em>}' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see #isIsDesignVariabilityRationale()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_DESIGN_VARIABILITY_RATIONALE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsDesignVariabilityRationale() <em>Is Design Variability Rationale</em>}' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see #isIsDesignVariabilityRationale()
+ * @generated
+ * @ordered
+ */
+ protected boolean isDesignVariabilityRationale = IS_DESIGN_VARIABILITY_RATIONALE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isIsCustomerVisible() <em>Is Customer Visible</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #isIsCustomerVisible()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_CUSTOMER_VISIBLE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsCustomerVisible() <em>Is Customer Visible</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #isIsCustomerVisible()
+ * @generated
+ * @ordered
+ */
+ protected boolean isCustomerVisible = IS_CUSTOMER_VISIBLE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isIsRemoved() <em>Is Removed</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isIsRemoved()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_REMOVED_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsRemoved() <em>Is Removed</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isIsRemoved()
+ * @generated
+ * @ordered
+ */
+ protected boolean isRemoved = IS_REMOVED_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getDeviationAttributeSet() <em>Deviation Attribute Set</em>}' reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getDeviationAttributeSet()
+ * @generated
+ * @ordered
+ */
+ protected DeviationAttributeSet deviationAttributeSet;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected VehicleFeatureImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DeviationAttributeSet basicGetDeviationAttributeSet() {
+ return deviationAttributeSet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetDeviationAttributeSet(DeviationAttributeSet newDeviationAttributeSet,
+ NotificationChain msgs) {
+ DeviationAttributeSet oldDeviationAttributeSet = deviationAttributeSet;
+ deviationAttributeSet = newDeviationAttributeSet;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VehiclefeaturemodelingPackage.VEHICLE_FEATURE__DEVIATION_ATTRIBUTE_SET, oldDeviationAttributeSet, newDeviationAttributeSet);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case VehiclefeaturemodelingPackage.VEHICLE_FEATURE__IS_DESIGN_VARIABILITY_RATIONALE:
+ return isIsDesignVariabilityRationale();
+ case VehiclefeaturemodelingPackage.VEHICLE_FEATURE__IS_CUSTOMER_VISIBLE:
+ return isIsCustomerVisible();
+ case VehiclefeaturemodelingPackage.VEHICLE_FEATURE__IS_REMOVED:
+ return isIsRemoved();
+ case VehiclefeaturemodelingPackage.VEHICLE_FEATURE__DEVIATION_ATTRIBUTE_SET:
+ if (resolve) return getDeviationAttributeSet();
+ return basicGetDeviationAttributeSet();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case VehiclefeaturemodelingPackage.VEHICLE_FEATURE__DEVIATION_ATTRIBUTE_SET:
+ if (deviationAttributeSet != null)
+ msgs = ((InternalEObject)deviationAttributeSet).eInverseRemove(this, VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__FEATURE, DeviationAttributeSet.class, msgs);
+ return basicSetDeviationAttributeSet((DeviationAttributeSet)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case VehiclefeaturemodelingPackage.VEHICLE_FEATURE__DEVIATION_ATTRIBUTE_SET:
+ return basicSetDeviationAttributeSet(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case VehiclefeaturemodelingPackage.VEHICLE_FEATURE__IS_DESIGN_VARIABILITY_RATIONALE:
+ return isDesignVariabilityRationale != IS_DESIGN_VARIABILITY_RATIONALE_EDEFAULT;
+ case VehiclefeaturemodelingPackage.VEHICLE_FEATURE__IS_CUSTOMER_VISIBLE:
+ return isCustomerVisible != IS_CUSTOMER_VISIBLE_EDEFAULT;
+ case VehiclefeaturemodelingPackage.VEHICLE_FEATURE__IS_REMOVED:
+ return isRemoved != IS_REMOVED_EDEFAULT;
+ case VehiclefeaturemodelingPackage.VEHICLE_FEATURE__DEVIATION_ATTRIBUTE_SET:
+ return deviationAttributeSet != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case VehiclefeaturemodelingPackage.VEHICLE_FEATURE__IS_DESIGN_VARIABILITY_RATIONALE:
+ setIsDesignVariabilityRationale((Boolean)newValue);
+ return;
+ case VehiclefeaturemodelingPackage.VEHICLE_FEATURE__IS_CUSTOMER_VISIBLE:
+ setIsCustomerVisible((Boolean)newValue);
+ return;
+ case VehiclefeaturemodelingPackage.VEHICLE_FEATURE__IS_REMOVED:
+ setIsRemoved((Boolean)newValue);
+ return;
+ case VehiclefeaturemodelingPackage.VEHICLE_FEATURE__DEVIATION_ATTRIBUTE_SET:
+ setDeviationAttributeSet((DeviationAttributeSet)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VehiclefeaturemodelingPackage.Literals.VEHICLE_FEATURE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case VehiclefeaturemodelingPackage.VEHICLE_FEATURE__IS_DESIGN_VARIABILITY_RATIONALE:
+ setIsDesignVariabilityRationale(IS_DESIGN_VARIABILITY_RATIONALE_EDEFAULT);
+ return;
+ case VehiclefeaturemodelingPackage.VEHICLE_FEATURE__IS_CUSTOMER_VISIBLE:
+ setIsCustomerVisible(IS_CUSTOMER_VISIBLE_EDEFAULT);
+ return;
+ case VehiclefeaturemodelingPackage.VEHICLE_FEATURE__IS_REMOVED:
+ setIsRemoved(IS_REMOVED_EDEFAULT);
+ return;
+ case VehiclefeaturemodelingPackage.VEHICLE_FEATURE__DEVIATION_ATTRIBUTE_SET:
+ setDeviationAttributeSet((DeviationAttributeSet)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public DeviationAttributeSet getDeviationAttributeSet() {
+ if (deviationAttributeSet != null && deviationAttributeSet.eIsProxy()) {
+ InternalEObject oldDeviationAttributeSet = (InternalEObject)deviationAttributeSet;
+ deviationAttributeSet = (DeviationAttributeSet)eResolveProxy(oldDeviationAttributeSet);
+ if (deviationAttributeSet != oldDeviationAttributeSet) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, VehiclefeaturemodelingPackage.VEHICLE_FEATURE__DEVIATION_ATTRIBUTE_SET, oldDeviationAttributeSet, deviationAttributeSet));
+ }
+ }
+ return deviationAttributeSet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsCustomerVisible() {
+ return isCustomerVisible;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsDesignVariabilityRationale() {
+ return isDesignVariabilityRationale;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsRemoved() {
+ return isRemoved;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDeviationAttributeSet(DeviationAttributeSet newDeviationAttributeSet) {
+ if (newDeviationAttributeSet != deviationAttributeSet) {
+ NotificationChain msgs = null;
+ if (deviationAttributeSet != null)
+ msgs = ((InternalEObject)deviationAttributeSet).eInverseRemove(this, VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__FEATURE, DeviationAttributeSet.class, msgs);
+ if (newDeviationAttributeSet != null)
+ msgs = ((InternalEObject)newDeviationAttributeSet).eInverseAdd(this, VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET__FEATURE, DeviationAttributeSet.class, msgs);
+ msgs = basicSetDeviationAttributeSet(newDeviationAttributeSet, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VehiclefeaturemodelingPackage.VEHICLE_FEATURE__DEVIATION_ATTRIBUTE_SET, newDeviationAttributeSet, newDeviationAttributeSet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsCustomerVisible(boolean newIsCustomerVisible) {
+ boolean oldIsCustomerVisible = isCustomerVisible;
+ isCustomerVisible = newIsCustomerVisible;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VehiclefeaturemodelingPackage.VEHICLE_FEATURE__IS_CUSTOMER_VISIBLE, oldIsCustomerVisible, isCustomerVisible));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsDesignVariabilityRationale(boolean newIsDesignVariabilityRationale) {
+ boolean oldIsDesignVariabilityRationale = isDesignVariabilityRationale;
+ isDesignVariabilityRationale = newIsDesignVariabilityRationale;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VehiclefeaturemodelingPackage.VEHICLE_FEATURE__IS_DESIGN_VARIABILITY_RATIONALE, oldIsDesignVariabilityRationale, isDesignVariabilityRationale));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsRemoved(boolean newIsRemoved) {
+ boolean oldIsRemoved = isRemoved;
+ isRemoved = newIsRemoved;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VehiclefeaturemodelingPackage.VEHICLE_FEATURE__IS_REMOVED, oldIsRemoved, isRemoved));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (isDesignVariabilityRationale: ");
+ result.append(isDesignVariabilityRationale);
+ result.append(", isCustomerVisible: ");
+ result.append(isCustomerVisible);
+ result.append(", isRemoved: ");
+ result.append(isRemoved);
+ result.append(')');
+ return result.toString();
+ }
+
+} // VehicleFeatureImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/impl/VehiclefeaturemodelingFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/impl/VehiclefeaturemodelingFactoryImpl.java
new file mode 100644
index 00000000000..5d072303896
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/impl/VehiclefeaturemodelingFactoryImpl.java
@@ -0,0 +1,160 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.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.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingFactory;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!-- end-user-doc -->
+ * @generated
+ */
+public class VehiclefeaturemodelingFactoryImpl extends EFactoryImpl implements VehiclefeaturemodelingFactory {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static VehiclefeaturemodelingPackage getPackage() {
+ return VehiclefeaturemodelingPackage.eINSTANCE;
+ }
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public static VehiclefeaturemodelingFactory init() {
+ try {
+ VehiclefeaturemodelingFactory theVehiclefeaturemodelingFactory = (VehiclefeaturemodelingFactory)EPackage.Registry.INSTANCE.getEFactory(VehiclefeaturemodelingPackage.eNS_URI);
+ if (theVehiclefeaturemodelingFactory != null) {
+ return theVehiclefeaturemodelingFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new VehiclefeaturemodelingFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public VehiclefeaturemodelingFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertDeviationPermissionKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case VehiclefeaturemodelingPackage.DEVIATION_PERMISSION_KIND:
+ return convertDeviationPermissionKindToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET: return createDeviationAttributeSet();
+ case VehiclefeaturemodelingPackage.VEHICLE_FEATURE: return createVehicleFeature();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public DeviationAttributeSet createDeviationAttributeSet() {
+ DeviationAttributeSetImpl deviationAttributeSet = new DeviationAttributeSetImpl();
+ return deviationAttributeSet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public DeviationPermissionKind createDeviationPermissionKindFromString(EDataType eDataType, String initialValue) {
+ DeviationPermissionKind result = DeviationPermissionKind.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
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case VehiclefeaturemodelingPackage.DEVIATION_PERMISSION_KIND:
+ return createDeviationPermissionKindFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public VehicleFeature createVehicleFeature() {
+ VehicleFeatureImpl vehicleFeature = new VehicleFeatureImpl();
+ return vehicleFeature;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public VehiclefeaturemodelingPackage getVehiclefeaturemodelingPackage() {
+ return (VehiclefeaturemodelingPackage)getEPackage();
+ }
+
+} // VehiclefeaturemodelingFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/impl/VehiclefeaturemodelingPackageImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/impl/VehiclefeaturemodelingPackageImpl.java
new file mode 100644
index 00000000000..c33f507227f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/impl/VehiclefeaturemodelingPackageImpl.java
@@ -0,0 +1,515 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.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.eastadl.EastadlPackage;
+import org.eclipse.papyrus.eastadl.annex.AnnexPackage;
+import org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.StructurePackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationPermissionKind;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingFactory;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc -->
+ * @generated
+ */
+public class VehiclefeaturemodelingPackageImpl extends EPackageImpl implements VehiclefeaturemodelingPackage {
+
+ /**
+ * <!-- 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 VehiclefeaturemodelingPackage#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 VehiclefeaturemodelingPackage init() {
+ if (isInited) return (VehiclefeaturemodelingPackage)EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI);
+
+ // Obtain or create and register package
+ VehiclefeaturemodelingPackageImpl theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof VehiclefeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new VehiclefeaturemodelingPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ SysmlPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EastadlPackageImpl theEastadlPackage = (EastadlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) instanceof EastadlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) : EastadlPackage.eINSTANCE);
+ VariabilityPackageImpl theVariabilityPackage = (VariabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) instanceof VariabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) : VariabilityPackage.eINSTANCE);
+ InfrastructurePackageImpl theInfrastructurePackage = (InfrastructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) instanceof InfrastructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) : InfrastructurePackage.eINSTANCE);
+ DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) instanceof DatatypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) : DatatypesPackage.eINSTANCE);
+ UserattributesPackageImpl theUserattributesPackage = (UserattributesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) instanceof UserattributesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) : UserattributesPackage.eINSTANCE);
+ ElementsPackageImpl theElementsPackage = (ElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) instanceof ElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) : ElementsPackage.eINSTANCE);
+ StructurePackageImpl theStructurePackage = (StructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) instanceof StructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) : StructurePackage.eINSTANCE);
+ FunctionmodelingPackageImpl theFunctionmodelingPackage = (FunctionmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) instanceof FunctionmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) : FunctionmodelingPackage.eINSTANCE);
+ HardwaremodelingPackageImpl theHardwaremodelingPackage = (HardwaremodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) instanceof HardwaremodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) : HardwaremodelingPackage.eINSTANCE);
+ SystemmodelingPackageImpl theSystemmodelingPackage = (SystemmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) instanceof SystemmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) : SystemmodelingPackage.eINSTANCE);
+ FeaturemodelingPackageImpl theFeaturemodelingPackage = (FeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) instanceof FeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) : FeaturemodelingPackage.eINSTANCE);
+ BehaviorPackageImpl theBehaviorPackage = (BehaviorPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) instanceof BehaviorPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) : BehaviorPackage.eINSTANCE);
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) : RequirementsPackage.eINSTANCE);
+ VerificationvalidationPackageImpl theVerificationvalidationPackage = (VerificationvalidationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) instanceof VerificationvalidationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) : VerificationvalidationPackage.eINSTANCE);
+ TimingPackageImpl theTimingPackage = (TimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) instanceof TimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) : TimingPackage.eINSTANCE);
+ TimingconstraintsPackageImpl theTimingconstraintsPackage = (TimingconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) instanceof TimingconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) : TimingconstraintsPackage.eINSTANCE);
+ EventsPackageImpl theEventsPackage = (EventsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+ InterchangePackageImpl theInterchangePackage = (InterchangePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) instanceof InterchangePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) : InterchangePackage.eINSTANCE);
+ EnvironmentPackageImpl theEnvironmentPackage = (EnvironmentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) instanceof EnvironmentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) : EnvironmentPackage.eINSTANCE);
+ DependabilityPackageImpl theDependabilityPackage = (DependabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) instanceof DependabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) : DependabilityPackage.eINSTANCE);
+ ErrormodelPackageImpl theErrormodelPackage = (ErrormodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) instanceof ErrormodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) : ErrormodelPackage.eINSTANCE);
+ SafetyrequirementPackageImpl theSafetyrequirementPackage = (SafetyrequirementPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) instanceof SafetyrequirementPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) : SafetyrequirementPackage.eINSTANCE);
+ SafetyconstraintsPackageImpl theSafetyconstraintsPackage = (SafetyconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) instanceof SafetyconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) : SafetyconstraintsPackage.eINSTANCE);
+ SafetycasePackageImpl theSafetycasePackage = (SafetycasePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) instanceof SafetycasePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) : SafetycasePackage.eINSTANCE);
+ AnnexPackageImpl theAnnexPackage = (AnnexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) instanceof AnnexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) : AnnexPackage.eINSTANCE);
+ NeedsPackageImpl theNeedsPackage = (NeedsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) instanceof NeedsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) : NeedsPackage.eINSTANCE);
+ GenericconstraintsPackageImpl theGenericconstraintsPackage = (GenericconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) instanceof GenericconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) : GenericconstraintsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theVehiclefeaturemodelingPackage.createPackageContents();
+ theEastadlPackage.createPackageContents();
+ theVariabilityPackage.createPackageContents();
+ theInfrastructurePackage.createPackageContents();
+ theDatatypesPackage.createPackageContents();
+ theUserattributesPackage.createPackageContents();
+ theElementsPackage.createPackageContents();
+ theStructurePackage.createPackageContents();
+ theFunctionmodelingPackage.createPackageContents();
+ theHardwaremodelingPackage.createPackageContents();
+ theSystemmodelingPackage.createPackageContents();
+ theFeaturemodelingPackage.createPackageContents();
+ theBehaviorPackage.createPackageContents();
+ theRequirementsPackage.createPackageContents();
+ theVerificationvalidationPackage.createPackageContents();
+ theTimingPackage.createPackageContents();
+ theTimingconstraintsPackage.createPackageContents();
+ theEventsPackage.createPackageContents();
+ theInterchangePackage.createPackageContents();
+ theEnvironmentPackage.createPackageContents();
+ theDependabilityPackage.createPackageContents();
+ theErrormodelPackage.createPackageContents();
+ theSafetyrequirementPackage.createPackageContents();
+ theSafetyconstraintsPackage.createPackageContents();
+ theSafetycasePackage.createPackageContents();
+ theAnnexPackage.createPackageContents();
+ theNeedsPackage.createPackageContents();
+ theGenericconstraintsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theVehiclefeaturemodelingPackage.initializePackageContents();
+ theEastadlPackage.initializePackageContents();
+ theVariabilityPackage.initializePackageContents();
+ theInfrastructurePackage.initializePackageContents();
+ theDatatypesPackage.initializePackageContents();
+ theUserattributesPackage.initializePackageContents();
+ theElementsPackage.initializePackageContents();
+ theStructurePackage.initializePackageContents();
+ theFunctionmodelingPackage.initializePackageContents();
+ theHardwaremodelingPackage.initializePackageContents();
+ theSystemmodelingPackage.initializePackageContents();
+ theFeaturemodelingPackage.initializePackageContents();
+ theBehaviorPackage.initializePackageContents();
+ theRequirementsPackage.initializePackageContents();
+ theVerificationvalidationPackage.initializePackageContents();
+ theTimingPackage.initializePackageContents();
+ theTimingconstraintsPackage.initializePackageContents();
+ theEventsPackage.initializePackageContents();
+ theInterchangePackage.initializePackageContents();
+ theEnvironmentPackage.initializePackageContents();
+ theDependabilityPackage.initializePackageContents();
+ theErrormodelPackage.initializePackageContents();
+ theSafetyrequirementPackage.initializePackageContents();
+ theSafetyconstraintsPackage.initializePackageContents();
+ theSafetycasePackage.initializePackageContents();
+ theAnnexPackage.initializePackageContents();
+ theNeedsPackage.initializePackageContents();
+ theGenericconstraintsPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theVehiclefeaturemodelingPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(VehiclefeaturemodelingPackage.eNS_URI, theVehiclefeaturemodelingPackage);
+ return theVehiclefeaturemodelingPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass deviationAttributeSetEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass vehicleFeatureEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum deviationPermissionKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * 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.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private VehiclefeaturemodelingPackageImpl() {
+ super(eNS_URI, VehiclefeaturemodelingFactory.eINSTANCE);
+ }
+
+ /**
+ * 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
+ deviationAttributeSetEClass = createEClass(DEVIATION_ATTRIBUTE_SET);
+ createEAttribute(deviationAttributeSetEClass, DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_ATTRIBUTE);
+ createEAttribute(deviationAttributeSetEClass, DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_CARDINALITY);
+ createEAttribute(deviationAttributeSetEClass, DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_DESCRIPTION);
+ createEAttribute(deviationAttributeSetEClass, DEVIATION_ATTRIBUTE_SET__ALLOW_CHANGE_NAME);
+ createEAttribute(deviationAttributeSetEClass, DEVIATION_ATTRIBUTE_SET__ALLOW_MOVE);
+ createEAttribute(deviationAttributeSetEClass, DEVIATION_ATTRIBUTE_SET__ALLOW_REDUCTION);
+ createEAttribute(deviationAttributeSetEClass, DEVIATION_ATTRIBUTE_SET__ALLOW_REFINEMENT);
+ createEAttribute(deviationAttributeSetEClass, DEVIATION_ATTRIBUTE_SET__ALLOW_REGROUPING);
+ createEAttribute(deviationAttributeSetEClass, DEVIATION_ATTRIBUTE_SET__ALLOW_REMOVAL);
+ createEReference(deviationAttributeSetEClass, DEVIATION_ATTRIBUTE_SET__BASE_DATA_TYPE);
+ createEReference(deviationAttributeSetEClass, DEVIATION_ATTRIBUTE_SET__FEATURE);
+
+ vehicleFeatureEClass = createEClass(VEHICLE_FEATURE);
+ createEAttribute(vehicleFeatureEClass, VEHICLE_FEATURE__IS_DESIGN_VARIABILITY_RATIONALE);
+ createEAttribute(vehicleFeatureEClass, VEHICLE_FEATURE__IS_CUSTOMER_VISIBLE);
+ createEAttribute(vehicleFeatureEClass, VEHICLE_FEATURE__IS_REMOVED);
+ createEReference(vehicleFeatureEClass, VEHICLE_FEATURE__DEVIATION_ATTRIBUTE_SET);
+
+ // Create enums
+ deviationPermissionKindEEnum = createEEnum(DEVIATION_PERMISSION_KIND);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDeviationAttributeSet() {
+ return deviationAttributeSetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDeviationAttributeSet_AllowChangeAttribute() {
+ return (EAttribute)deviationAttributeSetEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDeviationAttributeSet_AllowChangeCardinality() {
+ return (EAttribute)deviationAttributeSetEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDeviationAttributeSet_AllowChangeDescription() {
+ return (EAttribute)deviationAttributeSetEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDeviationAttributeSet_AllowChangeName() {
+ return (EAttribute)deviationAttributeSetEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDeviationAttributeSet_AllowMove() {
+ return (EAttribute)deviationAttributeSetEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDeviationAttributeSet_AllowReduction() {
+ return (EAttribute)deviationAttributeSetEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDeviationAttributeSet_AllowRefinement() {
+ return (EAttribute)deviationAttributeSetEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDeviationAttributeSet_AllowRegrouping() {
+ return (EAttribute)deviationAttributeSetEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDeviationAttributeSet_AllowRemoval() {
+ return (EAttribute)deviationAttributeSetEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDeviationAttributeSet_Base_DataType() {
+ return (EReference)deviationAttributeSetEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDeviationAttributeSet_Feature() {
+ return (EReference)deviationAttributeSetEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getDeviationPermissionKind() {
+ return deviationPermissionKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVehicleFeature() {
+ return vehicleFeatureEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVehicleFeature_DeviationAttributeSet() {
+ return (EReference)vehicleFeatureEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVehicleFeature_IsCustomerVisible() {
+ return (EAttribute)vehicleFeatureEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVehicleFeature_IsDesignVariabilityRationale() {
+ return (EAttribute)vehicleFeatureEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVehicleFeature_IsRemoved() {
+ return (EAttribute)vehicleFeatureEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public VehiclefeaturemodelingFactory getVehiclefeaturemodelingFactory() {
+ return (VehiclefeaturemodelingFactory)getEFactoryInstance();
+ }
+
+ /**
+ * 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
+ ElementsPackage theElementsPackage = (ElementsPackage)EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI);
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+ FeaturemodelingPackage theFeaturemodelingPackage = (FeaturemodelingPackage)EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI);
+ TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ deviationAttributeSetEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ vehicleFeatureEClass.getESuperTypes().add(theFeaturemodelingPackage.getFeature());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(deviationAttributeSetEClass, DeviationAttributeSet.class, "DeviationAttributeSet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getDeviationAttributeSet_AllowChangeAttribute(), this.getDeviationPermissionKind(), "allowChangeAttribute", "YES", 1, 1, DeviationAttributeSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getDeviationAttributeSet_AllowChangeCardinality(), this.getDeviationPermissionKind(), "allowChangeCardinality", "YES", 1, 1, DeviationAttributeSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getDeviationAttributeSet_AllowChangeDescription(), this.getDeviationPermissionKind(), "allowChangeDescription", "YES", 1, 1, DeviationAttributeSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getDeviationAttributeSet_AllowChangeName(), this.getDeviationPermissionKind(), "allowChangeName", "YES", 1, 1, DeviationAttributeSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getDeviationAttributeSet_AllowMove(), this.getDeviationPermissionKind(), "allowMove", "YES", 1, 1, DeviationAttributeSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getDeviationAttributeSet_AllowReduction(), this.getDeviationPermissionKind(), "allowReduction", "YES", 1, 1, DeviationAttributeSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getDeviationAttributeSet_AllowRefinement(), this.getDeviationPermissionKind(), "allowRefinement", "YES", 1, 1, DeviationAttributeSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getDeviationAttributeSet_AllowRegrouping(), this.getDeviationPermissionKind(), "allowRegrouping", "YES", 1, 1, DeviationAttributeSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getDeviationAttributeSet_AllowRemoval(), this.getDeviationPermissionKind(), "allowRemoval", "YES", 1, 1, DeviationAttributeSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getDeviationAttributeSet_Base_DataType(), theUMLPackage.getDataType(), null, "base_DataType", null, 1, 1, DeviationAttributeSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getDeviationAttributeSet_Feature(), this.getVehicleFeature(), this.getVehicleFeature_DeviationAttributeSet(), "feature", null, 1, 1, DeviationAttributeSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(vehicleFeatureEClass, VehicleFeature.class, "VehicleFeature", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getVehicleFeature_IsDesignVariabilityRationale(), theTypesPackage.getBoolean(), "isDesignVariabilityRationale", null, 1, 1, VehicleFeature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getVehicleFeature_IsCustomerVisible(), theTypesPackage.getBoolean(), "isCustomerVisible", null, 1, 1, VehicleFeature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getVehicleFeature_IsRemoved(), theTypesPackage.getBoolean(), "isRemoved", null, 1, 1, VehicleFeature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVehicleFeature_DeviationAttributeSet(), this.getDeviationAttributeSet(), this.getDeviationAttributeSet_Feature(), "deviationAttributeSet", null, 0, 1, VehicleFeature.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(deviationPermissionKindEEnum, DeviationPermissionKind.class, "DeviationPermissionKind");
+ addEEnumLiteral(deviationPermissionKindEEnum, DeviationPermissionKind.NO);
+ addEEnumLiteral(deviationPermissionKindEEnum, DeviationPermissionKind.SUBTREE);
+ addEEnumLiteral(deviationPermissionKindEEnum, DeviationPermissionKind.APPEND);
+ addEEnumLiteral(deviationPermissionKindEEnum, DeviationPermissionKind.SUBSET);
+ addEEnumLiteral(deviationPermissionKindEEnum, DeviationPermissionKind.YES);
+ addEEnumLiteral(deviationPermissionKindEEnum, DeviationPermissionKind.WIDEN);
+ }
+
+} // VehiclefeaturemodelingPackageImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/util/VehiclefeaturemodelingAdapterFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/util/VehiclefeaturemodelingAdapterFactory.java
new file mode 100644
index 00000000000..f04bd44a827
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/util/VehiclefeaturemodelingAdapterFactory.java
@@ -0,0 +1,216 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.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.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureTreeNode;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage
+ * @generated
+ */
+public class VehiclefeaturemodelingAdapterFactory extends AdapterFactoryImpl {
+
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected static VehiclefeaturemodelingPackage modelPackage;
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ protected VehiclefeaturemodelingSwitch<Adapter> modelSwitch = new VehiclefeaturemodelingSwitch<Adapter>() {
+ @Override
+ public Adapter caseDeviationAttributeSet(DeviationAttributeSet object) {
+ return createDeviationAttributeSetAdapter();
+ }
+ @Override
+ public Adapter caseVehicleFeature(VehicleFeature object) {
+ return createVehicleFeatureAdapter();
+ }
+ @Override
+ public Adapter caseEAElement(EAElement object) {
+ return createEAElementAdapter();
+ }
+ @Override
+ public Adapter caseContext(Context object) {
+ return createContextAdapter();
+ }
+ @Override
+ public Adapter caseFeatureTreeNode(FeatureTreeNode object) {
+ return createFeatureTreeNodeAdapter();
+ }
+ @Override
+ public Adapter caseFeature(Feature object) {
+ return createFeatureAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public VehiclefeaturemodelingAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = VehiclefeaturemodelingPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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.eclipse.papyrus.eastadl.infrastructure.elements.Context <em>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.eastadl.infrastructure.elements.Context
+ * @generated
+ */
+ public Adapter createContextAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet <em>Deviation Attribute Set</em>}'.
+ * <!-- begin-user-doc --> This default implementation
+ * returns null so that we can easily ignore cases; 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.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet
+ * @generated
+ */
+ public Adapter createDeviationAttributeSetAdapter() {
+ 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;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature <em>Feature</em>}'.
+ * <!-- begin-user-doc --> This default implementation returns null so that
+ * we can easily ignore cases; 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.eastadl.structure.featuremodeling.Feature
+ * @generated
+ */
+ public Adapter createFeatureAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureTreeNode <em>Feature Tree Node</em>}'.
+ * <!-- begin-user-doc --> This default implementation returns
+ * null so that we can easily ignore cases; 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.eastadl.structure.featuremodeling.FeatureTreeNode
+ * @generated
+ */
+ public Adapter createFeatureTreeNodeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature <em>Vehicle Feature</em>}'.
+ * <!-- begin-user-doc --> This default implementation returns null
+ * so that we can easily ignore cases; 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.eastadl.structure.vehiclefeaturemodeling.VehicleFeature
+ * @generated
+ */
+ public Adapter createVehicleFeatureAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement <em>EA Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAElement
+ * @generated
+ */
+ public Adapter createEAElementAdapter() {
+ return null;
+ }
+
+ /**
+ * 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;
+ }
+
+} // VehiclefeaturemodelingAdapterFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/util/VehiclefeaturemodelingResourceFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/util/VehiclefeaturemodelingResourceFactoryImpl.java
new file mode 100644
index 00000000000..98854a8c2a6
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/util/VehiclefeaturemodelingResourceFactoryImpl.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.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.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.util.VehiclefeaturemodelingResourceImpl
+ * @generated
+ */
+public class VehiclefeaturemodelingResourceFactoryImpl extends ResourceFactoryImpl {
+
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public VehiclefeaturemodelingResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new VehiclefeaturemodelingResourceImpl(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;
+ }
+
+} // VehiclefeaturemodelingResourceFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/util/VehiclefeaturemodelingResourceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/util/VehiclefeaturemodelingResourceImpl.java
new file mode 100644
index 00000000000..41ff9c51197
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/util/VehiclefeaturemodelingResourceImpl.java
@@ -0,0 +1,38 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.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.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.util.VehiclefeaturemodelingResourceFactoryImpl
+ * @generated
+ */
+public class VehiclefeaturemodelingResourceImpl extends XMLResourceImpl {
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public VehiclefeaturemodelingResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} // VehiclefeaturemodelingResourceImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/util/VehiclefeaturemodelingSwitch.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/util/VehiclefeaturemodelingSwitch.java
new file mode 100644
index 00000000000..369efde179d
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/util/VehiclefeaturemodelingSwitch.java
@@ -0,0 +1,202 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.Feature;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureTreeNode;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.DeviationAttributeSet;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehicleFeature;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage
+ * @generated
+ */
+public class VehiclefeaturemodelingSwitch<T> extends Switch<T> {
+
+ /**
+ * The cached model package
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected static VehiclefeaturemodelingPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public VehiclefeaturemodelingSwitch() {
+ if (modelPackage == null) {
+ modelPackage = VehiclefeaturemodelingPackage.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;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>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>Context</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseContext(Context object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Deviation Attribute Set</em>'.
+ * <!-- begin-user-doc --> This implementation returns null;
+ * returning a non-null result will terminate the switch. <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Deviation Attribute Set</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDeviationAttributeSet(DeviationAttributeSet object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Feature</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will
+ * terminate the switch. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Feature</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFeature(Feature object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Feature Tree Node</em>'.
+ * <!-- begin-user-doc --> This implementation returns null; returning a non-null result will
+ * terminate the switch. <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Feature Tree Node</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFeatureTreeNode(FeatureTreeNode object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Vehicle Feature</em>'.
+ * <!-- begin-user-doc --> This implementation returns null; returning a non-null result will
+ * terminate the switch. <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Vehicle Feature</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVehicleFeature(VehicleFeature object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAElement(EAElement 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;
+ }
+
+ /**
+ * 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 VehiclefeaturemodelingPackage.DEVIATION_ATTRIBUTE_SET: {
+ DeviationAttributeSet deviationAttributeSet = (DeviationAttributeSet)theEObject;
+ T result = caseDeviationAttributeSet(deviationAttributeSet);
+ if (result == null) result = caseEAElement(deviationAttributeSet);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case VehiclefeaturemodelingPackage.VEHICLE_FEATURE: {
+ VehicleFeature vehicleFeature = (VehicleFeature)theEObject;
+ T result = caseVehicleFeature(vehicleFeature);
+ if (result == null) result = caseFeature(vehicleFeature);
+ if (result == null) result = caseFeatureTreeNode(vehicleFeature);
+ if (result == null) result = caseContext(vehicleFeature);
+ if (result == null) result = caseEAElement(vehicleFeature);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+} // VehiclefeaturemodelingSwitch
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/util/VehiclefeaturemodelingXMLProcessor.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/util/VehiclefeaturemodelingXMLProcessor.java
new file mode 100644
index 00000000000..f70b5abe61f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/structure/vehiclefeaturemodeling/util/VehiclefeaturemodelingXMLProcessor.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.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.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ */
+public class VehiclefeaturemodelingXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public VehiclefeaturemodelingXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ VehiclefeaturemodelingPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the VehiclefeaturemodelingResourceFactoryImpl 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 VehiclefeaturemodelingResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new VehiclefeaturemodelingResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} // VehiclefeaturemodelingXMLProcessor
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/Event.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/Event.java
new file mode 100644
index 00000000000..72fed478b1f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/Event.java
@@ -0,0 +1,79 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Event</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An Event (E) is supposed to denote a distinct form of state change in a running system, taking place at distinct points in time called occurrences of the event. An event may also report a [current] state. In that case, the event occurs periodically. For example, the "driver door has been opened" is an event indicating a state change; whereas the "driver door is open" is an event reporting a state.
+ *
+ * A running system can be observed by identifying certain forms of state changes to watch for, and for each such observation point, noting the times when changes occur. This notion of observation also applies to a hypothetical predicted run of a system or a system model from a timing perspective, the only information that needs to be in the output of such a prediction is a sequence of times for each observation point, indicating the times that each event is predicted to occur.
+ *
+ * The occurrence of an event either stimulates an execution, or is caused by an execution [as a response to another event that occurred before]. In the first case the event is called Stimulus (S) and in the latter case it is called Response (R). Stimuli always precede responses; and responses in turn always succeed stimuli.
+ *
+ * An event occurs instantaneously, which means that an event occurs at a time instant without any duration. In addition, an event can appear any number of times and the subsequent occurrences may follow a specific pattern, like periodic, sporadic, or in sudden bursts. Each of these occurrences has a unique time instant.
+ *
+ * The distinction between an event and its occurrence is usually obvious from the considered context (causal and temporal). The event is not defined by its occurrences, but rather by a description expressing its purpose.
+ *
+ *
+ * Constraints:
+ * [1] In the case that the event reports a [current] state (isStateChange is FALSE), the event must have a periodic event model [or a pattern model]. Rationale: The [current] state shall be reported consistently and periodically.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.Event#isIsStateChanged <em>Is State Changed</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getEvent()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Event extends TimingDescription {
+
+ /**
+ * Returns the value of the '<em><b>Is State Changed</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * This attribute indicates whether the event reports a state change or a [current] state. If the boolean value is TRUE, then the event reports a state change (no over-undersampling).
+ * If the boolean value is FALSE, then the event reports a [current] state.
+ * By default, the value of this attribute is TRUE.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Is State Changed</em>' attribute.
+ * @see #setIsStateChanged(boolean)
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getEvent_IsStateChanged()
+ * @model default="true" unique="false" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isIsStateChanged();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.Event#isIsStateChanged <em>Is State Changed</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is State Changed</em>' attribute.
+ * @see #isIsStateChanged()
+ * @generated
+ */
+ void setIsStateChanged(boolean value);
+
+} // Event
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/EventChain.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/EventChain.java
new file mode 100644
index 00000000000..05009b6afcb
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/EventChain.java
@@ -0,0 +1,104 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Event Chain</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The purpose of event chains is to describe the temporal behavior of a number of steps to be taken to respond to one or more events accordingly. [An event chain is also used to express that a temporal requirement/constraint is imposed on a number of steps to respond to one or more events accordingly (-> requirement).] Such events could be observed in a given system and are categorized into stimuli and responses.
+ *
+ * Event chains can refer to other event chains which are then called event chain segments or strands. Segments are sequential event chains refining an EventChain, while strands define parallel event chains that refine an EventChain. An EventChain can be both a segment and a strand at the same time. An event chain respectively event chain segment can be atomic which means it is not refined to other event chains.
+ *
+ * Constraints:
+ * [1] The cardinality of strand shall be either 0 or greater than 1. Rationale: Only values > 1 express true parallelism.
+ *
+ * Semantics:
+ * An EventChain references two groups of events: stimulus and response. The semantics is that each event in the stimulus group somehow causes, or at least affects the value of all events in the response group. However, since questions about causality and value influence clearly involve the semantics of the underlying structural model, this aspect of an EventChain is semantically outside its scope. Instead, delay constraint semantics are defined solely in terms of the times at which the stimulus and response events occur, independently of whether there actually exists a causal connection between these events in the structural model.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.EventChain#getSegment <em>Segment</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.EventChain#getStrand <em>Strand</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.EventChain#getResponse <em>Response</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.EventChain#getStimulus <em>Stimulus</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getEventChain()
+ * @model
+ * @generated
+ */
+public interface EventChain extends TimingDescription {
+
+ /**
+ * Returns the value of the '<em><b>Response</b></em>' reference list. The list contents are of
+ * type {@link org.eclipse.papyrus.eastadl.timing.Event}. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The Response element is the entity to describe an
+ * event that is a response to a stimulus that occurred before. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Response</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getEventChain_Response()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<Event> getResponse();
+
+ /**
+ * Returns the value of the '<em><b>Segment</b></em>' reference list. The list contents are of
+ * type {@link org.eclipse.papyrus.eastadl.timing.EventChain}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> Referred EventChains that are not parallel and
+ * in sequence refines this EventChain. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Segment</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getEventChain_Segment()
+ * @model
+ * @generated
+ */
+ EList<EventChain> getSegment();
+
+ /**
+ * Returns the value of the '<em><b>Stimulus</b></em>' reference list. The list contents are of
+ * type {@link org.eclipse.papyrus.eastadl.timing.Event}. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> The Stimulus element is the entity to describe an
+ * event that stimulates the steps to be taken to respond to this event. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Stimulus</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getEventChain_Stimulus()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<Event> getStimulus();
+
+ /**
+ * Returns the value of the '<em><b>Strand</b></em>' reference list. The list contents are of
+ * type {@link org.eclipse.papyrus.eastadl.timing.EventChain}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> Parallel EventChains refining this EventChain.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Strand</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getEventChain_Strand()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<EventChain> getStrand();
+
+} // EventChain
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/ExecutionTimeConstraint.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/ExecutionTimeConstraint.java
new file mode 100644
index 00000000000..287d5b45e4a
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/ExecutionTimeConstraint.java
@@ -0,0 +1,174 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing;
+
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionType;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Execution Time Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * ExecutionTimeConstraint expresses the execution time of a function under the assumption of a nominal CPU that executes 1 "function second" per second. Function allocation will decide the actual execution time by multiplication with the relative speed of the host CPU.
+ *
+ * Example:
+ * The ECU is 20% faster than a standard ECU (e.g. in a certain context, execution times are given assuming a nominal speed of 100 MHz; Our CPU is then 120 MHz)
+ *
+ * The function is activated by a time trigger or a port trigger. The function starts execution some time after activation, depending on e.g. interference and blocking from other functions on the same resource
+ * Immediately on start, the function reads input data on all ports. Functions write data at the latest when the execution time has elapsed (which is after the execution time plus any blocking and interference time).
+ *
+ * Constraints:
+ * [1] An ExecutionTimeConstraint either identifies a FunctionType or a FunctionPrototype as its target function.
+ * [2] variation shall be a value between 0 and upper-lower.
+ *
+ * Semantics:
+ * lower (from TimingConstraint) denotes the minimal best case execution time.
+ * upper (from TimingConstraint) denotes the maximal worst case execution time.
+ * variation denotes the allowed variation in execution time, i.e. maximal minimal execution time.
+ *
+ * Example:
+ * lower=5
+ * upper=10
+ * variation=2
+ * best case execution time of 6 and worst case of 7 is within this constraint
+ * best case execution time of 6 and worst case of 9 violates this constraint
+ *
+ * If a measured value is characterized, variation is not used, as it is always upper-lower, e.g. lower=6 and upper=9 above. In this example, the ExecutionTimeConstraint would be a Realization of a VVActualOutcome.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.ExecutionTimeConstraint#getVariation <em>Variation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.ExecutionTimeConstraint#getTargetDesignFunctionType <em>Target Design Function Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.ExecutionTimeConstraint#getTargetDesignFunction <em>Target Design Function</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.ExecutionTimeConstraint#getTargetDesignFunctionPrototype <em>Target Design Function Prototype</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getExecutionTimeConstraint()
+ * @model
+ * @generated
+ */
+public interface ExecutionTimeConstraint extends TimingConstraint {
+ /**
+ * Returns the value of the '<em><b>Target Design Function Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Target Design Function 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>Target Design Function Type</em>' reference.
+ * @see #setTargetDesignFunctionType(DesignFunctionType)
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getExecutionTimeConstraint_TargetDesignFunctionType()
+ * @model ordered="false"
+ * @generated
+ */
+ DesignFunctionType getTargetDesignFunctionType();
+
+ /**
+ * Returns the value of the '<em><b>Variation</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Variation</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Variation</em>' reference.
+ * @see #setVariation(TimeDuration)
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getExecutionTimeConstraint_Variation()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ TimeDuration getVariation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.ExecutionTimeConstraint#getTargetDesignFunctionType <em>Target Design Function Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Target Design Function Type</em>' reference.
+ * @see #getTargetDesignFunctionType()
+ * @generated
+ */
+ void setTargetDesignFunctionType(DesignFunctionType value);
+
+ /**
+ * Returns the value of the '<em><b>Target Design Function</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Target Design Function</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Target Design Function</em>' reference.
+ * @see #setTargetDesignFunction(DesignFunctionType)
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getExecutionTimeConstraint_TargetDesignFunction()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ DesignFunctionType getTargetDesignFunction();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.ExecutionTimeConstraint#getTargetDesignFunction <em>Target Design Function</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Target Design Function</em>' reference.
+ * @see #getTargetDesignFunction()
+ * @generated
+ */
+ void setTargetDesignFunction(DesignFunctionType value);
+
+ /**
+ * Returns the value of the '<em><b>Target Design Function Prototype</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Target Design Function Prototype</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Target Design Function Prototype</em>' reference.
+ * @see #setTargetDesignFunctionPrototype(DesignFunctionPrototype)
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getExecutionTimeConstraint_TargetDesignFunctionPrototype()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ DesignFunctionPrototype getTargetDesignFunctionPrototype();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.ExecutionTimeConstraint#getTargetDesignFunctionPrototype <em>Target Design Function Prototype</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Target Design Function Prototype</em>' reference.
+ * @see #getTargetDesignFunctionPrototype()
+ * @generated
+ */
+ void setTargetDesignFunctionPrototype(DesignFunctionPrototype value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.ExecutionTimeConstraint#getVariation <em>Variation</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Variation</em>' reference.
+ * @see #getVariation()
+ * @generated
+ */
+ void setVariation(TimeDuration value);
+
+} // ExecutionTimeConstraint
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/PrecedenceConstraint.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/PrecedenceConstraint.java
new file mode 100644
index 00000000000..27c2486b88e
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/PrecedenceConstraint.java
@@ -0,0 +1,151 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype;
+import org.eclipse.uml2.uml.Dependency;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Precedence Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The PrecedenceConstraint represents a particular constraint applied on the execution sequence of functions.
+ *
+ * Semantics:
+ * The semantics for the PrecedenceConstraint metaclass is to define an association relationship between Functions, indicating the association relationship such that all predecessors have completed before the successors are started.
+ *
+ * Note: Without a precedence relation, Functions are executed according to their data dependencies, if these are uni-directional. For bi-directional data dependencies, execution order is not defined unless the PrecedenceDependency relationship is used.
+ *
+ * Notation:
+ * PrecedenceConstraint is shown as a dashed arrow with "Precedes" next to it. It points from preceeding to the successive entity.
+ *
+ * Changes:
+ * Renamed from Precedes
+ *
+ * Extension:
+ * The PrecedenceConstraint extends UML2 metaclass Class and Dependency.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.PrecedenceConstraint#getSuccessive <em>Successive</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.PrecedenceConstraint#getPreceding <em>Preceding</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.PrecedenceConstraint#getBase_Dependency <em>Base Dependency</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.PrecedenceConstraint#getSuccessive_path <em>Successive path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.PrecedenceConstraint#getPreceding_path <em>Preceding path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getPrecedenceConstraint()
+ * @model
+ * @generated
+ */
+public interface PrecedenceConstraint extends TimingConstraint {
+ /**
+ * Returns the value of the '<em><b>Preceding</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The function prototype that must be executed first.
+ * {derived from UML::DirectedRelationship::source}
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Preceding</em>' reference.
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getPrecedenceConstraint_Preceding()
+ * @model required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ FunctionPrototype getPreceding();
+
+ /**
+ * Returns the value of the '<em><b>Base Dependency</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Dependency</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 Dependency</em>' reference.
+ * @see #setBase_Dependency(Dependency)
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getPrecedenceConstraint_Base_Dependency()
+ * @model ordered="false"
+ * @generated
+ */
+ Dependency getBase_Dependency();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.PrecedenceConstraint#getBase_Dependency <em>Base Dependency</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Dependency</em>' reference.
+ * @see #getBase_Dependency()
+ * @generated
+ */
+ void setBase_Dependency(Dependency value);
+
+ /**
+ * Returns the value of the '<em><b>Successive path</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Successive path</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>Successive path</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getPrecedenceConstraint_Successive_path()
+ * @model
+ * @generated
+ */
+ EList<FunctionPrototype> getSuccessive_path();
+
+ /**
+ * Returns the value of the '<em><b>Preceding path</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Preceding path</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>Preceding path</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getPrecedenceConstraint_Preceding_path()
+ * @model
+ * @generated
+ */
+ EList<FunctionPrototype> getPreceding_path();
+
+ /**
+ * Returns the value of the '<em><b>Successive</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The function prototypes that must be executed after preceding was executed.
+ * {derived from UML::DirectedRelationship::target}
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Successive</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getPrecedenceConstraint_Successive()
+ * @model required="true" transient="true" changeable="false" volatile="true" derived="true"
+ * @generated
+ */
+ EList<FunctionPrototype> getSuccessive();
+
+} // PrecedenceConstraint
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/TimeDuration.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/TimeDuration.java
new file mode 100644
index 00000000000..d54158b59ac
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/TimeDuration.java
@@ -0,0 +1,174 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing;
+
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.uml2.uml.DataType;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Time Duration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * CseCodeType
+ * 0: 1 µsec Time
+ * 1: 10 µsec Time
+ * 2: 100 µsec Time
+ * 3: 1 msec Time
+ * 4: 10 msec Time
+ * 5: 100 msec Time
+ * 6: 1 sec Time
+ * 7: 10 sec Time
+ * 8: 1 min Time
+ * 9: 1 h Time
+ * 10: 1 d Time
+ *
+ * 100: Angular degrees Angle
+ * 101: Revolutions 360 degrees Angle
+ * 102: Cycle 720 degrees Angle e.g. in case of IC engines
+ * 103: Cylinder segment Combustion e.g. in case of IC engines
+ * 998: When frame available Time Source defined in the ASAP 2 keyword, FRAME
+ * 999: Always if there is new value Calculation of a new upper range limit after receiving a new partial value, e.g. when calculating a complex trigger condition
+ * 1000: Non deterministic Without fixed scaling
+ *
+ * If, for example, the value in swCseCodeFactor is 360 and the value in swCseCode is 100, this is equivalent to the value 1 in swCseCodeFactor and the value 101 in swCseCode.
+ *
+ * CseCodeType is from AUTOSAR and MSR/ASAM.
+ *
+ * Note that we have set the cseCodeType for 1 µsec to 0 (error in AUTOSAR R3). And have changed cseCodeType 2 to 100 µsec (error in MSR).
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.TimeDuration#getBase_DataType <em>Base Data Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.TimeDuration#getCseCode <em>Cse Code</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.TimeDuration#getCseCodeFactor <em>Cse Code Factor</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.TimeDuration#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getTimeDuration()
+ * @model
+ * @generated
+ */
+public interface TimeDuration extends EAElement {
+ /**
+ * 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.eclipse.papyrus.eastadl.timing.TimingPackage#getTimeDuration_Base_DataType()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ DataType getBase_DataType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.TimeDuration#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>Cse Code</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Within TIMMO this is normally time, note that when it is expressed as angle it can be converted to time.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Cse Code</em>' attribute.
+ * @see #setCseCode(int)
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getTimeDuration_CseCode()
+ * @model unique="false" dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+ * @generated
+ */
+ int getCseCode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.TimeDuration#getCseCode <em>Cse Code</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cse Code</em>' attribute.
+ * @see #getCseCode()
+ * @generated
+ */
+ void setCseCode(int value);
+
+ /**
+ * Returns the value of the '<em><b>Cse Code Factor</b></em>' attribute.
+ * The default value is <code>"1"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Is normally equal to 1.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Cse Code Factor</em>' attribute.
+ * @see #setCseCodeFactor(int)
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getTimeDuration_CseCodeFactor()
+ * @model default="1" unique="false" dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+ * @generated
+ */
+ int getCseCodeFactor();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.TimeDuration#getCseCodeFactor <em>Cse Code Factor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cse Code Factor</em>' attribute.
+ * @see #getCseCodeFactor()
+ * @generated
+ */
+ void setCseCodeFactor(int value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The actual value complemented with the cseCode.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(Float)
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getTimeDuration_Value()
+ * @model unique="false" dataType="org.eclipse.papyrus.eastadl.infrastructure.datatypes.javalangFloat" required="true" ordered="false"
+ * @generated
+ */
+ Float getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.TimeDuration#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(Float value);
+
+} // TimeDuration
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/Timing.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/Timing.java
new file mode 100644
index 00000000000..26e6af316fe
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/Timing.java
@@ -0,0 +1,130 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Timing</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The collection of timing constraints and their descriptions in the form of events and event chains. This collection can be done across the EAST-ADL2 abstraction levels.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.Timing#getTimingConstraint <em>Timing Constraint</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.Timing#getTimingDescription <em>Timing Description</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.Timing#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.Timing#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getTiming()
+ * @model
+ * @generated
+ */
+public interface Timing extends Context {
+
+ /**
+ * Returns the value of the '<em><b>Timing Constraint</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.timing.TimingConstraint}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Timing Constraint</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>Timing Constraint</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getTiming_TimingConstraint()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TimingConstraint> getTimingConstraint();
+
+ /**
+ * Returns the value of the '<em><b>Timing Description</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.timing.TimingDescription}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Timing Description</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>Timing Description</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getTiming_TimingDescription()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TimingDescription> getTimingDescription();
+
+ /**
+ * 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.eclipse.papyrus.eastadl.timing.TimingPackage#getTiming_Base_Class()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.Timing#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>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.eclipse.papyrus.eastadl.timing.TimingPackage#getTiming_Base_Package()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.Timing#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);
+
+} // Timing
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/TimingConstraint.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/TimingConstraint.java
new file mode 100644
index 00000000000..3d957dc8a19
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/TimingConstraint.java
@@ -0,0 +1,175 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.behavior.Mode;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.uml2.uml.Constraint;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * TimingConstraint is an abstract entity that identifies a mode.
+ *
+ * Constraints:
+ * [1] upper shall be greater or equal to lower.
+ *
+ *
+ * Semantics:
+ * The TimingConstraint does not describe what is classically referred to as a design constraint but has the role of a property, requirement, or a validation result. It is a requirement if this TimingConstraint refines a Requirement (by the Refine relationship). The TimingConstraint is a validation result if it realizes a VVActualOutcome, it is an intended validation result if it realizes a VVIntendedOutcome, and in other cases it denotes a property.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.TimingConstraint#getMode <em>Mode</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.TimingConstraint#getUpper <em>Upper</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.TimingConstraint#getLower <em>Lower</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.TimingConstraint#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.TimingConstraint#getBase_Constraint <em>Base Constraint</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getTimingConstraint()
+ * @model abstract="true"
+ * @generated
+ */
+public interface TimingConstraint extends EAElement {
+ /**
+ * Returns the value of the '<em><b>Lower</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Lower</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Lower</em>' reference.
+ * @see #setLower(TimeDuration)
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getTimingConstraint_Lower()
+ * @model ordered="false"
+ * @generated
+ */
+ TimeDuration getLower();
+
+ /**
+ * Returns the value of the '<em><b>Mode</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.behavior.Mode}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The mode where the TimingConstraint is valid.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Mode</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getTimingConstraint_Mode()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Mode> getMode();
+
+ /**
+ * Returns the value of the '<em><b>Upper</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Upper</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Upper</em>' reference.
+ * @see #setUpper(TimeDuration)
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getTimingConstraint_Upper()
+ * @model ordered="false"
+ * @generated
+ */
+ TimeDuration getUpper();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.TimingConstraint#getLower <em>Lower</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Lower</em>' reference.
+ * @see #getLower()
+ * @generated
+ */
+ void setLower(TimeDuration 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.eclipse.papyrus.eastadl.timing.TimingPackage#getTimingConstraint_Base_Class()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.TimingConstraint#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>Base Constraint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Constraint</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 Constraint</em>' reference.
+ * @see #setBase_Constraint(Constraint)
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getTimingConstraint_Base_Constraint()
+ * @model ordered="false"
+ * @generated
+ */
+ Constraint getBase_Constraint();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.TimingConstraint#getBase_Constraint <em>Base Constraint</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Constraint</em>' reference.
+ * @see #getBase_Constraint()
+ * @generated
+ */
+ void setBase_Constraint(Constraint value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.TimingConstraint#getUpper <em>Upper</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Upper</em>' reference.
+ * @see #getUpper()
+ * @generated
+ */
+ void setUpper(TimeDuration value);
+
+} // TimingConstraint
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/TimingDescription.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/TimingDescription.java
new file mode 100644
index 00000000000..743c2c95c1c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/TimingDescription.java
@@ -0,0 +1,68 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing;
+
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Description</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An abstract metaclass describing the timing events and their relations within the model.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.TimingDescription#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.timing.TimingPackage#getTimingDescription()
+ * @model abstract="true"
+ * @generated
+ */
+public interface TimingDescription extends EAElement {
+
+ /**
+ * 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.eclipse.papyrus.eastadl.timing.TimingPackage#getTimingDescription_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.TimingDescription#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);
+
+} // TimingDescription
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/TimingFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/TimingFactory.java
new file mode 100644
index 00000000000..a50dba8b3d4
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/TimingFactory.java
@@ -0,0 +1,88 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing;
+
+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.eclipse.papyrus.eastadl.timing.TimingPackage
+ * @generated
+ */
+public interface TimingFactory extends EFactory {
+
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ TimingFactory eINSTANCE = org.eclipse.papyrus.eastadl.timing.impl.TimingFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Event Chain</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return a new object of class '<em>Event Chain</em>'.
+ * @generated
+ */
+ EventChain createEventChain();
+
+ /**
+ * Returns a new object of class '<em>Execution Time Constraint</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Execution Time Constraint</em>'.
+ * @generated
+ */
+ ExecutionTimeConstraint createExecutionTimeConstraint();
+
+ /**
+ * Returns a new object of class '<em>Precedence Constraint</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Precedence Constraint</em>'.
+ * @generated
+ */
+ PrecedenceConstraint createPrecedenceConstraint();
+
+ /**
+ * Returns a new object of class '<em>Time Duration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Time Duration</em>'.
+ * @generated
+ */
+ TimeDuration createTimeDuration();
+
+ /**
+ * Returns a new object of class '<em>Timing</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Timing</em>'.
+ * @generated
+ */
+ Timing createTiming();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ TimingPackage getTimingPackage();
+
+} // TimingFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/TimingPackage.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/TimingPackage.java
new file mode 100644
index 00000000000..98f1c8a0315
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/TimingPackage.java
@@ -0,0 +1,1507 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing;
+
+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.eastadl.infrastructure.elements.ElementsPackage;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.timing.TimingFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface TimingPackage extends EPackage {
+
+ /**
+ * <!-- 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.eclipse.papyrus.eastadl.timing.impl.TimingDescriptionImpl <em>Description</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.impl.TimingDescriptionImpl
+ * @see org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl#getTimingDescription()
+ * @generated
+ */
+ EClass TIMING_DESCRIPTION = eINSTANCE.getTimingDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference TIMING_DESCRIPTION__BASE_CLASS = eINSTANCE.getTimingDescription_Base_Class();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.timing.impl.TimingConstraintImpl <em>Constraint</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.impl.TimingConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl#getTimingConstraint()
+ * @generated
+ */
+ EClass TIMING_CONSTRAINT = eINSTANCE.getTimingConstraint();
+
+ /**
+ * The meta object literal for the '<em><b>Mode</b></em>' reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference TIMING_CONSTRAINT__MODE = eINSTANCE.getTimingConstraint_Mode();
+
+ /**
+ * The meta object literal for the '<em><b>Upper</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TIMING_CONSTRAINT__UPPER = eINSTANCE.getTimingConstraint_Upper();
+
+ /**
+ * The meta object literal for the '<em><b>Lower</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TIMING_CONSTRAINT__LOWER = eINSTANCE.getTimingConstraint_Lower();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TIMING_CONSTRAINT__BASE_CLASS = eINSTANCE.getTimingConstraint_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Base Constraint</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TIMING_CONSTRAINT__BASE_CONSTRAINT = eINSTANCE.getTimingConstraint_Base_Constraint();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.timing.impl.EventChainImpl <em>Event Chain</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.impl.EventChainImpl
+ * @see org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl#getEventChain()
+ * @generated
+ */
+ EClass EVENT_CHAIN = eINSTANCE.getEventChain();
+
+ /**
+ * The meta object literal for the '<em><b>Segment</b></em>' reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference EVENT_CHAIN__SEGMENT = eINSTANCE.getEventChain_Segment();
+
+ /**
+ * The meta object literal for the '<em><b>Strand</b></em>' reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference EVENT_CHAIN__STRAND = eINSTANCE.getEventChain_Strand();
+
+ /**
+ * The meta object literal for the '<em><b>Response</b></em>' reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference EVENT_CHAIN__RESPONSE = eINSTANCE.getEventChain_Response();
+
+ /**
+ * The meta object literal for the '<em><b>Stimulus</b></em>' reference list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference EVENT_CHAIN__STIMULUS = eINSTANCE.getEventChain_Stimulus();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.timing.impl.EventImpl <em>Event</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.impl.EventImpl
+ * @see org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl#getEvent()
+ * @generated
+ */
+ EClass EVENT = eINSTANCE.getEvent();
+
+ /**
+ * The meta object literal for the '<em><b>Is State Changed</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EVENT__IS_STATE_CHANGED = eINSTANCE.getEvent_IsStateChanged();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.timing.impl.ExecutionTimeConstraintImpl <em>Execution Time Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.impl.ExecutionTimeConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl#getExecutionTimeConstraint()
+ * @generated
+ */
+ EClass EXECUTION_TIME_CONSTRAINT = eINSTANCE.getExecutionTimeConstraint();
+
+ /**
+ * The meta object literal for the '<em><b>Variation</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXECUTION_TIME_CONSTRAINT__VARIATION = eINSTANCE.getExecutionTimeConstraint_Variation();
+
+ /**
+ * The meta object literal for the '<em><b>Target Design Function Type</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXECUTION_TIME_CONSTRAINT__TARGET_DESIGN_FUNCTION_TYPE = eINSTANCE.getExecutionTimeConstraint_TargetDesignFunctionType();
+
+ /**
+ * The meta object literal for the '<em><b>Target Design Function</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXECUTION_TIME_CONSTRAINT__TARGET_DESIGN_FUNCTION = eINSTANCE.getExecutionTimeConstraint_TargetDesignFunction();
+
+ /**
+ * The meta object literal for the '<em><b>Target Design Function Prototype</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXECUTION_TIME_CONSTRAINT__TARGET_DESIGN_FUNCTION_PROTOTYPE = eINSTANCE.getExecutionTimeConstraint_TargetDesignFunctionPrototype();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.timing.impl.PrecedenceConstraintImpl <em>Precedence Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.impl.PrecedenceConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl#getPrecedenceConstraint()
+ * @generated
+ */
+ EClass PRECEDENCE_CONSTRAINT = eINSTANCE.getPrecedenceConstraint();
+
+ /**
+ * The meta object literal for the '<em><b>Successive</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PRECEDENCE_CONSTRAINT__SUCCESSIVE = eINSTANCE.getPrecedenceConstraint_Successive();
+
+ /**
+ * The meta object literal for the '<em><b>Preceding</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PRECEDENCE_CONSTRAINT__PRECEDING = eINSTANCE.getPrecedenceConstraint_Preceding();
+
+ /**
+ * The meta object literal for the '<em><b>Base Dependency</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PRECEDENCE_CONSTRAINT__BASE_DEPENDENCY = eINSTANCE.getPrecedenceConstraint_Base_Dependency();
+
+ /**
+ * The meta object literal for the '<em><b>Successive path</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PRECEDENCE_CONSTRAINT__SUCCESSIVE_PATH = eINSTANCE.getPrecedenceConstraint_Successive_path();
+
+ /**
+ * The meta object literal for the '<em><b>Preceding path</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PRECEDENCE_CONSTRAINT__PRECEDING_PATH = eINSTANCE.getPrecedenceConstraint_Preceding_path();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.timing.impl.TimeDurationImpl <em>Time Duration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.impl.TimeDurationImpl
+ * @see org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl#getTimeDuration()
+ * @generated
+ */
+ EClass TIME_DURATION = eINSTANCE.getTimeDuration();
+
+ /**
+ * The meta object literal for the '<em><b>Base Data Type</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TIME_DURATION__BASE_DATA_TYPE = eINSTANCE.getTimeDuration_Base_DataType();
+
+ /**
+ * The meta object literal for the '<em><b>Cse Code</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TIME_DURATION__CSE_CODE = eINSTANCE.getTimeDuration_CseCode();
+
+ /**
+ * The meta object literal for the '<em><b>Cse Code Factor</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TIME_DURATION__CSE_CODE_FACTOR = eINSTANCE.getTimeDuration_CseCodeFactor();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TIME_DURATION__VALUE = eINSTANCE.getTimeDuration_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.timing.impl.TimingImpl <em>Timing</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.impl.TimingImpl
+ * @see org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl#getTiming()
+ * @generated
+ */
+ EClass TIMING = eINSTANCE.getTiming();
+
+ /**
+ * The meta object literal for the '<em><b>Timing Constraint</b></em>' reference list feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TIMING__TIMING_CONSTRAINT = eINSTANCE.getTiming_TimingConstraint();
+
+ /**
+ * The meta object literal for the '<em><b>Timing Description</b></em>' reference list feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TIMING__TIMING_DESCRIPTION = eINSTANCE.getTiming_TimingDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference TIMING__BASE_CLASS = eINSTANCE.getTiming_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TIMING__BASE_PACKAGE = eINSTANCE.getTiming_Base_Package();
+
+ }
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "timing";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.papyrusuml.org/EAST-ADL2/Timing/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "Timing";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ TimingPackage eINSTANCE = org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.timing.impl.TimingDescriptionImpl <em>Description</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.impl.TimingDescriptionImpl
+ * @see org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl#getTimingDescription()
+ * @generated
+ */
+ int TIMING_DESCRIPTION = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMING_DESCRIPTION__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMING_DESCRIPTION__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMING_DESCRIPTION__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMING_DESCRIPTION__BASE_CLASS = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Description</em>' class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMING_DESCRIPTION_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.timing.impl.TimingConstraintImpl <em>Constraint</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.impl.TimingConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl#getTimingConstraint()
+ * @generated
+ */
+ int TIMING_CONSTRAINT = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMING_CONSTRAINT__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMING_CONSTRAINT__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMING_CONSTRAINT__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Mode</b></em>' reference list.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMING_CONSTRAINT__MODE = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMING_CONSTRAINT__UPPER = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMING_CONSTRAINT__LOWER = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMING_CONSTRAINT__BASE_CLASS = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Base Constraint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMING_CONSTRAINT__BASE_CONSTRAINT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Constraint</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMING_CONSTRAINT_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.timing.impl.EventChainImpl <em>Event Chain</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.impl.EventChainImpl
+ * @see org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl#getEventChain()
+ * @generated
+ */
+ int EVENT_CHAIN = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.timing.impl.EventImpl <em>Event</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.impl.EventImpl
+ * @see org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl#getEvent()
+ * @generated
+ */
+ int EVENT = 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.timing.impl.TimingImpl <em>Timing</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.impl.TimingImpl
+ * @see org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl#getTiming()
+ * @generated
+ */
+ int TIMING = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.timing.impl.ExecutionTimeConstraintImpl <em>Execution Time Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.impl.ExecutionTimeConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl#getExecutionTimeConstraint()
+ * @generated
+ */
+ int EXECUTION_TIME_CONSTRAINT = 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.timing.impl.PrecedenceConstraintImpl <em>Precedence Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.impl.PrecedenceConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl#getPrecedenceConstraint()
+ * @generated
+ */
+ int PRECEDENCE_CONSTRAINT = 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.timing.impl.TimeDurationImpl <em>Time Duration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.impl.TimeDurationImpl
+ * @see org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl#getTimeDuration()
+ * @generated
+ */
+ int TIME_DURATION = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIME_DURATION__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIME_DURATION__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIME_DURATION__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Data Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIME_DURATION__BASE_DATA_TYPE = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Cse Code</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIME_DURATION__CSE_CODE = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Cse Code Factor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIME_DURATION__CSE_CODE_FACTOR = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIME_DURATION__VALUE = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Time Duration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIME_DURATION_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMING__NAME = ElementsPackage.CONTEXT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMING__BASE_NAMED_ELEMENT = ElementsPackage.CONTEXT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMING__OWNED_COMMENT = ElementsPackage.CONTEXT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMING__TRACEABLE_SPECIFICATION = ElementsPackage.CONTEXT__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMING__OWNED_RELATIONSHIP = ElementsPackage.CONTEXT__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Timing Constraint</b></em>' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TIMING__TIMING_CONSTRAINT = ElementsPackage.CONTEXT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Timing Description</b></em>' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TIMING__TIMING_DESCRIPTION = ElementsPackage.CONTEXT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMING__BASE_CLASS = ElementsPackage.CONTEXT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMING__BASE_PACKAGE = ElementsPackage.CONTEXT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Timing</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMING_FEATURE_COUNT = ElementsPackage.CONTEXT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_CHAIN__NAME = TIMING_DESCRIPTION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_CHAIN__BASE_NAMED_ELEMENT = TIMING_DESCRIPTION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_CHAIN__OWNED_COMMENT = TIMING_DESCRIPTION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_CHAIN__BASE_CLASS = TIMING_DESCRIPTION__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Segment</b></em>' reference list.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_CHAIN__SEGMENT = TIMING_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Strand</b></em>' reference list.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_CHAIN__STRAND = TIMING_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Response</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_CHAIN__RESPONSE = TIMING_DESCRIPTION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Stimulus</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_CHAIN__STIMULUS = TIMING_DESCRIPTION_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Event Chain</em>' class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_CHAIN_FEATURE_COUNT = TIMING_DESCRIPTION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT__NAME = TIMING_DESCRIPTION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT__BASE_NAMED_ELEMENT = TIMING_DESCRIPTION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT__OWNED_COMMENT = TIMING_DESCRIPTION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT__BASE_CLASS = TIMING_DESCRIPTION__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Is State Changed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT__IS_STATE_CHANGED = TIMING_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Event</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_FEATURE_COUNT = TIMING_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXECUTION_TIME_CONSTRAINT__NAME = TIMING_CONSTRAINT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXECUTION_TIME_CONSTRAINT__BASE_NAMED_ELEMENT = TIMING_CONSTRAINT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXECUTION_TIME_CONSTRAINT__OWNED_COMMENT = TIMING_CONSTRAINT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Mode</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXECUTION_TIME_CONSTRAINT__MODE = TIMING_CONSTRAINT__MODE;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXECUTION_TIME_CONSTRAINT__UPPER = TIMING_CONSTRAINT__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXECUTION_TIME_CONSTRAINT__LOWER = TIMING_CONSTRAINT__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXECUTION_TIME_CONSTRAINT__BASE_CLASS = TIMING_CONSTRAINT__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Base Constraint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXECUTION_TIME_CONSTRAINT__BASE_CONSTRAINT = TIMING_CONSTRAINT__BASE_CONSTRAINT;
+
+ /**
+ * The feature id for the '<em><b>Variation</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXECUTION_TIME_CONSTRAINT__VARIATION = TIMING_CONSTRAINT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Target Design Function Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXECUTION_TIME_CONSTRAINT__TARGET_DESIGN_FUNCTION_TYPE = TIMING_CONSTRAINT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Target Design Function</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXECUTION_TIME_CONSTRAINT__TARGET_DESIGN_FUNCTION = TIMING_CONSTRAINT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Target Design Function Prototype</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXECUTION_TIME_CONSTRAINT__TARGET_DESIGN_FUNCTION_PROTOTYPE = TIMING_CONSTRAINT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Execution Time Constraint</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXECUTION_TIME_CONSTRAINT_FEATURE_COUNT = TIMING_CONSTRAINT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRECEDENCE_CONSTRAINT__NAME = TIMING_CONSTRAINT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRECEDENCE_CONSTRAINT__BASE_NAMED_ELEMENT = TIMING_CONSTRAINT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRECEDENCE_CONSTRAINT__OWNED_COMMENT = TIMING_CONSTRAINT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Mode</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRECEDENCE_CONSTRAINT__MODE = TIMING_CONSTRAINT__MODE;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRECEDENCE_CONSTRAINT__UPPER = TIMING_CONSTRAINT__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRECEDENCE_CONSTRAINT__LOWER = TIMING_CONSTRAINT__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRECEDENCE_CONSTRAINT__BASE_CLASS = TIMING_CONSTRAINT__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Base Constraint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRECEDENCE_CONSTRAINT__BASE_CONSTRAINT = TIMING_CONSTRAINT__BASE_CONSTRAINT;
+
+ /**
+ * The feature id for the '<em><b>Successive</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRECEDENCE_CONSTRAINT__SUCCESSIVE = TIMING_CONSTRAINT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Preceding</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRECEDENCE_CONSTRAINT__PRECEDING = TIMING_CONSTRAINT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Dependency</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRECEDENCE_CONSTRAINT__BASE_DEPENDENCY = TIMING_CONSTRAINT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Successive path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRECEDENCE_CONSTRAINT__SUCCESSIVE_PATH = TIMING_CONSTRAINT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Preceding path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRECEDENCE_CONSTRAINT__PRECEDING_PATH = TIMING_CONSTRAINT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Precedence Constraint</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRECEDENCE_CONSTRAINT_FEATURE_COUNT = TIMING_CONSTRAINT_FEATURE_COUNT + 5;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.timing.Event <em>Event</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Event</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.Event
+ * @generated
+ */
+ EClass getEvent();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.timing.Event#isIsStateChanged <em>Is State Changed</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is State Changed</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.Event#isIsStateChanged()
+ * @see #getEvent()
+ * @generated
+ */
+ EAttribute getEvent_IsStateChanged();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.papyrus.eastadl.timing.EventChain <em>Event Chain</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Event Chain</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.EventChain
+ * @generated
+ */
+ EClass getEventChain();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.timing.EventChain#getResponse <em>Response</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Response</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.EventChain#getResponse()
+ * @see #getEventChain()
+ * @generated
+ */
+ EReference getEventChain_Response();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.timing.EventChain#getSegment <em>Segment</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Segment</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.EventChain#getSegment()
+ * @see #getEventChain()
+ * @generated
+ */
+ EReference getEventChain_Segment();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.timing.EventChain#getStimulus <em>Stimulus</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Stimulus</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.EventChain#getStimulus()
+ * @see #getEventChain()
+ * @generated
+ */
+ EReference getEventChain_Stimulus();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.timing.EventChain#getStrand <em>Strand</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Strand</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.EventChain#getStrand()
+ * @see #getEventChain()
+ * @generated
+ */
+ EReference getEventChain_Strand();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.timing.ExecutionTimeConstraint <em>Execution Time Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Execution Time Constraint</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.ExecutionTimeConstraint
+ * @generated
+ */
+ EClass getExecutionTimeConstraint();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.ExecutionTimeConstraint#getTargetDesignFunctionType <em>Target Design Function Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Target Design Function Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.ExecutionTimeConstraint#getTargetDesignFunctionType()
+ * @see #getExecutionTimeConstraint()
+ * @generated
+ */
+ EReference getExecutionTimeConstraint_TargetDesignFunctionType();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.ExecutionTimeConstraint#getTargetDesignFunction <em>Target Design Function</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Target Design Function</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.ExecutionTimeConstraint#getTargetDesignFunction()
+ * @see #getExecutionTimeConstraint()
+ * @generated
+ */
+ EReference getExecutionTimeConstraint_TargetDesignFunction();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.ExecutionTimeConstraint#getTargetDesignFunctionPrototype <em>Target Design Function Prototype</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Target Design Function Prototype</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.ExecutionTimeConstraint#getTargetDesignFunctionPrototype()
+ * @see #getExecutionTimeConstraint()
+ * @generated
+ */
+ EReference getExecutionTimeConstraint_TargetDesignFunctionPrototype();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.ExecutionTimeConstraint#getVariation <em>Variation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Variation</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.ExecutionTimeConstraint#getVariation()
+ * @see #getExecutionTimeConstraint()
+ * @generated
+ */
+ EReference getExecutionTimeConstraint_Variation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.timing.PrecedenceConstraint <em>Precedence Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Precedence Constraint</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.PrecedenceConstraint
+ * @generated
+ */
+ EClass getPrecedenceConstraint();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.PrecedenceConstraint#getPreceding <em>Preceding</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Preceding</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.PrecedenceConstraint#getPreceding()
+ * @see #getPrecedenceConstraint()
+ * @generated
+ */
+ EReference getPrecedenceConstraint_Preceding();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.PrecedenceConstraint#getBase_Dependency <em>Base Dependency</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Dependency</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.PrecedenceConstraint#getBase_Dependency()
+ * @see #getPrecedenceConstraint()
+ * @generated
+ */
+ EReference getPrecedenceConstraint_Base_Dependency();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.timing.PrecedenceConstraint#getSuccessive_path <em>Successive path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Successive path</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.PrecedenceConstraint#getSuccessive_path()
+ * @see #getPrecedenceConstraint()
+ * @generated
+ */
+ EReference getPrecedenceConstraint_Successive_path();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.timing.PrecedenceConstraint#getPreceding_path <em>Preceding path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Preceding path</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.PrecedenceConstraint#getPreceding_path()
+ * @see #getPrecedenceConstraint()
+ * @generated
+ */
+ EReference getPrecedenceConstraint_Preceding_path();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.timing.PrecedenceConstraint#getSuccessive <em>Successive</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Successive</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.PrecedenceConstraint#getSuccessive()
+ * @see #getPrecedenceConstraint()
+ * @generated
+ */
+ EReference getPrecedenceConstraint_Successive();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.timing.TimeDuration <em>Time Duration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Time Duration</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.TimeDuration
+ * @generated
+ */
+ EClass getTimeDuration();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.TimeDuration#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.eclipse.papyrus.eastadl.timing.TimeDuration#getBase_DataType()
+ * @see #getTimeDuration()
+ * @generated
+ */
+ EReference getTimeDuration_Base_DataType();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.timing.TimeDuration#getCseCode <em>Cse Code</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Cse Code</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.TimeDuration#getCseCode()
+ * @see #getTimeDuration()
+ * @generated
+ */
+ EAttribute getTimeDuration_CseCode();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.timing.TimeDuration#getCseCodeFactor <em>Cse Code Factor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Cse Code Factor</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.TimeDuration#getCseCodeFactor()
+ * @see #getTimeDuration()
+ * @generated
+ */
+ EAttribute getTimeDuration_CseCodeFactor();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.timing.TimeDuration#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.TimeDuration#getValue()
+ * @see #getTimeDuration()
+ * @generated
+ */
+ EAttribute getTimeDuration_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.timing.Timing <em>Timing</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Timing</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.Timing
+ * @generated
+ */
+ EClass getTiming();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.timing.Timing#getTimingConstraint <em>Timing Constraint</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Timing Constraint</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.Timing#getTimingConstraint()
+ * @see #getTiming()
+ * @generated
+ */
+ EReference getTiming_TimingConstraint();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.timing.Timing#getTimingDescription <em>Timing Description</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Timing Description</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.Timing#getTimingDescription()
+ * @see #getTiming()
+ * @generated
+ */
+ EReference getTiming_TimingDescription();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.Timing#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.eclipse.papyrus.eastadl.timing.Timing#getBase_Class()
+ * @see #getTiming()
+ * @generated
+ */
+ EReference getTiming_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.Timing#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.eclipse.papyrus.eastadl.timing.Timing#getBase_Package()
+ * @see #getTiming()
+ * @generated
+ */
+ EReference getTiming_Base_Package();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.timing.TimingConstraint <em>Constraint</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Constraint</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.TimingConstraint
+ * @generated
+ */
+ EClass getTimingConstraint();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.TimingConstraint#getLower <em>Lower</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Lower</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.TimingConstraint#getLower()
+ * @see #getTimingConstraint()
+ * @generated
+ */
+ EReference getTimingConstraint_Lower();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.TimingConstraint#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.eclipse.papyrus.eastadl.timing.TimingConstraint#getBase_Class()
+ * @see #getTimingConstraint()
+ * @generated
+ */
+ EReference getTimingConstraint_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.TimingConstraint#getBase_Constraint <em>Base Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Constraint</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.TimingConstraint#getBase_Constraint()
+ * @see #getTimingConstraint()
+ * @generated
+ */
+ EReference getTimingConstraint_Base_Constraint();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.timing.TimingConstraint#getMode <em>Mode</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Mode</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.TimingConstraint#getMode()
+ * @see #getTimingConstraint()
+ * @generated
+ */
+ EReference getTimingConstraint_Mode();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.TimingConstraint#getUpper <em>Upper</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Upper</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.TimingConstraint#getUpper()
+ * @see #getTimingConstraint()
+ * @generated
+ */
+ EReference getTimingConstraint_Upper();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.timing.TimingDescription <em>Description</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Description</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.TimingDescription
+ * @generated
+ */
+ EClass getTimingDescription();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.TimingDescription#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.eclipse.papyrus.eastadl.timing.TimingDescription#getBase_Class()
+ * @see #getTimingDescription()
+ * @generated
+ */
+ EReference getTimingDescription_Base_Class();
+
+ /**
+ * 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
+ */
+ TimingFactory getTimingFactory();
+
+} // TimingPackage
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/EventFunction.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/EventFunction.java
new file mode 100644
index 00000000000..a79a3fb9953
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/EventFunction.java
@@ -0,0 +1,125 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.events;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType;
+import org.eclipse.papyrus.eastadl.timing.Event;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Event Function</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An event of a Function refers to the triggering of the Function, i.e., when the input data is consumed, data transformation is performed on that input data by the function, and output data is produced. It is used in conjunction with FunctionTrigger (see that concept) to define a time-driven triggering for a function. In this case the FunctionTrigger points to the EventFunction of the function and defines a triggerPolicy set to TIME. The timing constraint associated to the EventFunction provides information about the period.
+ *
+ * Compare categories of AUTOSAR runnables:
+ *
+ * 1a triggering only on start and finish (this type of event)
+ *
+ * 1b triggering allowed anytime during the execution (events on ports, see EventInFlowPort)
+ *
+ *
+ * Constraints:
+ * [1] An EventFunction either identifies a FunctionType or a FunctionPrototype as its target function.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.events.EventFunction#getFunction <em>Function</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.events.EventFunction#getFunctionType <em>Function Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.events.EventFunction#getFunction_path <em>Function path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.timing.events.EventsPackage#getEventFunction()
+ * @model
+ * @generated
+ */
+public interface EventFunction extends Event {
+ /**
+ * Returns the value of the '<em><b>Function</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Function</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Function</em>' reference.
+ * @see #setFunction(FunctionPrototype)
+ * @see org.eclipse.papyrus.eastadl.timing.events.EventsPackage#getEventFunction_Function()
+ * @model ordered="false"
+ * @generated
+ */
+ FunctionPrototype getFunction();
+
+ /**
+ * Returns the value of the '<em><b>Function Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Function 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>Function Type</em>' reference.
+ * @see #setFunctionType(FunctionType)
+ * @see org.eclipse.papyrus.eastadl.timing.events.EventsPackage#getEventFunction_FunctionType()
+ * @model ordered="false"
+ * @generated
+ */
+ FunctionType getFunctionType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.events.EventFunction#getFunction <em>Function</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Function</em>' reference.
+ * @see #getFunction()
+ * @generated
+ */
+ void setFunction(FunctionPrototype value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.events.EventFunction#getFunctionType <em>Function Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Function Type</em>' reference.
+ * @see #getFunctionType()
+ * @generated
+ */
+ void setFunctionType(FunctionType value);
+
+ /**
+ * Returns the value of the '<em><b>Function path</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Function path</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>Function path</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.timing.events.EventsPackage#getEventFunction_Function_path()
+ * @model
+ * @generated
+ */
+ EList<FunctionPrototype> getFunction_path();
+
+} // EventFunction
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/EventFunctionClientServerPort.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/EventFunctionClientServerPort.java
new file mode 100644
index 00000000000..fbcf32a721f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/EventFunctionClientServerPort.java
@@ -0,0 +1,123 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.events;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionClientServerPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype;
+import org.eclipse.papyrus.eastadl.timing.Event;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Event Function Client Server Port</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Event that refers to the triggering of the Function at a client/server port, i.e., when the input data is sent / received, or when the output data is produced / received.
+ *
+ * Constraints:
+ * [1] eventKind is sentRequest or receivedResponse for a FunctionClientServerPort of type client. Rationale: Only these values make sense for client ports.
+ *
+ * [2] eventKind is receivedRequest or sentResponse for a FunctionClientServerPort of type server. Rationale: Only these values make sense for server ports.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPort#getEventKind <em>Event Kind</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPort#getPort <em>Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPort#getPort_path <em>Port path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.timing.events.EventsPackage#getEventFunctionClientServerPort()
+ * @model
+ * @generated
+ */
+public interface EventFunctionClientServerPort extends Event {
+ /**
+ * Returns the value of the '<em><b>Event Kind</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPortKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Event 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>Event Kind</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPortKind
+ * @see #setEventKind(EventFunctionClientServerPortKind)
+ * @see org.eclipse.papyrus.eastadl.timing.events.EventsPackage#getEventFunctionClientServerPort_EventKind()
+ * @model unique="false" required="true" ordered="false"
+ * @generated
+ */
+ EventFunctionClientServerPortKind getEventKind();
+
+ /**
+ * Returns the value of the '<em><b>Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Port</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>Port</em>' reference.
+ * @see #setPort(FunctionClientServerPort)
+ * @see org.eclipse.papyrus.eastadl.timing.events.EventsPackage#getEventFunctionClientServerPort_Port()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ FunctionClientServerPort getPort();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPort#getEventKind <em>Event Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Event Kind</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPortKind
+ * @see #getEventKind()
+ * @generated
+ */
+ void setEventKind(EventFunctionClientServerPortKind value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPort#getPort <em>Port</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Port</em>' reference.
+ * @see #getPort()
+ * @generated
+ */
+ void setPort(FunctionClientServerPort value);
+
+ /**
+ * Returns the value of the '<em><b>Port path</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Port path</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>Port path</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.timing.events.EventsPackage#getEventFunctionClientServerPort_Port_path()
+ * @model
+ * @generated
+ */
+ EList<FunctionPrototype> getPort_path();
+
+} // EventFunctionClientServerPort
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/EventFunctionClientServerPortKind.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/EventFunctionClientServerPortKind.java
new file mode 100644
index 00000000000..34618110af1
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/EventFunctionClientServerPortKind.java
@@ -0,0 +1,281 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.events;
+
+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>Event Function Client Server Port Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Possible values of eventKind.
+ *
+ * Extension:
+ * Enumeration, no extension.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.events.EventsPackage#getEventFunctionClientServerPortKind()
+ * @model
+ * @generated
+ */
+public enum EventFunctionClientServerPortKind implements Enumerator {
+ /**
+ * The '<em><b>Received Request</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #RECEIVED_REQUEST_VALUE
+ * @generated
+ * @ordered
+ */
+ RECEIVED_REQUEST(0, "receivedRequest", "receivedRequest"),
+
+ /**
+ * The '<em><b>Sent Response</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SENT_RESPONSE_VALUE
+ * @generated
+ * @ordered
+ */
+ SENT_RESPONSE(1, "sentResponse", "sentResponse"),
+
+ /**
+ * The '<em><b>Sent Request</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SENT_REQUEST_VALUE
+ * @generated
+ * @ordered
+ */
+ SENT_REQUEST(2, "sentRequest", "sentRequest"),
+
+ /**
+ * The '<em><b>Received Response</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #RECEIVED_RESPONSE_VALUE
+ * @generated
+ * @ordered
+ */
+ RECEIVED_RESPONSE(3, "receivedResponse", "receivedResponse");
+
+ /**
+ * The '<em><b>Received Request</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Received Request</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #RECEIVED_REQUEST
+ * @model name="receivedRequest"
+ * @generated
+ * @ordered
+ */
+ public static final int RECEIVED_REQUEST_VALUE = 0;
+
+ /**
+ * The '<em><b>Sent Response</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Sent Response</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #SENT_RESPONSE
+ * @model name="sentResponse"
+ * @generated
+ * @ordered
+ */
+ public static final int SENT_RESPONSE_VALUE = 1;
+
+ /**
+ * The '<em><b>Sent Request</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Sent Request</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #SENT_REQUEST
+ * @model name="sentRequest"
+ * @generated
+ * @ordered
+ */
+ public static final int SENT_REQUEST_VALUE = 2;
+
+ /**
+ * The '<em><b>Received Response</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Received Response</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #RECEIVED_RESPONSE
+ * @model name="receivedResponse"
+ * @generated
+ * @ordered
+ */
+ public static final int RECEIVED_RESPONSE_VALUE = 3;
+
+ /**
+ * An array of all the '<em><b>Event Function Client Server Port Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final EventFunctionClientServerPortKind[] VALUES_ARRAY =
+ new EventFunctionClientServerPortKind[] {
+ RECEIVED_REQUEST,
+ SENT_RESPONSE,
+ SENT_REQUEST,
+ RECEIVED_RESPONSE,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Event Function Client Server Port Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<EventFunctionClientServerPortKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Event Function Client Server Port Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static EventFunctionClientServerPortKind get(int value) {
+ switch (value) {
+ case RECEIVED_REQUEST_VALUE: return RECEIVED_REQUEST;
+ case SENT_RESPONSE_VALUE: return SENT_RESPONSE;
+ case SENT_REQUEST_VALUE: return SENT_REQUEST;
+ case RECEIVED_RESPONSE_VALUE: return RECEIVED_RESPONSE;
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Event Function Client Server Port Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static EventFunctionClientServerPortKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ EventFunctionClientServerPortKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Event Function Client Server Port Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static EventFunctionClientServerPortKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ EventFunctionClientServerPortKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ 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 EventFunctionClientServerPortKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * 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;
+ }
+
+} //EventFunctionClientServerPortKind
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/EventFunctionFlowPort.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/EventFunctionFlowPort.java
new file mode 100644
index 00000000000..397dd994fbe
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/EventFunctionFlowPort.java
@@ -0,0 +1,88 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.events;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype;
+import org.eclipse.papyrus.eastadl.timing.Event;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Event Function Flow Port</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Event that refers to the triggering of the Function at a flow port, i.e., when data is sent or received.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.events.EventFunctionFlowPort#getPort <em>Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.events.EventFunctionFlowPort#getPort_path <em>Port path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.timing.events.EventsPackage#getEventFunctionFlowPort()
+ * @model
+ * @generated
+ */
+public interface EventFunctionFlowPort extends Event {
+ /**
+ * Returns the value of the '<em><b>Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Port</em>' reference.
+ * @see #setPort(FunctionPort)
+ * @see org.eclipse.papyrus.eastadl.timing.events.EventsPackage#getEventFunctionFlowPort_Port()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ FunctionPort getPort();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.events.EventFunctionFlowPort#getPort <em>Port</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Port</em>' reference.
+ * @see #getPort()
+ * @generated
+ */
+ void setPort(FunctionPort value);
+
+ /**
+ * Returns the value of the '<em><b>Port path</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Port path</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>Port path</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.timing.events.EventsPackage#getEventFunctionFlowPort_Port_path()
+ * @model
+ * @generated
+ */
+ EList<FunctionPrototype> getPort_path();
+
+} // EventFunctionFlowPort
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/EventsFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/EventsFactory.java
new file mode 100644
index 00000000000..e126fbf9201
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/EventsFactory.java
@@ -0,0 +1,73 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.events;
+
+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.eclipse.papyrus.eastadl.timing.events.EventsPackage
+ * @generated
+ */
+public interface EventsFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EventsFactory eINSTANCE = org.eclipse.papyrus.eastadl.timing.events.impl.EventsFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Event Function</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Event Function</em>'.
+ * @generated
+ */
+ EventFunction createEventFunction();
+
+ /**
+ * Returns a new object of class '<em>Event Function Client Server Port</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Event Function Client Server Port</em>'.
+ * @generated
+ */
+ EventFunctionClientServerPort createEventFunctionClientServerPort();
+
+ /**
+ * Returns a new object of class '<em>Event Function Flow Port</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Event Function Flow Port</em>'.
+ * @generated
+ */
+ EventFunctionFlowPort createEventFunctionFlowPort();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ EventsPackage getEventsPackage();
+
+} //EventsFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/EventsPackage.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/EventsPackage.java
new file mode 100644
index 00000000000..95dac963f71
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/EventsPackage.java
@@ -0,0 +1,607 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.events;
+
+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.eastadl.timing.TimingPackage;
+
+
+/**
+ * <!-- 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 -->
+ * <!-- begin-model-doc -->
+ * This section describes the concept of events for EAST-ADL2.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.events.EventsFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface EventsPackage extends EPackage {
+ /**
+ * <!-- 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.eclipse.papyrus.eastadl.timing.events.impl.EventFunctionFlowPortImpl <em>Event Function Flow Port</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.events.impl.EventFunctionFlowPortImpl
+ * @see org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl#getEventFunctionFlowPort()
+ * @generated
+ */
+ EClass EVENT_FUNCTION_FLOW_PORT = eINSTANCE.getEventFunctionFlowPort();
+
+ /**
+ * The meta object literal for the '<em><b>Port</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EVENT_FUNCTION_FLOW_PORT__PORT = eINSTANCE.getEventFunctionFlowPort_Port();
+
+ /**
+ * The meta object literal for the '<em><b>Port path</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EVENT_FUNCTION_FLOW_PORT__PORT_PATH = eINSTANCE.getEventFunctionFlowPort_Port_path();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.timing.events.impl.EventFunctionClientServerPortImpl <em>Event Function Client Server Port</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.events.impl.EventFunctionClientServerPortImpl
+ * @see org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl#getEventFunctionClientServerPort()
+ * @generated
+ */
+ EClass EVENT_FUNCTION_CLIENT_SERVER_PORT = eINSTANCE.getEventFunctionClientServerPort();
+
+ /**
+ * The meta object literal for the '<em><b>Event Kind</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EVENT_FUNCTION_CLIENT_SERVER_PORT__EVENT_KIND = eINSTANCE.getEventFunctionClientServerPort_EventKind();
+
+ /**
+ * The meta object literal for the '<em><b>Port</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EVENT_FUNCTION_CLIENT_SERVER_PORT__PORT = eINSTANCE.getEventFunctionClientServerPort_Port();
+
+ /**
+ * The meta object literal for the '<em><b>Port path</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EVENT_FUNCTION_CLIENT_SERVER_PORT__PORT_PATH = eINSTANCE.getEventFunctionClientServerPort_Port_path();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.timing.events.impl.EventFunctionImpl <em>Event Function</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.events.impl.EventFunctionImpl
+ * @see org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl#getEventFunction()
+ * @generated
+ */
+ EClass EVENT_FUNCTION = eINSTANCE.getEventFunction();
+
+ /**
+ * The meta object literal for the '<em><b>Function</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EVENT_FUNCTION__FUNCTION = eINSTANCE.getEventFunction_Function();
+
+ /**
+ * The meta object literal for the '<em><b>Function Type</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EVENT_FUNCTION__FUNCTION_TYPE = eINSTANCE.getEventFunction_FunctionType();
+
+ /**
+ * The meta object literal for the '<em><b>Function path</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EVENT_FUNCTION__FUNCTION_PATH = eINSTANCE.getEventFunction_Function_path();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPortKind <em>Event Function Client Server Port Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPortKind
+ * @see org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl#getEventFunctionClientServerPortKind()
+ * @generated
+ */
+ EEnum EVENT_FUNCTION_CLIENT_SERVER_PORT_KIND = eINSTANCE.getEventFunctionClientServerPortKind();
+
+ }
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "events";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.papyrusuml.org/EAST-ADL2/Timing/Events/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "Events";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EventsPackage eINSTANCE = org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.timing.events.impl.EventFunctionFlowPortImpl <em>Event Function Flow Port</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.events.impl.EventFunctionFlowPortImpl
+ * @see org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl#getEventFunctionFlowPort()
+ * @generated
+ */
+ int EVENT_FUNCTION_FLOW_PORT = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_FUNCTION_FLOW_PORT__NAME = TimingPackage.EVENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_FUNCTION_FLOW_PORT__BASE_NAMED_ELEMENT = TimingPackage.EVENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_FUNCTION_FLOW_PORT__OWNED_COMMENT = TimingPackage.EVENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_FUNCTION_FLOW_PORT__BASE_CLASS = TimingPackage.EVENT__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Is State Changed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_FUNCTION_FLOW_PORT__IS_STATE_CHANGED = TimingPackage.EVENT__IS_STATE_CHANGED;
+
+ /**
+ * The feature id for the '<em><b>Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_FUNCTION_FLOW_PORT__PORT = TimingPackage.EVENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Port path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_FUNCTION_FLOW_PORT__PORT_PATH = TimingPackage.EVENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Event Function Flow Port</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_FUNCTION_FLOW_PORT_FEATURE_COUNT = TimingPackage.EVENT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.timing.events.impl.EventFunctionClientServerPortImpl <em>Event Function Client Server Port</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.events.impl.EventFunctionClientServerPortImpl
+ * @see org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl#getEventFunctionClientServerPort()
+ * @generated
+ */
+ int EVENT_FUNCTION_CLIENT_SERVER_PORT = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_FUNCTION_CLIENT_SERVER_PORT__NAME = TimingPackage.EVENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_FUNCTION_CLIENT_SERVER_PORT__BASE_NAMED_ELEMENT = TimingPackage.EVENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_FUNCTION_CLIENT_SERVER_PORT__OWNED_COMMENT = TimingPackage.EVENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_FUNCTION_CLIENT_SERVER_PORT__BASE_CLASS = TimingPackage.EVENT__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Is State Changed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_FUNCTION_CLIENT_SERVER_PORT__IS_STATE_CHANGED = TimingPackage.EVENT__IS_STATE_CHANGED;
+
+ /**
+ * The feature id for the '<em><b>Event Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_FUNCTION_CLIENT_SERVER_PORT__EVENT_KIND = TimingPackage.EVENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_FUNCTION_CLIENT_SERVER_PORT__PORT = TimingPackage.EVENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Port path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_FUNCTION_CLIENT_SERVER_PORT__PORT_PATH = TimingPackage.EVENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Event Function Client Server Port</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_FUNCTION_CLIENT_SERVER_PORT_FEATURE_COUNT = TimingPackage.EVENT_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.timing.events.impl.EventFunctionImpl <em>Event Function</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.events.impl.EventFunctionImpl
+ * @see org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl#getEventFunction()
+ * @generated
+ */
+ int EVENT_FUNCTION = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_FUNCTION__NAME = TimingPackage.EVENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_FUNCTION__BASE_NAMED_ELEMENT = TimingPackage.EVENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_FUNCTION__OWNED_COMMENT = TimingPackage.EVENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_FUNCTION__BASE_CLASS = TimingPackage.EVENT__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Is State Changed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_FUNCTION__IS_STATE_CHANGED = TimingPackage.EVENT__IS_STATE_CHANGED;
+
+ /**
+ * The feature id for the '<em><b>Function</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_FUNCTION__FUNCTION = TimingPackage.EVENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Function Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_FUNCTION__FUNCTION_TYPE = TimingPackage.EVENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Function path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_FUNCTION__FUNCTION_PATH = TimingPackage.EVENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Event Function</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_FUNCTION_FEATURE_COUNT = TimingPackage.EVENT_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPortKind <em>Event Function Client Server Port Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPortKind
+ * @see org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl#getEventFunctionClientServerPortKind()
+ * @generated
+ */
+ int EVENT_FUNCTION_CLIENT_SERVER_PORT_KIND = 3;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.timing.events.EventFunction <em>Event Function</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Event Function</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.events.EventFunction
+ * @generated
+ */
+ EClass getEventFunction();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.events.EventFunction#getFunction <em>Function</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Function</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.events.EventFunction#getFunction()
+ * @see #getEventFunction()
+ * @generated
+ */
+ EReference getEventFunction_Function();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.events.EventFunction#getFunctionType <em>Function Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Function Type</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.events.EventFunction#getFunctionType()
+ * @see #getEventFunction()
+ * @generated
+ */
+ EReference getEventFunction_FunctionType();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.timing.events.EventFunction#getFunction_path <em>Function path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Function path</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.events.EventFunction#getFunction_path()
+ * @see #getEventFunction()
+ * @generated
+ */
+ EReference getEventFunction_Function_path();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPort <em>Event Function Client Server Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Event Function Client Server Port</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPort
+ * @generated
+ */
+ EClass getEventFunctionClientServerPort();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPort#getEventKind <em>Event Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Event Kind</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPort#getEventKind()
+ * @see #getEventFunctionClientServerPort()
+ * @generated
+ */
+ EAttribute getEventFunctionClientServerPort_EventKind();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPort#getPort <em>Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Port</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPort#getPort()
+ * @see #getEventFunctionClientServerPort()
+ * @generated
+ */
+ EReference getEventFunctionClientServerPort_Port();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPort#getPort_path <em>Port path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Port path</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPort#getPort_path()
+ * @see #getEventFunctionClientServerPort()
+ * @generated
+ */
+ EReference getEventFunctionClientServerPort_Port_path();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPortKind <em>Event Function Client Server Port Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Event Function Client Server Port Kind</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPortKind
+ * @generated
+ */
+ EEnum getEventFunctionClientServerPortKind();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.timing.events.EventFunctionFlowPort <em>Event Function Flow Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Event Function Flow Port</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.events.EventFunctionFlowPort
+ * @generated
+ */
+ EClass getEventFunctionFlowPort();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.events.EventFunctionFlowPort#getPort <em>Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Port</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.events.EventFunctionFlowPort#getPort()
+ * @see #getEventFunctionFlowPort()
+ * @generated
+ */
+ EReference getEventFunctionFlowPort_Port();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.timing.events.EventFunctionFlowPort#getPort_path <em>Port path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Port path</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.events.EventFunctionFlowPort#getPort_path()
+ * @see #getEventFunctionFlowPort()
+ * @generated
+ */
+ EReference getEventFunctionFlowPort_Port_path();
+
+ /**
+ * 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
+ */
+ EventsFactory getEventsFactory();
+
+} //EventsPackage
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/impl/EventFunctionClientServerPortImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/impl/EventFunctionClientServerPortImpl.java
new file mode 100644
index 00000000000..adb923eb6d5
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/impl/EventFunctionClientServerPortImpl.java
@@ -0,0 +1,277 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.events.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.eastadl.structure.functionmodeling.FunctionClientServerPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype;
+import org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPort;
+import org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPortKind;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.impl.EventImpl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Event Function Client Server Port</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.events.impl.EventFunctionClientServerPortImpl#getEventKind <em>Event Kind</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.events.impl.EventFunctionClientServerPortImpl#getPort <em>Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.events.impl.EventFunctionClientServerPortImpl#getPort_path <em>Port path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EventFunctionClientServerPortImpl extends EventImpl implements EventFunctionClientServerPort {
+ /**
+ * The default value of the '{@link #getEventKind() <em>Event Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEventKind()
+ * @generated
+ * @ordered
+ */
+ protected static final EventFunctionClientServerPortKind EVENT_KIND_EDEFAULT = EventFunctionClientServerPortKind.RECEIVED_REQUEST;
+
+ /**
+ * The cached value of the '{@link #getEventKind() <em>Event Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEventKind()
+ * @generated
+ * @ordered
+ */
+ protected EventFunctionClientServerPortKind eventKind = EVENT_KIND_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getPort() <em>Port</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPort()
+ * @generated
+ * @ordered
+ */
+ protected FunctionClientServerPort port;
+
+ /**
+ * The cached value of the '{@link #getPort_path() <em>Port path</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPort_path()
+ * @generated
+ * @ordered
+ */
+ protected EList<FunctionPrototype> port_path;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EventFunctionClientServerPortImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionClientServerPort basicGetPort() {
+ return port;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case EventsPackage.EVENT_FUNCTION_CLIENT_SERVER_PORT__EVENT_KIND:
+ return getEventKind();
+ case EventsPackage.EVENT_FUNCTION_CLIENT_SERVER_PORT__PORT:
+ if (resolve) return getPort();
+ return basicGetPort();
+ case EventsPackage.EVENT_FUNCTION_CLIENT_SERVER_PORT__PORT_PATH:
+ return getPort_path();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case EventsPackage.EVENT_FUNCTION_CLIENT_SERVER_PORT__EVENT_KIND:
+ return eventKind != EVENT_KIND_EDEFAULT;
+ case EventsPackage.EVENT_FUNCTION_CLIENT_SERVER_PORT__PORT:
+ return port != null;
+ case EventsPackage.EVENT_FUNCTION_CLIENT_SERVER_PORT__PORT_PATH:
+ return port_path != null && !port_path.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case EventsPackage.EVENT_FUNCTION_CLIENT_SERVER_PORT__EVENT_KIND:
+ setEventKind((EventFunctionClientServerPortKind)newValue);
+ return;
+ case EventsPackage.EVENT_FUNCTION_CLIENT_SERVER_PORT__PORT:
+ setPort((FunctionClientServerPort)newValue);
+ return;
+ case EventsPackage.EVENT_FUNCTION_CLIENT_SERVER_PORT__PORT_PATH:
+ getPort_path().clear();
+ getPort_path().addAll((Collection<? extends FunctionPrototype>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return EventsPackage.Literals.EVENT_FUNCTION_CLIENT_SERVER_PORT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case EventsPackage.EVENT_FUNCTION_CLIENT_SERVER_PORT__EVENT_KIND:
+ setEventKind(EVENT_KIND_EDEFAULT);
+ return;
+ case EventsPackage.EVENT_FUNCTION_CLIENT_SERVER_PORT__PORT:
+ setPort((FunctionClientServerPort)null);
+ return;
+ case EventsPackage.EVENT_FUNCTION_CLIENT_SERVER_PORT__PORT_PATH:
+ getPort_path().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EventFunctionClientServerPortKind getEventKind() {
+ return eventKind;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionClientServerPort getPort() {
+ if (port != null && port.eIsProxy()) {
+ InternalEObject oldPort = (InternalEObject)port;
+ port = (FunctionClientServerPort)eResolveProxy(oldPort);
+ if (port != oldPort) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, EventsPackage.EVENT_FUNCTION_CLIENT_SERVER_PORT__PORT, oldPort, port));
+ }
+ }
+ return port;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEventKind(EventFunctionClientServerPortKind newEventKind) {
+ EventFunctionClientServerPortKind oldEventKind = eventKind;
+ eventKind = newEventKind == null ? EVENT_KIND_EDEFAULT : newEventKind;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EventsPackage.EVENT_FUNCTION_CLIENT_SERVER_PORT__EVENT_KIND, oldEventKind, eventKind));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPort(FunctionClientServerPort newPort) {
+ FunctionClientServerPort oldPort = port;
+ port = newPort;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EventsPackage.EVENT_FUNCTION_CLIENT_SERVER_PORT__PORT, oldPort, port));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FunctionPrototype> getPort_path() {
+ if (port_path == null) {
+ port_path = new EObjectResolvingEList<FunctionPrototype>(FunctionPrototype.class, this, EventsPackage.EVENT_FUNCTION_CLIENT_SERVER_PORT__PORT_PATH);
+ }
+ return port_path;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (eventKind: ");
+ result.append(eventKind);
+ result.append(')');
+ return result.toString();
+ }
+
+} //EventFunctionClientServerPortImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/impl/EventFunctionFlowPortImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/impl/EventFunctionFlowPortImpl.java
new file mode 100644
index 00000000000..58a557f8059
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/impl/EventFunctionFlowPortImpl.java
@@ -0,0 +1,206 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.events.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.eastadl.structure.functionmodeling.FunctionPort;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype;
+import org.eclipse.papyrus.eastadl.timing.events.EventFunctionFlowPort;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.impl.EventImpl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Event Function Flow Port</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.events.impl.EventFunctionFlowPortImpl#getPort <em>Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.events.impl.EventFunctionFlowPortImpl#getPort_path <em>Port path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EventFunctionFlowPortImpl extends EventImpl implements EventFunctionFlowPort {
+ /**
+ * The cached value of the '{@link #getPort() <em>Port</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPort()
+ * @generated
+ * @ordered
+ */
+ protected FunctionPort port;
+ /**
+ * The cached value of the '{@link #getPort_path() <em>Port path</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPort_path()
+ * @generated
+ * @ordered
+ */
+ protected EList<FunctionPrototype> port_path;
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EventFunctionFlowPortImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionPort basicGetPort() {
+ return port;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case EventsPackage.EVENT_FUNCTION_FLOW_PORT__PORT:
+ if (resolve) return getPort();
+ return basicGetPort();
+ case EventsPackage.EVENT_FUNCTION_FLOW_PORT__PORT_PATH:
+ return getPort_path();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case EventsPackage.EVENT_FUNCTION_FLOW_PORT__PORT:
+ return port != null;
+ case EventsPackage.EVENT_FUNCTION_FLOW_PORT__PORT_PATH:
+ return port_path != null && !port_path.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case EventsPackage.EVENT_FUNCTION_FLOW_PORT__PORT:
+ setPort((FunctionPort)newValue);
+ return;
+ case EventsPackage.EVENT_FUNCTION_FLOW_PORT__PORT_PATH:
+ getPort_path().clear();
+ getPort_path().addAll((Collection<? extends FunctionPrototype>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return EventsPackage.Literals.EVENT_FUNCTION_FLOW_PORT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case EventsPackage.EVENT_FUNCTION_FLOW_PORT__PORT:
+ setPort((FunctionPort)null);
+ return;
+ case EventsPackage.EVENT_FUNCTION_FLOW_PORT__PORT_PATH:
+ getPort_path().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionPort getPort() {
+ if (port != null && port.eIsProxy()) {
+ InternalEObject oldPort = (InternalEObject)port;
+ port = (FunctionPort)eResolveProxy(oldPort);
+ if (port != oldPort) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, EventsPackage.EVENT_FUNCTION_FLOW_PORT__PORT, oldPort, port));
+ }
+ }
+ return port;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPort(FunctionPort newPort) {
+ FunctionPort oldPort = port;
+ port = newPort;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EventsPackage.EVENT_FUNCTION_FLOW_PORT__PORT, oldPort, port));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FunctionPrototype> getPort_path() {
+ if (port_path == null) {
+ port_path = new EObjectResolvingEList<FunctionPrototype>(FunctionPrototype.class, this, EventsPackage.EVENT_FUNCTION_FLOW_PORT__PORT_PATH);
+ }
+ return port_path;
+ }
+
+} //EventFunctionFlowPortImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/impl/EventFunctionImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/impl/EventFunctionImpl.java
new file mode 100644
index 00000000000..61656db5dda
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/impl/EventFunctionImpl.java
@@ -0,0 +1,268 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.events.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.eastadl.structure.functionmodeling.FunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionType;
+import org.eclipse.papyrus.eastadl.timing.events.EventFunction;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.impl.EventImpl;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Event Function</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.events.impl.EventFunctionImpl#getFunction <em>Function</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.events.impl.EventFunctionImpl#getFunctionType <em>Function Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.events.impl.EventFunctionImpl#getFunction_path <em>Function path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EventFunctionImpl extends EventImpl implements EventFunction {
+ /**
+ * The cached value of the '{@link #getFunction() <em>Function</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFunction()
+ * @generated
+ * @ordered
+ */
+ protected FunctionPrototype function;
+
+ /**
+ * The cached value of the '{@link #getFunctionType() <em>Function Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFunctionType()
+ * @generated
+ * @ordered
+ */
+ protected FunctionType functionType;
+
+ /**
+ * The cached value of the '{@link #getFunction_path() <em>Function path</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFunction_path()
+ * @generated
+ * @ordered
+ */
+ protected EList<FunctionPrototype> function_path;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EventFunctionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionPrototype basicGetFunction() {
+ return function;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionType basicGetFunctionType() {
+ return functionType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case EventsPackage.EVENT_FUNCTION__FUNCTION:
+ if (resolve) return getFunction();
+ return basicGetFunction();
+ case EventsPackage.EVENT_FUNCTION__FUNCTION_TYPE:
+ if (resolve) return getFunctionType();
+ return basicGetFunctionType();
+ case EventsPackage.EVENT_FUNCTION__FUNCTION_PATH:
+ return getFunction_path();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case EventsPackage.EVENT_FUNCTION__FUNCTION:
+ return function != null;
+ case EventsPackage.EVENT_FUNCTION__FUNCTION_TYPE:
+ return functionType != null;
+ case EventsPackage.EVENT_FUNCTION__FUNCTION_PATH:
+ return function_path != null && !function_path.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case EventsPackage.EVENT_FUNCTION__FUNCTION:
+ setFunction((FunctionPrototype)newValue);
+ return;
+ case EventsPackage.EVENT_FUNCTION__FUNCTION_TYPE:
+ setFunctionType((FunctionType)newValue);
+ return;
+ case EventsPackage.EVENT_FUNCTION__FUNCTION_PATH:
+ getFunction_path().clear();
+ getFunction_path().addAll((Collection<? extends FunctionPrototype>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return EventsPackage.Literals.EVENT_FUNCTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case EventsPackage.EVENT_FUNCTION__FUNCTION:
+ setFunction((FunctionPrototype)null);
+ return;
+ case EventsPackage.EVENT_FUNCTION__FUNCTION_TYPE:
+ setFunctionType((FunctionType)null);
+ return;
+ case EventsPackage.EVENT_FUNCTION__FUNCTION_PATH:
+ getFunction_path().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionPrototype getFunction() {
+ if (function != null && function.eIsProxy()) {
+ InternalEObject oldFunction = (InternalEObject)function;
+ function = (FunctionPrototype)eResolveProxy(oldFunction);
+ if (function != oldFunction) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, EventsPackage.EVENT_FUNCTION__FUNCTION, oldFunction, function));
+ }
+ }
+ return function;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionType getFunctionType() {
+ if (functionType != null && functionType.eIsProxy()) {
+ InternalEObject oldFunctionType = (InternalEObject)functionType;
+ functionType = (FunctionType)eResolveProxy(oldFunctionType);
+ if (functionType != oldFunctionType) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, EventsPackage.EVENT_FUNCTION__FUNCTION_TYPE, oldFunctionType, functionType));
+ }
+ }
+ return functionType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFunction(FunctionPrototype newFunction) {
+ FunctionPrototype oldFunction = function;
+ function = newFunction;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EventsPackage.EVENT_FUNCTION__FUNCTION, oldFunction, function));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFunctionType(FunctionType newFunctionType) {
+ FunctionType oldFunctionType = functionType;
+ functionType = newFunctionType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EventsPackage.EVENT_FUNCTION__FUNCTION_TYPE, oldFunctionType, functionType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FunctionPrototype> getFunction_path() {
+ if (function_path == null) {
+ function_path = new EObjectResolvingEList<FunctionPrototype>(FunctionPrototype.class, this, EventsPackage.EVENT_FUNCTION__FUNCTION_PATH);
+ }
+ return function_path;
+ }
+
+} //EventFunctionImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/impl/EventsFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/impl/EventsFactoryImpl.java
new file mode 100644
index 00000000000..aa81843b0d7
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/impl/EventsFactoryImpl.java
@@ -0,0 +1,184 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.events.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.eclipse.papyrus.eastadl.timing.events.EventFunction;
+import org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPort;
+import org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPortKind;
+import org.eclipse.papyrus.eastadl.timing.events.EventFunctionFlowPort;
+import org.eclipse.papyrus.eastadl.timing.events.EventsFactory;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EventsFactoryImpl extends EFactoryImpl implements EventsFactory {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static EventsPackage getPackage() {
+ return EventsPackage.eINSTANCE;
+ }
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static EventsFactory init() {
+ try {
+ EventsFactory theEventsFactory = (EventsFactory)EPackage.Registry.INSTANCE.getEFactory(EventsPackage.eNS_URI);
+ if (theEventsFactory != null) {
+ return theEventsFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new EventsFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EventsFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertEventFunctionClientServerPortKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case EventsPackage.EVENT_FUNCTION_CLIENT_SERVER_PORT_KIND:
+ return convertEventFunctionClientServerPortKindToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case EventsPackage.EVENT_FUNCTION_FLOW_PORT: return createEventFunctionFlowPort();
+ case EventsPackage.EVENT_FUNCTION_CLIENT_SERVER_PORT: return createEventFunctionClientServerPort();
+ case EventsPackage.EVENT_FUNCTION: return createEventFunction();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EventFunction createEventFunction() {
+ EventFunctionImpl eventFunction = new EventFunctionImpl();
+ return eventFunction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EventFunctionClientServerPort createEventFunctionClientServerPort() {
+ EventFunctionClientServerPortImpl eventFunctionClientServerPort = new EventFunctionClientServerPortImpl();
+ return eventFunctionClientServerPort;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EventFunctionClientServerPortKind createEventFunctionClientServerPortKindFromString(EDataType eDataType, String initialValue) {
+ EventFunctionClientServerPortKind result = EventFunctionClientServerPortKind.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 EventFunctionFlowPort createEventFunctionFlowPort() {
+ EventFunctionFlowPortImpl eventFunctionFlowPort = new EventFunctionFlowPortImpl();
+ return eventFunctionFlowPort;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case EventsPackage.EVENT_FUNCTION_CLIENT_SERVER_PORT_KIND:
+ return createEventFunctionClientServerPortKindFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EventsPackage getEventsPackage() {
+ return (EventsPackage)getEPackage();
+ }
+
+} //EventsFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/impl/EventsPackageImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/impl/EventsPackageImpl.java
new file mode 100644
index 00000000000..56379d05419
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/impl/EventsPackageImpl.java
@@ -0,0 +1,480 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.events.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.eastadl.EastadlPackage;
+import org.eclipse.papyrus.eastadl.annex.AnnexPackage;
+import org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.StructurePackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.papyrus.eastadl.timing.events.EventFunction;
+import org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPort;
+import org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPortKind;
+import org.eclipse.papyrus.eastadl.timing.events.EventFunctionFlowPort;
+import org.eclipse.papyrus.eastadl.timing.events.EventsFactory;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EventsPackageImpl extends EPackageImpl implements EventsPackage {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass eventFunctionFlowPortEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass eventFunctionClientServerPortEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass eventFunctionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum eventFunctionClientServerPortKindEEnum = null;
+
+ /**
+ * <!-- 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 EventsPackage#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 EventsPackage init() {
+ if (isInited) return (EventsPackage)EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI);
+
+ // Obtain or create and register package
+ EventsPackageImpl theEventsPackage = (EventsPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new EventsPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ SysmlPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EastadlPackageImpl theEastadlPackage = (EastadlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) instanceof EastadlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) : EastadlPackage.eINSTANCE);
+ VariabilityPackageImpl theVariabilityPackage = (VariabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) instanceof VariabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) : VariabilityPackage.eINSTANCE);
+ InfrastructurePackageImpl theInfrastructurePackage = (InfrastructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) instanceof InfrastructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) : InfrastructurePackage.eINSTANCE);
+ DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) instanceof DatatypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) : DatatypesPackage.eINSTANCE);
+ UserattributesPackageImpl theUserattributesPackage = (UserattributesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) instanceof UserattributesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) : UserattributesPackage.eINSTANCE);
+ ElementsPackageImpl theElementsPackage = (ElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) instanceof ElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) : ElementsPackage.eINSTANCE);
+ StructurePackageImpl theStructurePackage = (StructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) instanceof StructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) : StructurePackage.eINSTANCE);
+ FunctionmodelingPackageImpl theFunctionmodelingPackage = (FunctionmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) instanceof FunctionmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) : FunctionmodelingPackage.eINSTANCE);
+ HardwaremodelingPackageImpl theHardwaremodelingPackage = (HardwaremodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) instanceof HardwaremodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) : HardwaremodelingPackage.eINSTANCE);
+ SystemmodelingPackageImpl theSystemmodelingPackage = (SystemmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) instanceof SystemmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) : SystemmodelingPackage.eINSTANCE);
+ VehiclefeaturemodelingPackageImpl theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) instanceof VehiclefeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) : VehiclefeaturemodelingPackage.eINSTANCE);
+ FeaturemodelingPackageImpl theFeaturemodelingPackage = (FeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) instanceof FeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) : FeaturemodelingPackage.eINSTANCE);
+ BehaviorPackageImpl theBehaviorPackage = (BehaviorPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) instanceof BehaviorPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) : BehaviorPackage.eINSTANCE);
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) : RequirementsPackage.eINSTANCE);
+ VerificationvalidationPackageImpl theVerificationvalidationPackage = (VerificationvalidationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) instanceof VerificationvalidationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) : VerificationvalidationPackage.eINSTANCE);
+ TimingPackageImpl theTimingPackage = (TimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) instanceof TimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) : TimingPackage.eINSTANCE);
+ TimingconstraintsPackageImpl theTimingconstraintsPackage = (TimingconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) instanceof TimingconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) : TimingconstraintsPackage.eINSTANCE);
+ InterchangePackageImpl theInterchangePackage = (InterchangePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) instanceof InterchangePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) : InterchangePackage.eINSTANCE);
+ EnvironmentPackageImpl theEnvironmentPackage = (EnvironmentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) instanceof EnvironmentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) : EnvironmentPackage.eINSTANCE);
+ DependabilityPackageImpl theDependabilityPackage = (DependabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) instanceof DependabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) : DependabilityPackage.eINSTANCE);
+ ErrormodelPackageImpl theErrormodelPackage = (ErrormodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) instanceof ErrormodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) : ErrormodelPackage.eINSTANCE);
+ SafetyrequirementPackageImpl theSafetyrequirementPackage = (SafetyrequirementPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) instanceof SafetyrequirementPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) : SafetyrequirementPackage.eINSTANCE);
+ SafetyconstraintsPackageImpl theSafetyconstraintsPackage = (SafetyconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) instanceof SafetyconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) : SafetyconstraintsPackage.eINSTANCE);
+ SafetycasePackageImpl theSafetycasePackage = (SafetycasePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) instanceof SafetycasePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) : SafetycasePackage.eINSTANCE);
+ AnnexPackageImpl theAnnexPackage = (AnnexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) instanceof AnnexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) : AnnexPackage.eINSTANCE);
+ NeedsPackageImpl theNeedsPackage = (NeedsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) instanceof NeedsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) : NeedsPackage.eINSTANCE);
+ GenericconstraintsPackageImpl theGenericconstraintsPackage = (GenericconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) instanceof GenericconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) : GenericconstraintsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theEventsPackage.createPackageContents();
+ theEastadlPackage.createPackageContents();
+ theVariabilityPackage.createPackageContents();
+ theInfrastructurePackage.createPackageContents();
+ theDatatypesPackage.createPackageContents();
+ theUserattributesPackage.createPackageContents();
+ theElementsPackage.createPackageContents();
+ theStructurePackage.createPackageContents();
+ theFunctionmodelingPackage.createPackageContents();
+ theHardwaremodelingPackage.createPackageContents();
+ theSystemmodelingPackage.createPackageContents();
+ theVehiclefeaturemodelingPackage.createPackageContents();
+ theFeaturemodelingPackage.createPackageContents();
+ theBehaviorPackage.createPackageContents();
+ theRequirementsPackage.createPackageContents();
+ theVerificationvalidationPackage.createPackageContents();
+ theTimingPackage.createPackageContents();
+ theTimingconstraintsPackage.createPackageContents();
+ theInterchangePackage.createPackageContents();
+ theEnvironmentPackage.createPackageContents();
+ theDependabilityPackage.createPackageContents();
+ theErrormodelPackage.createPackageContents();
+ theSafetyrequirementPackage.createPackageContents();
+ theSafetyconstraintsPackage.createPackageContents();
+ theSafetycasePackage.createPackageContents();
+ theAnnexPackage.createPackageContents();
+ theNeedsPackage.createPackageContents();
+ theGenericconstraintsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theEventsPackage.initializePackageContents();
+ theEastadlPackage.initializePackageContents();
+ theVariabilityPackage.initializePackageContents();
+ theInfrastructurePackage.initializePackageContents();
+ theDatatypesPackage.initializePackageContents();
+ theUserattributesPackage.initializePackageContents();
+ theElementsPackage.initializePackageContents();
+ theStructurePackage.initializePackageContents();
+ theFunctionmodelingPackage.initializePackageContents();
+ theHardwaremodelingPackage.initializePackageContents();
+ theSystemmodelingPackage.initializePackageContents();
+ theVehiclefeaturemodelingPackage.initializePackageContents();
+ theFeaturemodelingPackage.initializePackageContents();
+ theBehaviorPackage.initializePackageContents();
+ theRequirementsPackage.initializePackageContents();
+ theVerificationvalidationPackage.initializePackageContents();
+ theTimingPackage.initializePackageContents();
+ theTimingconstraintsPackage.initializePackageContents();
+ theInterchangePackage.initializePackageContents();
+ theEnvironmentPackage.initializePackageContents();
+ theDependabilityPackage.initializePackageContents();
+ theErrormodelPackage.initializePackageContents();
+ theSafetyrequirementPackage.initializePackageContents();
+ theSafetyconstraintsPackage.initializePackageContents();
+ theSafetycasePackage.initializePackageContents();
+ theAnnexPackage.initializePackageContents();
+ theNeedsPackage.initializePackageContents();
+ theGenericconstraintsPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theEventsPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(EventsPackage.eNS_URI, theEventsPackage);
+ return theEventsPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * 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.eclipse.papyrus.eastadl.timing.events.EventsPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private EventsPackageImpl() {
+ super(eNS_URI, EventsFactory.eINSTANCE);
+ }
+
+ /**
+ * 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
+ eventFunctionFlowPortEClass = createEClass(EVENT_FUNCTION_FLOW_PORT);
+ createEReference(eventFunctionFlowPortEClass, EVENT_FUNCTION_FLOW_PORT__PORT);
+ createEReference(eventFunctionFlowPortEClass, EVENT_FUNCTION_FLOW_PORT__PORT_PATH);
+
+ eventFunctionClientServerPortEClass = createEClass(EVENT_FUNCTION_CLIENT_SERVER_PORT);
+ createEAttribute(eventFunctionClientServerPortEClass, EVENT_FUNCTION_CLIENT_SERVER_PORT__EVENT_KIND);
+ createEReference(eventFunctionClientServerPortEClass, EVENT_FUNCTION_CLIENT_SERVER_PORT__PORT);
+ createEReference(eventFunctionClientServerPortEClass, EVENT_FUNCTION_CLIENT_SERVER_PORT__PORT_PATH);
+
+ eventFunctionEClass = createEClass(EVENT_FUNCTION);
+ createEReference(eventFunctionEClass, EVENT_FUNCTION__FUNCTION);
+ createEReference(eventFunctionEClass, EVENT_FUNCTION__FUNCTION_TYPE);
+ createEReference(eventFunctionEClass, EVENT_FUNCTION__FUNCTION_PATH);
+
+ // Create enums
+ eventFunctionClientServerPortKindEEnum = createEEnum(EVENT_FUNCTION_CLIENT_SERVER_PORT_KIND);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEventFunction() {
+ return eventFunctionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEventFunction_Function() {
+ return (EReference)eventFunctionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEventFunction_FunctionType() {
+ return (EReference)eventFunctionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEventFunction_Function_path() {
+ return (EReference)eventFunctionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEventFunctionClientServerPort() {
+ return eventFunctionClientServerPortEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getEventFunctionClientServerPort_EventKind() {
+ return (EAttribute)eventFunctionClientServerPortEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEventFunctionClientServerPort_Port() {
+ return (EReference)eventFunctionClientServerPortEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEventFunctionClientServerPort_Port_path() {
+ return (EReference)eventFunctionClientServerPortEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getEventFunctionClientServerPortKind() {
+ return eventFunctionClientServerPortKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEventFunctionFlowPort() {
+ return eventFunctionFlowPortEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEventFunctionFlowPort_Port() {
+ return (EReference)eventFunctionFlowPortEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEventFunctionFlowPort_Port_path() {
+ return (EReference)eventFunctionFlowPortEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EventsFactory getEventsFactory() {
+ return (EventsFactory)getEFactoryInstance();
+ }
+
+ /**
+ * 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
+ TimingPackage theTimingPackage = (TimingPackage)EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI);
+ FunctionmodelingPackage theFunctionmodelingPackage = (FunctionmodelingPackage)EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ eventFunctionFlowPortEClass.getESuperTypes().add(theTimingPackage.getEvent());
+ eventFunctionClientServerPortEClass.getESuperTypes().add(theTimingPackage.getEvent());
+ eventFunctionEClass.getESuperTypes().add(theTimingPackage.getEvent());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(eventFunctionFlowPortEClass, EventFunctionFlowPort.class, "EventFunctionFlowPort", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getEventFunctionFlowPort_Port(), theFunctionmodelingPackage.getFunctionPort(), null, "port", null, 1, 1, EventFunctionFlowPort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getEventFunctionFlowPort_Port_path(), theFunctionmodelingPackage.getFunctionPrototype(), null, "port_path", null, 0, -1, EventFunctionFlowPort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(eventFunctionClientServerPortEClass, EventFunctionClientServerPort.class, "EventFunctionClientServerPort", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getEventFunctionClientServerPort_EventKind(), this.getEventFunctionClientServerPortKind(), "eventKind", null, 1, 1, EventFunctionClientServerPort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getEventFunctionClientServerPort_Port(), theFunctionmodelingPackage.getFunctionClientServerPort(), null, "port", null, 1, 1, EventFunctionClientServerPort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getEventFunctionClientServerPort_Port_path(), theFunctionmodelingPackage.getFunctionPrototype(), null, "port_path", null, 0, -1, EventFunctionClientServerPort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(eventFunctionEClass, EventFunction.class, "EventFunction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getEventFunction_Function(), theFunctionmodelingPackage.getFunctionPrototype(), null, "function", null, 0, 1, EventFunction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getEventFunction_FunctionType(), theFunctionmodelingPackage.getFunctionType(), null, "functionType", null, 0, 1, EventFunction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getEventFunction_Function_path(), theFunctionmodelingPackage.getFunctionPrototype(), null, "function_path", null, 0, -1, EventFunction.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(eventFunctionClientServerPortKindEEnum, EventFunctionClientServerPortKind.class, "EventFunctionClientServerPortKind");
+ addEEnumLiteral(eventFunctionClientServerPortKindEEnum, EventFunctionClientServerPortKind.RECEIVED_REQUEST);
+ addEEnumLiteral(eventFunctionClientServerPortKindEEnum, EventFunctionClientServerPortKind.SENT_RESPONSE);
+ addEEnumLiteral(eventFunctionClientServerPortKindEEnum, EventFunctionClientServerPortKind.SENT_REQUEST);
+ addEEnumLiteral(eventFunctionClientServerPortKindEEnum, EventFunctionClientServerPortKind.RECEIVED_RESPONSE);
+ }
+
+} //EventsPackageImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/util/EventsAdapterFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/util/EventsAdapterFactory.java
new file mode 100644
index 00000000000..68df07a11de
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/util/EventsAdapterFactory.java
@@ -0,0 +1,226 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.events.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.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.timing.Event;
+import org.eclipse.papyrus.eastadl.timing.TimingDescription;
+import org.eclipse.papyrus.eastadl.timing.events.EventFunction;
+import org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPort;
+import org.eclipse.papyrus.eastadl.timing.events.EventFunctionFlowPort;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.timing.events.EventsPackage
+ * @generated
+ */
+public class EventsAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static EventsPackage modelPackage;
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EventsSwitch<Adapter> modelSwitch =
+ new EventsSwitch<Adapter>() {
+ @Override
+ public Adapter caseEventFunctionFlowPort(EventFunctionFlowPort object) {
+ return createEventFunctionFlowPortAdapter();
+ }
+ @Override
+ public Adapter caseEventFunctionClientServerPort(EventFunctionClientServerPort object) {
+ return createEventFunctionClientServerPortAdapter();
+ }
+ @Override
+ public Adapter caseEventFunction(EventFunction object) {
+ return createEventFunctionAdapter();
+ }
+ @Override
+ public Adapter caseEAElement(EAElement object) {
+ return createEAElementAdapter();
+ }
+ @Override
+ public Adapter caseTimingDescription(TimingDescription object) {
+ return createTimingDescriptionAdapter();
+ }
+ @Override
+ public Adapter caseEvent(Event object) {
+ return createEventAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EventsAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = EventsPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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 the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.timing.Event <em>Event</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.timing.Event
+ * @generated
+ */
+ public Adapter createEventAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.timing.events.EventFunction <em>Event Function</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.timing.events.EventFunction
+ * @generated
+ */
+ public Adapter createEventFunctionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement <em>EA Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAElement
+ * @generated
+ */
+ public Adapter createEAElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPort <em>Event Function Client Server Port</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.timing.events.EventFunctionClientServerPort
+ * @generated
+ */
+ public Adapter createEventFunctionClientServerPortAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.timing.events.EventFunctionFlowPort <em>Event Function Flow Port</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.timing.events.EventFunctionFlowPort
+ * @generated
+ */
+ public Adapter createEventFunctionFlowPortAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.timing.TimingDescription <em>Description</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.timing.TimingDescription
+ * @generated
+ */
+ public Adapter createTimingDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * 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;
+ }
+
+} //EventsAdapterFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/util/EventsResourceFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/util/EventsResourceFactoryImpl.java
new file mode 100644
index 00000000000..598693dda1b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/util/EventsResourceFactoryImpl.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.events.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.eclipse.papyrus.eastadl.timing.events.util.EventsResourceImpl
+ * @generated
+ */
+public class EventsResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EventsResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new EventsResourceImpl(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;
+ }
+
+} //EventsResourceFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/util/EventsResourceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/util/EventsResourceImpl.java
new file mode 100644
index 00000000000..862ab4a49e4
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/util/EventsResourceImpl.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.events.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.eclipse.papyrus.eastadl.timing.events.util.EventsResourceFactoryImpl
+ * @generated
+ */
+public class EventsResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public EventsResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //EventsResourceImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/util/EventsSwitch.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/util/EventsSwitch.java
new file mode 100644
index 00000000000..4846c787168
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/util/EventsSwitch.java
@@ -0,0 +1,224 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.events.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.timing.Event;
+import org.eclipse.papyrus.eastadl.timing.TimingDescription;
+import org.eclipse.papyrus.eastadl.timing.events.EventFunction;
+import org.eclipse.papyrus.eastadl.timing.events.EventFunctionClientServerPort;
+import org.eclipse.papyrus.eastadl.timing.events.EventFunctionFlowPort;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.timing.events.EventsPackage
+ * @generated
+ */
+public class EventsSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static EventsPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EventsSwitch() {
+ if (modelPackage == null) {
+ modelPackage = EventsPackage.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;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Event</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Event</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEvent(Event object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Event Function</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Event Function</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEventFunction(EventFunction object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAElement(EAElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Event Function Client Server Port</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Event Function Client Server Port</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEventFunctionClientServerPort(EventFunctionClientServerPort object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Event Function Flow Port</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Event Function Flow Port</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEventFunctionFlowPort(EventFunctionFlowPort object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Description</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTimingDescription(TimingDescription 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;
+ }
+
+ /**
+ * 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 EventsPackage.EVENT_FUNCTION_FLOW_PORT: {
+ EventFunctionFlowPort eventFunctionFlowPort = (EventFunctionFlowPort)theEObject;
+ T result = caseEventFunctionFlowPort(eventFunctionFlowPort);
+ if (result == null) result = caseEvent(eventFunctionFlowPort);
+ if (result == null) result = caseTimingDescription(eventFunctionFlowPort);
+ if (result == null) result = caseEAElement(eventFunctionFlowPort);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EventsPackage.EVENT_FUNCTION_CLIENT_SERVER_PORT: {
+ EventFunctionClientServerPort eventFunctionClientServerPort = (EventFunctionClientServerPort)theEObject;
+ T result = caseEventFunctionClientServerPort(eventFunctionClientServerPort);
+ if (result == null) result = caseEvent(eventFunctionClientServerPort);
+ if (result == null) result = caseTimingDescription(eventFunctionClientServerPort);
+ if (result == null) result = caseEAElement(eventFunctionClientServerPort);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EventsPackage.EVENT_FUNCTION: {
+ EventFunction eventFunction = (EventFunction)theEObject;
+ T result = caseEventFunction(eventFunction);
+ if (result == null) result = caseEvent(eventFunction);
+ if (result == null) result = caseTimingDescription(eventFunction);
+ if (result == null) result = caseEAElement(eventFunction);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+} //EventsSwitch
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/util/EventsXMLProcessor.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/util/EventsXMLProcessor.java
new file mode 100644
index 00000000000..b4dcb457455
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/events/util/EventsXMLProcessor.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.events.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.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EventsXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EventsXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ EventsPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the EventsResourceFactoryImpl 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 EventsResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new EventsResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //EventsXMLProcessor
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/EventChainImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/EventChainImpl.java
new file mode 100644
index 00000000000..12c0c9f8808
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/EventChainImpl.java
@@ -0,0 +1,235 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.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.eastadl.timing.Event;
+import org.eclipse.papyrus.eastadl.timing.EventChain;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Event Chain</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.impl.EventChainImpl#getSegment <em>Segment</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.impl.EventChainImpl#getStrand <em>Strand</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.impl.EventChainImpl#getResponse <em>Response</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.impl.EventChainImpl#getStimulus <em>Stimulus</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EventChainImpl extends TimingDescriptionImpl implements EventChain {
+
+ /**
+ * The cached value of the '{@link #getSegment() <em>Segment</em>}' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSegment()
+ * @generated
+ * @ordered
+ */
+ protected EList<EventChain> segment;
+
+ /**
+ * The cached value of the '{@link #getStrand() <em>Strand</em>}' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getStrand()
+ * @generated
+ * @ordered
+ */
+ protected EList<EventChain> strand;
+
+ /**
+ * The cached value of the '{@link #getResponse() <em>Response</em>}' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getResponse()
+ * @generated
+ * @ordered
+ */
+ protected EList<Event> response;
+
+ /**
+ * The cached value of the '{@link #getStimulus() <em>Stimulus</em>}' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getStimulus()
+ * @generated
+ * @ordered
+ */
+ protected EList<Event> stimulus;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected EventChainImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case TimingPackage.EVENT_CHAIN__SEGMENT:
+ return getSegment();
+ case TimingPackage.EVENT_CHAIN__STRAND:
+ return getStrand();
+ case TimingPackage.EVENT_CHAIN__RESPONSE:
+ return getResponse();
+ case TimingPackage.EVENT_CHAIN__STIMULUS:
+ return getStimulus();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case TimingPackage.EVENT_CHAIN__SEGMENT:
+ return segment != null && !segment.isEmpty();
+ case TimingPackage.EVENT_CHAIN__STRAND:
+ return strand != null && !strand.isEmpty();
+ case TimingPackage.EVENT_CHAIN__RESPONSE:
+ return response != null && !response.isEmpty();
+ case TimingPackage.EVENT_CHAIN__STIMULUS:
+ return stimulus != null && !stimulus.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case TimingPackage.EVENT_CHAIN__SEGMENT:
+ getSegment().clear();
+ getSegment().addAll((Collection<? extends EventChain>)newValue);
+ return;
+ case TimingPackage.EVENT_CHAIN__STRAND:
+ getStrand().clear();
+ getStrand().addAll((Collection<? extends EventChain>)newValue);
+ return;
+ case TimingPackage.EVENT_CHAIN__RESPONSE:
+ getResponse().clear();
+ getResponse().addAll((Collection<? extends Event>)newValue);
+ return;
+ case TimingPackage.EVENT_CHAIN__STIMULUS:
+ getStimulus().clear();
+ getStimulus().addAll((Collection<? extends Event>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return TimingPackage.Literals.EVENT_CHAIN;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case TimingPackage.EVENT_CHAIN__SEGMENT:
+ getSegment().clear();
+ return;
+ case TimingPackage.EVENT_CHAIN__STRAND:
+ getStrand().clear();
+ return;
+ case TimingPackage.EVENT_CHAIN__RESPONSE:
+ getResponse().clear();
+ return;
+ case TimingPackage.EVENT_CHAIN__STIMULUS:
+ getStimulus().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Event> getResponse() {
+ if (response == null) {
+ response = new EObjectResolvingEList<Event>(Event.class, this, TimingPackage.EVENT_CHAIN__RESPONSE);
+ }
+ return response;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EventChain> getSegment() {
+ if (segment == null) {
+ segment = new EObjectResolvingEList<EventChain>(EventChain.class, this, TimingPackage.EVENT_CHAIN__SEGMENT);
+ }
+ return segment;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Event> getStimulus() {
+ if (stimulus == null) {
+ stimulus = new EObjectResolvingEList<Event>(Event.class, this, TimingPackage.EVENT_CHAIN__STIMULUS);
+ }
+ return stimulus;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EventChain> getStrand() {
+ if (strand == null) {
+ strand = new EObjectResolvingEList<EventChain>(EventChain.class, this, TimingPackage.EVENT_CHAIN__STRAND);
+ }
+ return strand;
+ }
+
+} // EventChainImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/EventImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/EventImpl.java
new file mode 100644
index 00000000000..d60c614432b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/EventImpl.java
@@ -0,0 +1,164 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.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.eastadl.timing.Event;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Event</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.impl.EventImpl#isIsStateChanged <em>Is State Changed</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class EventImpl extends TimingDescriptionImpl implements Event {
+
+ /**
+ * The default value of the '{@link #isIsStateChanged() <em>Is State Changed</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #isIsStateChanged()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_STATE_CHANGED_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isIsStateChanged() <em>Is State Changed</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #isIsStateChanged()
+ * @generated
+ * @ordered
+ */
+ protected boolean isStateChanged = IS_STATE_CHANGED_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected EventImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case TimingPackage.EVENT__IS_STATE_CHANGED:
+ return isIsStateChanged();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case TimingPackage.EVENT__IS_STATE_CHANGED:
+ return isStateChanged != IS_STATE_CHANGED_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case TimingPackage.EVENT__IS_STATE_CHANGED:
+ setIsStateChanged((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return TimingPackage.Literals.EVENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsStateChanged() {
+ return isStateChanged;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsStateChanged(boolean newIsStateChanged) {
+ boolean oldIsStateChanged = isStateChanged;
+ isStateChanged = newIsStateChanged;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, TimingPackage.EVENT__IS_STATE_CHANGED, oldIsStateChanged, isStateChanged));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case TimingPackage.EVENT__IS_STATE_CHANGED:
+ setIsStateChanged(IS_STATE_CHANGED_EDEFAULT);
+ return;
+ }
+ super.eUnset(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(" (isStateChanged: ");
+ result.append(isStateChanged);
+ result.append(')');
+ return result.toString();
+ }
+
+} // EventImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/ExecutionTimeConstraintImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/ExecutionTimeConstraintImpl.java
new file mode 100644
index 00000000000..9ab6573d9fc
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/ExecutionTimeConstraintImpl.java
@@ -0,0 +1,349 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.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.eastadl.structure.functionmodeling.DesignFunctionPrototype;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.DesignFunctionType;
+import org.eclipse.papyrus.eastadl.timing.ExecutionTimeConstraint;
+import org.eclipse.papyrus.eastadl.timing.TimeDuration;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Execution Time Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.impl.ExecutionTimeConstraintImpl#getVariation <em>Variation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.impl.ExecutionTimeConstraintImpl#getTargetDesignFunctionType <em>Target Design Function Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.impl.ExecutionTimeConstraintImpl#getTargetDesignFunction <em>Target Design Function</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.impl.ExecutionTimeConstraintImpl#getTargetDesignFunctionPrototype <em>Target Design Function Prototype</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ExecutionTimeConstraintImpl extends TimingConstraintImpl implements ExecutionTimeConstraint {
+ /**
+ * The cached value of the '{@link #getVariation() <em>Variation</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVariation()
+ * @generated
+ * @ordered
+ */
+ protected TimeDuration variation;
+
+ /**
+ * The cached value of the '{@link #getTargetDesignFunctionType() <em>Target Design Function Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargetDesignFunctionType()
+ * @generated
+ * @ordered
+ */
+ protected DesignFunctionType targetDesignFunctionType;
+
+ /**
+ * The cached value of the '{@link #getTargetDesignFunction() <em>Target Design Function</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargetDesignFunction()
+ * @generated
+ * @ordered
+ */
+ protected DesignFunctionType targetDesignFunction;
+
+ /**
+ * The cached value of the '{@link #getTargetDesignFunctionPrototype() <em>Target Design Function Prototype</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargetDesignFunctionPrototype()
+ * @generated
+ * @ordered
+ */
+ protected DesignFunctionPrototype targetDesignFunctionPrototype;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExecutionTimeConstraintImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DesignFunctionType basicGetTargetDesignFunctionType() {
+ return targetDesignFunctionType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration basicGetVariation() {
+ return variation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case TimingPackage.EXECUTION_TIME_CONSTRAINT__VARIATION:
+ if (resolve) return getVariation();
+ return basicGetVariation();
+ case TimingPackage.EXECUTION_TIME_CONSTRAINT__TARGET_DESIGN_FUNCTION_TYPE:
+ if (resolve) return getTargetDesignFunctionType();
+ return basicGetTargetDesignFunctionType();
+ case TimingPackage.EXECUTION_TIME_CONSTRAINT__TARGET_DESIGN_FUNCTION:
+ if (resolve) return getTargetDesignFunction();
+ return basicGetTargetDesignFunction();
+ case TimingPackage.EXECUTION_TIME_CONSTRAINT__TARGET_DESIGN_FUNCTION_PROTOTYPE:
+ if (resolve) return getTargetDesignFunctionPrototype();
+ return basicGetTargetDesignFunctionPrototype();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case TimingPackage.EXECUTION_TIME_CONSTRAINT__VARIATION:
+ return variation != null;
+ case TimingPackage.EXECUTION_TIME_CONSTRAINT__TARGET_DESIGN_FUNCTION_TYPE:
+ return targetDesignFunctionType != null;
+ case TimingPackage.EXECUTION_TIME_CONSTRAINT__TARGET_DESIGN_FUNCTION:
+ return targetDesignFunction != null;
+ case TimingPackage.EXECUTION_TIME_CONSTRAINT__TARGET_DESIGN_FUNCTION_PROTOTYPE:
+ return targetDesignFunctionPrototype != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case TimingPackage.EXECUTION_TIME_CONSTRAINT__VARIATION:
+ setVariation((TimeDuration)newValue);
+ return;
+ case TimingPackage.EXECUTION_TIME_CONSTRAINT__TARGET_DESIGN_FUNCTION_TYPE:
+ setTargetDesignFunctionType((DesignFunctionType)newValue);
+ return;
+ case TimingPackage.EXECUTION_TIME_CONSTRAINT__TARGET_DESIGN_FUNCTION:
+ setTargetDesignFunction((DesignFunctionType)newValue);
+ return;
+ case TimingPackage.EXECUTION_TIME_CONSTRAINT__TARGET_DESIGN_FUNCTION_PROTOTYPE:
+ setTargetDesignFunctionPrototype((DesignFunctionPrototype)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return TimingPackage.Literals.EXECUTION_TIME_CONSTRAINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case TimingPackage.EXECUTION_TIME_CONSTRAINT__VARIATION:
+ setVariation((TimeDuration)null);
+ return;
+ case TimingPackage.EXECUTION_TIME_CONSTRAINT__TARGET_DESIGN_FUNCTION_TYPE:
+ setTargetDesignFunctionType((DesignFunctionType)null);
+ return;
+ case TimingPackage.EXECUTION_TIME_CONSTRAINT__TARGET_DESIGN_FUNCTION:
+ setTargetDesignFunction((DesignFunctionType)null);
+ return;
+ case TimingPackage.EXECUTION_TIME_CONSTRAINT__TARGET_DESIGN_FUNCTION_PROTOTYPE:
+ setTargetDesignFunctionPrototype((DesignFunctionPrototype)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DesignFunctionType getTargetDesignFunctionType() {
+ if (targetDesignFunctionType != null && targetDesignFunctionType.eIsProxy()) {
+ InternalEObject oldTargetDesignFunctionType = (InternalEObject)targetDesignFunctionType;
+ targetDesignFunctionType = (DesignFunctionType)eResolveProxy(oldTargetDesignFunctionType);
+ if (targetDesignFunctionType != oldTargetDesignFunctionType) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, TimingPackage.EXECUTION_TIME_CONSTRAINT__TARGET_DESIGN_FUNCTION_TYPE, oldTargetDesignFunctionType, targetDesignFunctionType));
+ }
+ }
+ return targetDesignFunctionType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration getVariation() {
+ if (variation != null && variation.eIsProxy()) {
+ InternalEObject oldVariation = (InternalEObject)variation;
+ variation = (TimeDuration)eResolveProxy(oldVariation);
+ if (variation != oldVariation) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, TimingPackage.EXECUTION_TIME_CONSTRAINT__VARIATION, oldVariation, variation));
+ }
+ }
+ return variation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTargetDesignFunctionType(DesignFunctionType newTargetDesignFunctionType) {
+ DesignFunctionType oldTargetDesignFunctionType = targetDesignFunctionType;
+ targetDesignFunctionType = newTargetDesignFunctionType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, TimingPackage.EXECUTION_TIME_CONSTRAINT__TARGET_DESIGN_FUNCTION_TYPE, oldTargetDesignFunctionType, targetDesignFunctionType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DesignFunctionType getTargetDesignFunction() {
+ if (targetDesignFunction != null && targetDesignFunction.eIsProxy()) {
+ InternalEObject oldTargetDesignFunction = (InternalEObject)targetDesignFunction;
+ targetDesignFunction = (DesignFunctionType)eResolveProxy(oldTargetDesignFunction);
+ if (targetDesignFunction != oldTargetDesignFunction) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, TimingPackage.EXECUTION_TIME_CONSTRAINT__TARGET_DESIGN_FUNCTION, oldTargetDesignFunction, targetDesignFunction));
+ }
+ }
+ return targetDesignFunction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DesignFunctionType basicGetTargetDesignFunction() {
+ return targetDesignFunction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTargetDesignFunction(DesignFunctionType newTargetDesignFunction) {
+ DesignFunctionType oldTargetDesignFunction = targetDesignFunction;
+ targetDesignFunction = newTargetDesignFunction;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, TimingPackage.EXECUTION_TIME_CONSTRAINT__TARGET_DESIGN_FUNCTION, oldTargetDesignFunction, targetDesignFunction));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DesignFunctionPrototype getTargetDesignFunctionPrototype() {
+ if (targetDesignFunctionPrototype != null && targetDesignFunctionPrototype.eIsProxy()) {
+ InternalEObject oldTargetDesignFunctionPrototype = (InternalEObject)targetDesignFunctionPrototype;
+ targetDesignFunctionPrototype = (DesignFunctionPrototype)eResolveProxy(oldTargetDesignFunctionPrototype);
+ if (targetDesignFunctionPrototype != oldTargetDesignFunctionPrototype) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, TimingPackage.EXECUTION_TIME_CONSTRAINT__TARGET_DESIGN_FUNCTION_PROTOTYPE, oldTargetDesignFunctionPrototype, targetDesignFunctionPrototype));
+ }
+ }
+ return targetDesignFunctionPrototype;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DesignFunctionPrototype basicGetTargetDesignFunctionPrototype() {
+ return targetDesignFunctionPrototype;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTargetDesignFunctionPrototype(DesignFunctionPrototype newTargetDesignFunctionPrototype) {
+ DesignFunctionPrototype oldTargetDesignFunctionPrototype = targetDesignFunctionPrototype;
+ targetDesignFunctionPrototype = newTargetDesignFunctionPrototype;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, TimingPackage.EXECUTION_TIME_CONSTRAINT__TARGET_DESIGN_FUNCTION_PROTOTYPE, oldTargetDesignFunctionPrototype, targetDesignFunctionPrototype));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVariation(TimeDuration newVariation) {
+ TimeDuration oldVariation = variation;
+ variation = newVariation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, TimingPackage.EXECUTION_TIME_CONSTRAINT__VARIATION, oldVariation, variation));
+ }
+
+} //ExecutionTimeConstraintImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/PrecedenceConstraintImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/PrecedenceConstraintImpl.java
new file mode 100644
index 00000000000..8ecc8868a00
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/PrecedenceConstraintImpl.java
@@ -0,0 +1,314 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.impl;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+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.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.BasicInternalEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionPrototype;
+import org.eclipse.papyrus.eastadl.timing.PrecedenceConstraint;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Precedence Constraint</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.impl.PrecedenceConstraintImpl#getSuccessive <em>Successive</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.impl.PrecedenceConstraintImpl#getPreceding <em>Preceding</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.impl.PrecedenceConstraintImpl#getBase_Dependency <em>Base Dependency</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.impl.PrecedenceConstraintImpl#getSuccessive_path <em>Successive path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.impl.PrecedenceConstraintImpl#getPreceding_path <em>Preceding path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PrecedenceConstraintImpl extends TimingConstraintImpl implements PrecedenceConstraint {
+
+ /**
+ * The cached value of the '{@link #getBase_Dependency() <em>Base Dependency</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Dependency()
+ * @generated
+ * @ordered
+ */
+ protected Dependency base_Dependency;
+
+ /**
+ * The cached value of the '{@link #getSuccessive_path() <em>Successive path</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSuccessive_path()
+ * @generated
+ * @ordered
+ */
+ protected EList<FunctionPrototype> successive_path;
+
+ /**
+ * The cached value of the '{@link #getPreceding_path() <em>Preceding path</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPreceding_path()
+ * @generated
+ * @ordered
+ */
+ protected EList<FunctionPrototype> preceding_path;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected PrecedenceConstraintImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public FunctionPrototype basicGetPreceding() {
+
+ FunctionPrototype preceding = null;
+
+ if(getBase_Dependency() != null) {
+
+ EList<Element> sources = getBase_Dependency().getSources();
+ if(!sources.isEmpty()) {
+ Element current = sources.get(0);
+
+ FunctionPrototype currentFProto = (FunctionPrototype)UMLUtil.getStereotypeApplication(current,
+ FunctionPrototype.class);
+
+ if(currentFProto != null) {
+ preceding = currentFProto;
+ }
+ }
+ }
+
+ return preceding;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency getBase_Dependency() {
+ if (base_Dependency != null && base_Dependency.eIsProxy()) {
+ InternalEObject oldBase_Dependency = (InternalEObject)base_Dependency;
+ base_Dependency = (Dependency)eResolveProxy(oldBase_Dependency);
+ if (base_Dependency != oldBase_Dependency) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, TimingPackage.PRECEDENCE_CONSTRAINT__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+ }
+ }
+ return base_Dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency basicGetBase_Dependency() {
+ return base_Dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Dependency(Dependency newBase_Dependency) {
+ Dependency oldBase_Dependency = base_Dependency;
+ base_Dependency = newBase_Dependency;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, TimingPackage.PRECEDENCE_CONSTRAINT__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FunctionPrototype> getSuccessive_path() {
+ if (successive_path == null) {
+ successive_path = new EObjectResolvingEList<FunctionPrototype>(FunctionPrototype.class, this, TimingPackage.PRECEDENCE_CONSTRAINT__SUCCESSIVE_PATH);
+ }
+ return successive_path;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FunctionPrototype> getPreceding_path() {
+ if (preceding_path == null) {
+ preceding_path = new EObjectResolvingEList<FunctionPrototype>(FunctionPrototype.class, this, TimingPackage.PRECEDENCE_CONSTRAINT__PRECEDING_PATH);
+ }
+ return preceding_path;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case TimingPackage.PRECEDENCE_CONSTRAINT__SUCCESSIVE:
+ return getSuccessive();
+ case TimingPackage.PRECEDENCE_CONSTRAINT__PRECEDING:
+ if (resolve) return getPreceding();
+ return basicGetPreceding();
+ case TimingPackage.PRECEDENCE_CONSTRAINT__BASE_DEPENDENCY:
+ if (resolve) return getBase_Dependency();
+ return basicGetBase_Dependency();
+ case TimingPackage.PRECEDENCE_CONSTRAINT__SUCCESSIVE_PATH:
+ return getSuccessive_path();
+ case TimingPackage.PRECEDENCE_CONSTRAINT__PRECEDING_PATH:
+ return getPreceding_path();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case TimingPackage.PRECEDENCE_CONSTRAINT__SUCCESSIVE:
+ return !getSuccessive().isEmpty();
+ case TimingPackage.PRECEDENCE_CONSTRAINT__PRECEDING:
+ return basicGetPreceding() != null;
+ case TimingPackage.PRECEDENCE_CONSTRAINT__BASE_DEPENDENCY:
+ return base_Dependency != null;
+ case TimingPackage.PRECEDENCE_CONSTRAINT__SUCCESSIVE_PATH:
+ return successive_path != null && !successive_path.isEmpty();
+ case TimingPackage.PRECEDENCE_CONSTRAINT__PRECEDING_PATH:
+ return preceding_path != null && !preceding_path.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case TimingPackage.PRECEDENCE_CONSTRAINT__BASE_DEPENDENCY:
+ setBase_Dependency((Dependency)newValue);
+ return;
+ case TimingPackage.PRECEDENCE_CONSTRAINT__SUCCESSIVE_PATH:
+ getSuccessive_path().clear();
+ getSuccessive_path().addAll((Collection<? extends FunctionPrototype>)newValue);
+ return;
+ case TimingPackage.PRECEDENCE_CONSTRAINT__PRECEDING_PATH:
+ getPreceding_path().clear();
+ getPreceding_path().addAll((Collection<? extends FunctionPrototype>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return TimingPackage.Literals.PRECEDENCE_CONSTRAINT;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case TimingPackage.PRECEDENCE_CONSTRAINT__BASE_DEPENDENCY:
+ setBase_Dependency((Dependency)null);
+ return;
+ case TimingPackage.PRECEDENCE_CONSTRAINT__SUCCESSIVE_PATH:
+ getSuccessive_path().clear();
+ return;
+ case TimingPackage.PRECEDENCE_CONSTRAINT__PRECEDING_PATH:
+ getPreceding_path().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public FunctionPrototype getPreceding() {
+ FunctionPrototype preceding = basicGetPreceding();
+ return preceding != null && preceding.eIsProxy() ? (FunctionPrototype)eResolveProxy((InternalEObject)preceding) : preceding;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EList<FunctionPrototype> getSuccessive() {
+
+ EList<FunctionPrototype> successives = new BasicEList<FunctionPrototype>();
+ FunctionPrototype currentFProto = null;
+
+ if(getBase_Dependency() != null) {
+ Iterator<Element> it = getBase_Dependency().getTargets().iterator();
+
+ // RequirementDescriptions in owned comments
+ while(it.hasNext()) {
+ Element current = it.next();
+ currentFProto = (FunctionPrototype)UMLUtil.getStereotypeApplication(current, FunctionPrototype.class);
+
+ if(currentFProto != null) {
+ successives.add(currentFProto);
+ }
+ }
+ }
+ // Convert to InternalEList<?>
+ return new BasicInternalEList<FunctionPrototype>(FunctionPrototype.class, successives.size(), successives
+ .toArray());
+ }
+
+} // PrecedenceConstraintImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/TimeDurationImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/TimeDurationImpl.java
new file mode 100644
index 00000000000..39eb24508ac
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/TimeDurationImpl.java
@@ -0,0 +1,345 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.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.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.timing.TimeDuration;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.uml2.uml.DataType;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Time Duration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.impl.TimeDurationImpl#getBase_DataType <em>Base Data Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.impl.TimeDurationImpl#getCseCode <em>Cse Code</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.impl.TimeDurationImpl#getCseCodeFactor <em>Cse Code Factor</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.impl.TimeDurationImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TimeDurationImpl extends EAElementImpl implements TimeDuration {
+
+ /**
+ * 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 #getCseCode() <em>Cse Code</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCseCode()
+ * @generated
+ * @ordered
+ */
+ protected static final int CSE_CODE_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getCseCode() <em>Cse Code</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCseCode()
+ * @generated
+ * @ordered
+ */
+ protected int cseCode = CSE_CODE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getCseCodeFactor() <em>Cse Code Factor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCseCodeFactor()
+ * @generated
+ * @ordered
+ */
+ protected static final int CSE_CODE_FACTOR_EDEFAULT = 1;
+
+ /**
+ * The cached value of the '{@link #getCseCodeFactor() <em>Cse Code Factor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCseCodeFactor()
+ * @generated
+ * @ordered
+ */
+ protected int cseCodeFactor = CSE_CODE_FACTOR_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final Float 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 Float value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TimeDurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case TimingPackage.TIME_DURATION__BASE_DATA_TYPE:
+ if (resolve) return getBase_DataType();
+ return basicGetBase_DataType();
+ case TimingPackage.TIME_DURATION__CSE_CODE:
+ return getCseCode();
+ case TimingPackage.TIME_DURATION__CSE_CODE_FACTOR:
+ return getCseCodeFactor();
+ case TimingPackage.TIME_DURATION__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case TimingPackage.TIME_DURATION__BASE_DATA_TYPE:
+ return base_DataType != null;
+ case TimingPackage.TIME_DURATION__CSE_CODE:
+ return cseCode != CSE_CODE_EDEFAULT;
+ case TimingPackage.TIME_DURATION__CSE_CODE_FACTOR:
+ return cseCodeFactor != CSE_CODE_FACTOR_EDEFAULT;
+ case TimingPackage.TIME_DURATION__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case TimingPackage.TIME_DURATION__BASE_DATA_TYPE:
+ setBase_DataType((DataType)newValue);
+ return;
+ case TimingPackage.TIME_DURATION__CSE_CODE:
+ setCseCode((Integer)newValue);
+ return;
+ case TimingPackage.TIME_DURATION__CSE_CODE_FACTOR:
+ setCseCodeFactor((Integer)newValue);
+ return;
+ case TimingPackage.TIME_DURATION__VALUE:
+ setValue((Float)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return TimingPackage.Literals.TIME_DURATION;
+ }
+
+ /**
+ * <!-- 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, TimingPackage.TIME_DURATION__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, TimingPackage.TIME_DURATION__BASE_DATA_TYPE, oldBase_DataType, base_DataType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case TimingPackage.TIME_DURATION__BASE_DATA_TYPE:
+ setBase_DataType((DataType)null);
+ return;
+ case TimingPackage.TIME_DURATION__CSE_CODE:
+ setCseCode(CSE_CODE_EDEFAULT);
+ return;
+ case TimingPackage.TIME_DURATION__CSE_CODE_FACTOR:
+ setCseCodeFactor(CSE_CODE_FACTOR_EDEFAULT);
+ return;
+ case TimingPackage.TIME_DURATION__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getCseCode() {
+ return cseCode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCseCode(int newCseCode) {
+ int oldCseCode = cseCode;
+ cseCode = newCseCode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, TimingPackage.TIME_DURATION__CSE_CODE, oldCseCode, cseCode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getCseCodeFactor() {
+ return cseCodeFactor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCseCodeFactor(int newCseCodeFactor) {
+ int oldCseCodeFactor = cseCodeFactor;
+ cseCodeFactor = newCseCodeFactor;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, TimingPackage.TIME_DURATION__CSE_CODE_FACTOR, oldCseCodeFactor, cseCodeFactor));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Float getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(Float newValue) {
+ Float oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, TimingPackage.TIME_DURATION__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (cseCode: ");
+ result.append(cseCode);
+ result.append(", cseCodeFactor: ");
+ result.append(cseCodeFactor);
+ result.append(", value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //TimeDurationImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/TimingConstraintImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/TimingConstraintImpl.java
new file mode 100644
index 00000000000..9753a89d450
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/TimingConstraintImpl.java
@@ -0,0 +1,389 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.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.eastadl.behavior.Mode;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.timing.TimeDuration;
+import org.eclipse.papyrus.eastadl.timing.TimingConstraint;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.uml2.uml.Constraint;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.impl.TimingConstraintImpl#getMode <em>Mode</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.impl.TimingConstraintImpl#getUpper <em>Upper</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.impl.TimingConstraintImpl#getLower <em>Lower</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.impl.TimingConstraintImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.impl.TimingConstraintImpl#getBase_Constraint <em>Base Constraint</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class TimingConstraintImpl extends EAElementImpl implements TimingConstraint {
+ /**
+ * The cached value of the '{@link #getMode() <em>Mode</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMode()
+ * @generated
+ * @ordered
+ */
+ protected EList<Mode> mode;
+
+ /**
+ * The cached value of the '{@link #getUpper() <em>Upper</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUpper()
+ * @generated
+ * @ordered
+ */
+ protected TimeDuration upper;
+
+ /**
+ * The cached value of the '{@link #getLower() <em>Lower</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLower()
+ * @generated
+ * @ordered
+ */
+ protected TimeDuration lower;
+
+ /**
+ * 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 cached value of the '{@link #getBase_Constraint() <em>Base Constraint</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Constraint()
+ * @generated
+ * @ordered
+ */
+ protected Constraint base_Constraint;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TimingConstraintImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration basicGetLower() {
+ return lower;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration basicGetUpper() {
+ return upper;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case TimingPackage.TIMING_CONSTRAINT__MODE:
+ return getMode();
+ case TimingPackage.TIMING_CONSTRAINT__UPPER:
+ if (resolve) return getUpper();
+ return basicGetUpper();
+ case TimingPackage.TIMING_CONSTRAINT__LOWER:
+ if (resolve) return getLower();
+ return basicGetLower();
+ case TimingPackage.TIMING_CONSTRAINT__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case TimingPackage.TIMING_CONSTRAINT__BASE_CONSTRAINT:
+ if (resolve) return getBase_Constraint();
+ return basicGetBase_Constraint();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case TimingPackage.TIMING_CONSTRAINT__MODE:
+ return mode != null && !mode.isEmpty();
+ case TimingPackage.TIMING_CONSTRAINT__UPPER:
+ return upper != null;
+ case TimingPackage.TIMING_CONSTRAINT__LOWER:
+ return lower != null;
+ case TimingPackage.TIMING_CONSTRAINT__BASE_CLASS:
+ return base_Class != null;
+ case TimingPackage.TIMING_CONSTRAINT__BASE_CONSTRAINT:
+ return base_Constraint != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case TimingPackage.TIMING_CONSTRAINT__MODE:
+ getMode().clear();
+ getMode().addAll((Collection<? extends Mode>)newValue);
+ return;
+ case TimingPackage.TIMING_CONSTRAINT__UPPER:
+ setUpper((TimeDuration)newValue);
+ return;
+ case TimingPackage.TIMING_CONSTRAINT__LOWER:
+ setLower((TimeDuration)newValue);
+ return;
+ case TimingPackage.TIMING_CONSTRAINT__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case TimingPackage.TIMING_CONSTRAINT__BASE_CONSTRAINT:
+ setBase_Constraint((Constraint)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return TimingPackage.Literals.TIMING_CONSTRAINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case TimingPackage.TIMING_CONSTRAINT__MODE:
+ getMode().clear();
+ return;
+ case TimingPackage.TIMING_CONSTRAINT__UPPER:
+ setUpper((TimeDuration)null);
+ return;
+ case TimingPackage.TIMING_CONSTRAINT__LOWER:
+ setLower((TimeDuration)null);
+ return;
+ case TimingPackage.TIMING_CONSTRAINT__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case TimingPackage.TIMING_CONSTRAINT__BASE_CONSTRAINT:
+ setBase_Constraint((Constraint)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration getLower() {
+ if (lower != null && lower.eIsProxy()) {
+ InternalEObject oldLower = (InternalEObject)lower;
+ lower = (TimeDuration)eResolveProxy(oldLower);
+ if (lower != oldLower) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, TimingPackage.TIMING_CONSTRAINT__LOWER, oldLower, lower));
+ }
+ }
+ return lower;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Mode> getMode() {
+ if (mode == null) {
+ mode = new EObjectResolvingEList<Mode>(Mode.class, this, TimingPackage.TIMING_CONSTRAINT__MODE);
+ }
+ return mode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration getUpper() {
+ if (upper != null && upper.eIsProxy()) {
+ InternalEObject oldUpper = (InternalEObject)upper;
+ upper = (TimeDuration)eResolveProxy(oldUpper);
+ if (upper != oldUpper) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, TimingPackage.TIMING_CONSTRAINT__UPPER, oldUpper, upper));
+ }
+ }
+ return upper;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLower(TimeDuration newLower) {
+ TimeDuration oldLower = lower;
+ lower = newLower;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, TimingPackage.TIMING_CONSTRAINT__LOWER, oldLower, lower));
+ }
+
+ /**
+ * <!-- 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, TimingPackage.TIMING_CONSTRAINT__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, TimingPackage.TIMING_CONSTRAINT__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getBase_Constraint() {
+ if (base_Constraint != null && base_Constraint.eIsProxy()) {
+ InternalEObject oldBase_Constraint = (InternalEObject)base_Constraint;
+ base_Constraint = (Constraint)eResolveProxy(oldBase_Constraint);
+ if (base_Constraint != oldBase_Constraint) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, TimingPackage.TIMING_CONSTRAINT__BASE_CONSTRAINT, oldBase_Constraint, base_Constraint));
+ }
+ }
+ return base_Constraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint basicGetBase_Constraint() {
+ return base_Constraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Constraint(Constraint newBase_Constraint) {
+ Constraint oldBase_Constraint = base_Constraint;
+ base_Constraint = newBase_Constraint;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, TimingPackage.TIMING_CONSTRAINT__BASE_CONSTRAINT, oldBase_Constraint, base_Constraint));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUpper(TimeDuration newUpper) {
+ TimeDuration oldUpper = upper;
+ upper = newUpper;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, TimingPackage.TIMING_CONSTRAINT__UPPER, oldUpper, upper));
+ }
+
+} //TimingConstraintImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/TimingDescriptionImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/TimingDescriptionImpl.java
new file mode 100644
index 00000000000..ddff2fe4488
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/TimingDescriptionImpl.java
@@ -0,0 +1,160 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.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.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.timing.TimingDescription;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Description</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.impl.TimingDescriptionImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class TimingDescriptionImpl extends EAElementImpl implements TimingDescription {
+
+ /**
+ * 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 TimingDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case TimingPackage.TIMING_DESCRIPTION__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 boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case TimingPackage.TIMING_DESCRIPTION__BASE_CLASS:
+ return base_Class != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case TimingPackage.TIMING_DESCRIPTION__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return TimingPackage.Literals.TIMING_DESCRIPTION;
+ }
+
+ /**
+ * <!-- 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, TimingPackage.TIMING_DESCRIPTION__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, TimingPackage.TIMING_DESCRIPTION__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case TimingPackage.TIMING_DESCRIPTION__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+} // TimingDescriptionImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/TimingFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/TimingFactoryImpl.java
new file mode 100644
index 00000000000..e5b2231cb82
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/TimingFactoryImpl.java
@@ -0,0 +1,148 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.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.eclipse.papyrus.eastadl.timing.EventChain;
+import org.eclipse.papyrus.eastadl.timing.ExecutionTimeConstraint;
+import org.eclipse.papyrus.eastadl.timing.PrecedenceConstraint;
+import org.eclipse.papyrus.eastadl.timing.TimeDuration;
+import org.eclipse.papyrus.eastadl.timing.Timing;
+import org.eclipse.papyrus.eastadl.timing.TimingFactory;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!-- end-user-doc -->
+ * @generated
+ */
+public class TimingFactoryImpl extends EFactoryImpl implements TimingFactory {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static TimingPackage getPackage() {
+ return TimingPackage.eINSTANCE;
+ }
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public static TimingFactory init() {
+ try {
+ TimingFactory theTimingFactory = (TimingFactory)EPackage.Registry.INSTANCE.getEFactory(TimingPackage.eNS_URI);
+ if (theTimingFactory != null) {
+ return theTimingFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new TimingFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public TimingFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case TimingPackage.TIME_DURATION: return createTimeDuration();
+ case TimingPackage.TIMING: return createTiming();
+ case TimingPackage.EVENT_CHAIN: return createEventChain();
+ case TimingPackage.EXECUTION_TIME_CONSTRAINT: return createExecutionTimeConstraint();
+ case TimingPackage.PRECEDENCE_CONSTRAINT: return createPrecedenceConstraint();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EventChain createEventChain() {
+ EventChainImpl eventChain = new EventChainImpl();
+ return eventChain;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExecutionTimeConstraint createExecutionTimeConstraint() {
+ ExecutionTimeConstraintImpl executionTimeConstraint = new ExecutionTimeConstraintImpl();
+ return executionTimeConstraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PrecedenceConstraint createPrecedenceConstraint() {
+ PrecedenceConstraintImpl precedenceConstraint = new PrecedenceConstraintImpl();
+ return precedenceConstraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration createTimeDuration() {
+ TimeDurationImpl timeDuration = new TimeDurationImpl();
+ return timeDuration;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Timing createTiming() {
+ TimingImpl timing = new TimingImpl();
+ return timing;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public TimingPackage getTimingPackage() {
+ return (TimingPackage)getEPackage();
+ }
+
+} // TimingFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/TimingImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/TimingImpl.java
new file mode 100644
index 00000000000..d6018a9eb5c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/TimingImpl.java
@@ -0,0 +1,292 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.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.eastadl.infrastructure.elements.impl.ContextImpl;
+import org.eclipse.papyrus.eastadl.timing.Timing;
+import org.eclipse.papyrus.eastadl.timing.TimingConstraint;
+import org.eclipse.papyrus.eastadl.timing.TimingDescription;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Timing</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.impl.TimingImpl#getTimingConstraint <em>Timing Constraint</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.impl.TimingImpl#getTimingDescription <em>Timing Description</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.impl.TimingImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.impl.TimingImpl#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TimingImpl extends ContextImpl implements Timing {
+
+ /**
+ * The cached value of the '{@link #getTimingConstraint() <em>Timing Constraint</em>}' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getTimingConstraint()
+ * @generated
+ * @ordered
+ */
+ protected EList<TimingConstraint> timingConstraint;
+
+ /**
+ * The cached value of the '{@link #getTimingDescription() <em>Timing Description</em>}' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getTimingDescription()
+ * @generated
+ * @ordered
+ */
+ protected EList<TimingDescription> timingDescription;
+
+ /**
+ * 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 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 TimingImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case TimingPackage.TIMING__TIMING_CONSTRAINT:
+ return getTimingConstraint();
+ case TimingPackage.TIMING__TIMING_DESCRIPTION:
+ return getTimingDescription();
+ case TimingPackage.TIMING__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case TimingPackage.TIMING__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 boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case TimingPackage.TIMING__TIMING_CONSTRAINT:
+ return timingConstraint != null && !timingConstraint.isEmpty();
+ case TimingPackage.TIMING__TIMING_DESCRIPTION:
+ return timingDescription != null && !timingDescription.isEmpty();
+ case TimingPackage.TIMING__BASE_CLASS:
+ return base_Class != null;
+ case TimingPackage.TIMING__BASE_PACKAGE:
+ return base_Package != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case TimingPackage.TIMING__TIMING_CONSTRAINT:
+ getTimingConstraint().clear();
+ getTimingConstraint().addAll((Collection<? extends TimingConstraint>)newValue);
+ return;
+ case TimingPackage.TIMING__TIMING_DESCRIPTION:
+ getTimingDescription().clear();
+ getTimingDescription().addAll((Collection<? extends TimingDescription>)newValue);
+ return;
+ case TimingPackage.TIMING__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case TimingPackage.TIMING__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return TimingPackage.Literals.TIMING;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case TimingPackage.TIMING__TIMING_CONSTRAINT:
+ getTimingConstraint().clear();
+ return;
+ case TimingPackage.TIMING__TIMING_DESCRIPTION:
+ getTimingDescription().clear();
+ return;
+ case TimingPackage.TIMING__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case TimingPackage.TIMING__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TimingConstraint> getTimingConstraint() {
+ if (timingConstraint == null) {
+ timingConstraint = new EObjectResolvingEList<TimingConstraint>(TimingConstraint.class, this, TimingPackage.TIMING__TIMING_CONSTRAINT);
+ }
+ return timingConstraint;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TimingDescription> getTimingDescription() {
+ if (timingDescription == null) {
+ timingDescription = new EObjectResolvingEList<TimingDescription>(TimingDescription.class, this, TimingPackage.TIMING__TIMING_DESCRIPTION);
+ }
+ return timingDescription;
+ }
+
+ /**
+ * <!-- 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, TimingPackage.TIMING__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, TimingPackage.TIMING__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- 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, TimingPackage.TIMING__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, TimingPackage.TIMING__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+
+} // TimingImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/TimingPackageImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/TimingPackageImpl.java
new file mode 100644
index 00000000000..4476dab8a4f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/impl/TimingPackageImpl.java
@@ -0,0 +1,768 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.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.eastadl.EastadlPackage;
+import org.eclipse.papyrus.eastadl.annex.AnnexPackage;
+import org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.StructurePackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.Event;
+import org.eclipse.papyrus.eastadl.timing.EventChain;
+import org.eclipse.papyrus.eastadl.timing.ExecutionTimeConstraint;
+import org.eclipse.papyrus.eastadl.timing.PrecedenceConstraint;
+import org.eclipse.papyrus.eastadl.timing.TimeDuration;
+import org.eclipse.papyrus.eastadl.timing.Timing;
+import org.eclipse.papyrus.eastadl.timing.TimingConstraint;
+import org.eclipse.papyrus.eastadl.timing.TimingDescription;
+import org.eclipse.papyrus.eastadl.timing.TimingFactory;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc -->
+ * @generated
+ */
+public class TimingPackageImpl extends EPackageImpl implements TimingPackage {
+
+ /**
+ * <!-- 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 TimingPackage#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 TimingPackage init() {
+ if (isInited) return (TimingPackage)EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI);
+
+ // Obtain or create and register package
+ TimingPackageImpl theTimingPackage = (TimingPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof TimingPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new TimingPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ SysmlPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EastadlPackageImpl theEastadlPackage = (EastadlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) instanceof EastadlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) : EastadlPackage.eINSTANCE);
+ VariabilityPackageImpl theVariabilityPackage = (VariabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) instanceof VariabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) : VariabilityPackage.eINSTANCE);
+ InfrastructurePackageImpl theInfrastructurePackage = (InfrastructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) instanceof InfrastructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) : InfrastructurePackage.eINSTANCE);
+ DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) instanceof DatatypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) : DatatypesPackage.eINSTANCE);
+ UserattributesPackageImpl theUserattributesPackage = (UserattributesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) instanceof UserattributesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) : UserattributesPackage.eINSTANCE);
+ ElementsPackageImpl theElementsPackage = (ElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) instanceof ElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) : ElementsPackage.eINSTANCE);
+ StructurePackageImpl theStructurePackage = (StructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) instanceof StructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) : StructurePackage.eINSTANCE);
+ FunctionmodelingPackageImpl theFunctionmodelingPackage = (FunctionmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) instanceof FunctionmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) : FunctionmodelingPackage.eINSTANCE);
+ HardwaremodelingPackageImpl theHardwaremodelingPackage = (HardwaremodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) instanceof HardwaremodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) : HardwaremodelingPackage.eINSTANCE);
+ SystemmodelingPackageImpl theSystemmodelingPackage = (SystemmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) instanceof SystemmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) : SystemmodelingPackage.eINSTANCE);
+ VehiclefeaturemodelingPackageImpl theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) instanceof VehiclefeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) : VehiclefeaturemodelingPackage.eINSTANCE);
+ FeaturemodelingPackageImpl theFeaturemodelingPackage = (FeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) instanceof FeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) : FeaturemodelingPackage.eINSTANCE);
+ BehaviorPackageImpl theBehaviorPackage = (BehaviorPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) instanceof BehaviorPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) : BehaviorPackage.eINSTANCE);
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) : RequirementsPackage.eINSTANCE);
+ VerificationvalidationPackageImpl theVerificationvalidationPackage = (VerificationvalidationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) instanceof VerificationvalidationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) : VerificationvalidationPackage.eINSTANCE);
+ TimingconstraintsPackageImpl theTimingconstraintsPackage = (TimingconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) instanceof TimingconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) : TimingconstraintsPackage.eINSTANCE);
+ EventsPackageImpl theEventsPackage = (EventsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+ InterchangePackageImpl theInterchangePackage = (InterchangePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) instanceof InterchangePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) : InterchangePackage.eINSTANCE);
+ EnvironmentPackageImpl theEnvironmentPackage = (EnvironmentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) instanceof EnvironmentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) : EnvironmentPackage.eINSTANCE);
+ DependabilityPackageImpl theDependabilityPackage = (DependabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) instanceof DependabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) : DependabilityPackage.eINSTANCE);
+ ErrormodelPackageImpl theErrormodelPackage = (ErrormodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) instanceof ErrormodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) : ErrormodelPackage.eINSTANCE);
+ SafetyrequirementPackageImpl theSafetyrequirementPackage = (SafetyrequirementPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) instanceof SafetyrequirementPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) : SafetyrequirementPackage.eINSTANCE);
+ SafetyconstraintsPackageImpl theSafetyconstraintsPackage = (SafetyconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) instanceof SafetyconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) : SafetyconstraintsPackage.eINSTANCE);
+ SafetycasePackageImpl theSafetycasePackage = (SafetycasePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) instanceof SafetycasePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) : SafetycasePackage.eINSTANCE);
+ AnnexPackageImpl theAnnexPackage = (AnnexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) instanceof AnnexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) : AnnexPackage.eINSTANCE);
+ NeedsPackageImpl theNeedsPackage = (NeedsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) instanceof NeedsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) : NeedsPackage.eINSTANCE);
+ GenericconstraintsPackageImpl theGenericconstraintsPackage = (GenericconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) instanceof GenericconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) : GenericconstraintsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theTimingPackage.createPackageContents();
+ theEastadlPackage.createPackageContents();
+ theVariabilityPackage.createPackageContents();
+ theInfrastructurePackage.createPackageContents();
+ theDatatypesPackage.createPackageContents();
+ theUserattributesPackage.createPackageContents();
+ theElementsPackage.createPackageContents();
+ theStructurePackage.createPackageContents();
+ theFunctionmodelingPackage.createPackageContents();
+ theHardwaremodelingPackage.createPackageContents();
+ theSystemmodelingPackage.createPackageContents();
+ theVehiclefeaturemodelingPackage.createPackageContents();
+ theFeaturemodelingPackage.createPackageContents();
+ theBehaviorPackage.createPackageContents();
+ theRequirementsPackage.createPackageContents();
+ theVerificationvalidationPackage.createPackageContents();
+ theTimingconstraintsPackage.createPackageContents();
+ theEventsPackage.createPackageContents();
+ theInterchangePackage.createPackageContents();
+ theEnvironmentPackage.createPackageContents();
+ theDependabilityPackage.createPackageContents();
+ theErrormodelPackage.createPackageContents();
+ theSafetyrequirementPackage.createPackageContents();
+ theSafetyconstraintsPackage.createPackageContents();
+ theSafetycasePackage.createPackageContents();
+ theAnnexPackage.createPackageContents();
+ theNeedsPackage.createPackageContents();
+ theGenericconstraintsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theTimingPackage.initializePackageContents();
+ theEastadlPackage.initializePackageContents();
+ theVariabilityPackage.initializePackageContents();
+ theInfrastructurePackage.initializePackageContents();
+ theDatatypesPackage.initializePackageContents();
+ theUserattributesPackage.initializePackageContents();
+ theElementsPackage.initializePackageContents();
+ theStructurePackage.initializePackageContents();
+ theFunctionmodelingPackage.initializePackageContents();
+ theHardwaremodelingPackage.initializePackageContents();
+ theSystemmodelingPackage.initializePackageContents();
+ theVehiclefeaturemodelingPackage.initializePackageContents();
+ theFeaturemodelingPackage.initializePackageContents();
+ theBehaviorPackage.initializePackageContents();
+ theRequirementsPackage.initializePackageContents();
+ theVerificationvalidationPackage.initializePackageContents();
+ theTimingconstraintsPackage.initializePackageContents();
+ theEventsPackage.initializePackageContents();
+ theInterchangePackage.initializePackageContents();
+ theEnvironmentPackage.initializePackageContents();
+ theDependabilityPackage.initializePackageContents();
+ theErrormodelPackage.initializePackageContents();
+ theSafetyrequirementPackage.initializePackageContents();
+ theSafetyconstraintsPackage.initializePackageContents();
+ theSafetycasePackage.initializePackageContents();
+ theAnnexPackage.initializePackageContents();
+ theNeedsPackage.initializePackageContents();
+ theGenericconstraintsPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theTimingPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(TimingPackage.eNS_URI, theTimingPackage);
+ return theTimingPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass timingDescriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass timingConstraintEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass eventChainEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass eventEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass executionTimeConstraintEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass precedenceConstraintEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass timeDurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass timingEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * 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.eclipse.papyrus.eastadl.timing.TimingPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private TimingPackageImpl() {
+ super(eNS_URI, TimingFactory.eINSTANCE);
+ }
+
+ /**
+ * 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
+ timingDescriptionEClass = createEClass(TIMING_DESCRIPTION);
+ createEReference(timingDescriptionEClass, TIMING_DESCRIPTION__BASE_CLASS);
+
+ timingConstraintEClass = createEClass(TIMING_CONSTRAINT);
+ createEReference(timingConstraintEClass, TIMING_CONSTRAINT__MODE);
+ createEReference(timingConstraintEClass, TIMING_CONSTRAINT__UPPER);
+ createEReference(timingConstraintEClass, TIMING_CONSTRAINT__LOWER);
+ createEReference(timingConstraintEClass, TIMING_CONSTRAINT__BASE_CLASS);
+ createEReference(timingConstraintEClass, TIMING_CONSTRAINT__BASE_CONSTRAINT);
+
+ timeDurationEClass = createEClass(TIME_DURATION);
+ createEReference(timeDurationEClass, TIME_DURATION__BASE_DATA_TYPE);
+ createEAttribute(timeDurationEClass, TIME_DURATION__CSE_CODE);
+ createEAttribute(timeDurationEClass, TIME_DURATION__CSE_CODE_FACTOR);
+ createEAttribute(timeDurationEClass, TIME_DURATION__VALUE);
+
+ timingEClass = createEClass(TIMING);
+ createEReference(timingEClass, TIMING__TIMING_CONSTRAINT);
+ createEReference(timingEClass, TIMING__TIMING_DESCRIPTION);
+ createEReference(timingEClass, TIMING__BASE_CLASS);
+ createEReference(timingEClass, TIMING__BASE_PACKAGE);
+
+ eventChainEClass = createEClass(EVENT_CHAIN);
+ createEReference(eventChainEClass, EVENT_CHAIN__SEGMENT);
+ createEReference(eventChainEClass, EVENT_CHAIN__STRAND);
+ createEReference(eventChainEClass, EVENT_CHAIN__RESPONSE);
+ createEReference(eventChainEClass, EVENT_CHAIN__STIMULUS);
+
+ eventEClass = createEClass(EVENT);
+ createEAttribute(eventEClass, EVENT__IS_STATE_CHANGED);
+
+ executionTimeConstraintEClass = createEClass(EXECUTION_TIME_CONSTRAINT);
+ createEReference(executionTimeConstraintEClass, EXECUTION_TIME_CONSTRAINT__VARIATION);
+ createEReference(executionTimeConstraintEClass, EXECUTION_TIME_CONSTRAINT__TARGET_DESIGN_FUNCTION_TYPE);
+ createEReference(executionTimeConstraintEClass, EXECUTION_TIME_CONSTRAINT__TARGET_DESIGN_FUNCTION);
+ createEReference(executionTimeConstraintEClass, EXECUTION_TIME_CONSTRAINT__TARGET_DESIGN_FUNCTION_PROTOTYPE);
+
+ precedenceConstraintEClass = createEClass(PRECEDENCE_CONSTRAINT);
+ createEReference(precedenceConstraintEClass, PRECEDENCE_CONSTRAINT__SUCCESSIVE);
+ createEReference(precedenceConstraintEClass, PRECEDENCE_CONSTRAINT__PRECEDING);
+ createEReference(precedenceConstraintEClass, PRECEDENCE_CONSTRAINT__BASE_DEPENDENCY);
+ createEReference(precedenceConstraintEClass, PRECEDENCE_CONSTRAINT__SUCCESSIVE_PATH);
+ createEReference(precedenceConstraintEClass, PRECEDENCE_CONSTRAINT__PRECEDING_PATH);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEvent() {
+ return eventEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getEvent_IsStateChanged() {
+ return (EAttribute)eventEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEventChain() {
+ return eventChainEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEventChain_Response() {
+ return (EReference)eventChainEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEventChain_Segment() {
+ return (EReference)eventChainEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEventChain_Stimulus() {
+ return (EReference)eventChainEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEventChain_Strand() {
+ return (EReference)eventChainEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExecutionTimeConstraint() {
+ return executionTimeConstraintEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExecutionTimeConstraint_TargetDesignFunctionType() {
+ return (EReference)executionTimeConstraintEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExecutionTimeConstraint_TargetDesignFunction() {
+ return (EReference)executionTimeConstraintEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExecutionTimeConstraint_TargetDesignFunctionPrototype() {
+ return (EReference)executionTimeConstraintEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExecutionTimeConstraint_Variation() {
+ return (EReference)executionTimeConstraintEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPrecedenceConstraint() {
+ return precedenceConstraintEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPrecedenceConstraint_Preceding() {
+ return (EReference)precedenceConstraintEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPrecedenceConstraint_Base_Dependency() {
+ return (EReference)precedenceConstraintEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPrecedenceConstraint_Successive_path() {
+ return (EReference)precedenceConstraintEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPrecedenceConstraint_Preceding_path() {
+ return (EReference)precedenceConstraintEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPrecedenceConstraint_Successive() {
+ return (EReference)precedenceConstraintEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTimeDuration() {
+ return timeDurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTimeDuration_Base_DataType() {
+ return (EReference)timeDurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTimeDuration_CseCode() {
+ return (EAttribute)timeDurationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTimeDuration_CseCodeFactor() {
+ return (EAttribute)timeDurationEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTimeDuration_Value() {
+ return (EAttribute)timeDurationEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTiming() {
+ return timingEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTiming_TimingConstraint() {
+ return (EReference)timingEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTiming_TimingDescription() {
+ return (EReference)timingEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTiming_Base_Class() {
+ return (EReference)timingEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTiming_Base_Package() {
+ return (EReference)timingEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTimingConstraint() {
+ return timingConstraintEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTimingConstraint_Lower() {
+ return (EReference)timingConstraintEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTimingConstraint_Base_Class() {
+ return (EReference)timingConstraintEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTimingConstraint_Base_Constraint() {
+ return (EReference)timingConstraintEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTimingConstraint_Mode() {
+ return (EReference)timingConstraintEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTimingConstraint_Upper() {
+ return (EReference)timingConstraintEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTimingDescription() {
+ return timingDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTimingDescription_Base_Class() {
+ return (EReference)timingDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public TimingFactory getTimingFactory() {
+ return (TimingFactory)getEFactoryInstance();
+ }
+
+ /**
+ * 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);
+ EventsPackage theEventsPackage = (EventsPackage)EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI);
+ ElementsPackage theElementsPackage = (ElementsPackage)EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI);
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+ BehaviorPackage theBehaviorPackage = (BehaviorPackage)EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI);
+ TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+ DatatypesPackage theDatatypesPackage = (DatatypesPackage)EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI);
+ FunctionmodelingPackage theFunctionmodelingPackage = (FunctionmodelingPackage)EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI);
+
+ // Add subpackages
+ getESubpackages().add(theTimingconstraintsPackage);
+ getESubpackages().add(theEventsPackage);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ timingDescriptionEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ timingConstraintEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ timeDurationEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ timingEClass.getESuperTypes().add(theElementsPackage.getContext());
+ eventChainEClass.getESuperTypes().add(this.getTimingDescription());
+ eventEClass.getESuperTypes().add(this.getTimingDescription());
+ executionTimeConstraintEClass.getESuperTypes().add(this.getTimingConstraint());
+ precedenceConstraintEClass.getESuperTypes().add(this.getTimingConstraint());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(timingDescriptionEClass, TimingDescription.class, "TimingDescription", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTimingDescription_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, TimingDescription.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(timingConstraintEClass, TimingConstraint.class, "TimingConstraint", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTimingConstraint_Mode(), theBehaviorPackage.getMode(), null, "mode", null, 0, -1, TimingConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getTimingConstraint_Upper(), this.getTimeDuration(), null, "upper", null, 0, 1, TimingConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getTimingConstraint_Lower(), this.getTimeDuration(), null, "lower", null, 0, 1, TimingConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getTimingConstraint_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, TimingConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getTimingConstraint_Base_Constraint(), theUMLPackage.getConstraint(), null, "base_Constraint", null, 0, 1, TimingConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(timeDurationEClass, TimeDuration.class, "TimeDuration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTimeDuration_Base_DataType(), theUMLPackage.getDataType(), null, "base_DataType", null, 1, 1, TimeDuration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getTimeDuration_CseCode(), theTypesPackage.getInteger(), "cseCode", null, 1, 1, TimeDuration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getTimeDuration_CseCodeFactor(), theTypesPackage.getInteger(), "cseCodeFactor", "1", 1, 1, TimeDuration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getTimeDuration_Value(), theDatatypesPackage.getjavalangFloat(), "value", null, 1, 1, TimeDuration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(timingEClass, Timing.class, "Timing", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTiming_TimingConstraint(), this.getTimingConstraint(), null, "timingConstraint", null, 0, -1, Timing.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getTiming_TimingDescription(), this.getTimingDescription(), null, "timingDescription", null, 0, -1, Timing.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getTiming_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, Timing.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getTiming_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, Timing.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(eventChainEClass, EventChain.class, "EventChain", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getEventChain_Segment(), this.getEventChain(), null, "segment", null, 0, -1, EventChain.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getEventChain_Strand(), this.getEventChain(), null, "strand", null, 0, -1, EventChain.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getEventChain_Response(), this.getEvent(), null, "response", null, 1, -1, EventChain.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getEventChain_Stimulus(), this.getEvent(), null, "stimulus", null, 1, -1, EventChain.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(eventEClass, Event.class, "Event", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getEvent_IsStateChanged(), theTypesPackage.getBoolean(), "isStateChanged", "true", 1, 1, Event.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(executionTimeConstraintEClass, ExecutionTimeConstraint.class, "ExecutionTimeConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getExecutionTimeConstraint_Variation(), this.getTimeDuration(), null, "variation", null, 1, 1, ExecutionTimeConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getExecutionTimeConstraint_TargetDesignFunctionType(), theFunctionmodelingPackage.getDesignFunctionType(), null, "targetDesignFunctionType", null, 0, 1, ExecutionTimeConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getExecutionTimeConstraint_TargetDesignFunction(), theFunctionmodelingPackage.getDesignFunctionType(), null, "targetDesignFunction", null, 1, 1, ExecutionTimeConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getExecutionTimeConstraint_TargetDesignFunctionPrototype(), theFunctionmodelingPackage.getDesignFunctionPrototype(), null, "targetDesignFunctionPrototype", null, 1, 1, ExecutionTimeConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(precedenceConstraintEClass, PrecedenceConstraint.class, "PrecedenceConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPrecedenceConstraint_Successive(), theFunctionmodelingPackage.getFunctionPrototype(), null, "successive", null, 1, -1, PrecedenceConstraint.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+ initEReference(getPrecedenceConstraint_Preceding(), theFunctionmodelingPackage.getFunctionPrototype(), null, "preceding", null, 1, 1, PrecedenceConstraint.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getPrecedenceConstraint_Base_Dependency(), theUMLPackage.getDependency(), null, "base_Dependency", null, 0, 1, PrecedenceConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getPrecedenceConstraint_Successive_path(), theFunctionmodelingPackage.getFunctionPrototype(), null, "successive_path", null, 0, -1, PrecedenceConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPrecedenceConstraint_Preceding_path(), theFunctionmodelingPackage.getFunctionPrototype(), null, "preceding_path", null, 0, -1, PrecedenceConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ }
+
+} // TimingPackageImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/AgeTimingConstraint.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/AgeTimingConstraint.java
new file mode 100644
index 00000000000..ac5a82c430e
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/AgeTimingConstraint.java
@@ -0,0 +1,43 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.timingconstraints;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Age Timing Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Different tolerances on over-/undersampling can be identified when the solution has been modeled.
+ *
+ * An age constraint is of interest in control engineering when looking back through the system.
+ *
+ * In case of over- or undersampling, there is no one-to-one relation possible between the occurrences of stimuli and responses of the associated event chain. Thus, the age constraint defines the semantic of which delay must be constrained.
+ *
+ * The attribute upper is applicable in worst-case analysis.
+ *
+ * The attribute lower is applicable in best-case analysis.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getAgeTimingConstraint()
+ * @model
+ * @generated
+ */
+public interface AgeTimingConstraint extends DelayConstraint {
+
+} // AgeTimingConstraint
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/ArbitraryEventConstraint.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/ArbitraryEventConstraint.java
new file mode 100644
index 00000000000..e6032fb18b8
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/ArbitraryEventConstraint.java
@@ -0,0 +1,77 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.timingconstraints;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.timing.TimeDuration;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Arbitrary Event Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The Arbitrary Event Model describes that an event occurs occasionally, singly, irregular or randomly. The primary purpose of this event model is to abstract event occurrences captured by data acquisition tools (background debugger, trace analyzer, etc.) during the operation of a system.
+ *
+ * Constraints:
+ * [1] The number of elements in the sets minimum inter-arrival time and maximum inter-arrival time must be the same. Rationale: Consistent specification of arrival times.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.ArbitraryEventConstraint#getMinimumInterArrivalTime <em>Minimum Inter Arrival Time</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.ArbitraryEventConstraint#getMaximumInterArrivalTime <em>Maximum Inter Arrival Time</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getArbitraryEventConstraint()
+ * @model
+ * @generated
+ */
+public interface ArbitraryEventConstraint extends EventConstraint {
+ /**
+ * Returns the value of the '<em><b>Maximum Inter Arrival Time</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.timing.TimeDuration}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The set of maximum inter-arrival times specifies the maximum inter-arrival time between two and more subsequent occurrences of the event. The first element in the set specifies the maximum inter-arrival time between two subsequent occurrences of the event among the given occurrences. The second element in the set specifies the maximum inter-arrival time between three subsequent occurrences of the event among the given occurrences; and so forth.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Maximum Inter Arrival Time</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getArbitraryEventConstraint_MaximumInterArrivalTime()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<TimeDuration> getMaximumInterArrivalTime();
+
+ /**
+ * Returns the value of the '<em><b>Minimum Inter Arrival Time</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.timing.TimeDuration}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The set of minimum inter-arrival times specifies the minimum inter-arrival time between two and more subsequent occurrences of the event. The first element in the set specifies the minimum inter-arrival time between two subsequent occurrences of the event among the given occurrences. The second element in the set specifies the minimum inter-arrival time between three subsequent occurrences of the event among the given occurrences; and so forth.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Minimum Inter Arrival Time</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getArbitraryEventConstraint_MinimumInterArrivalTime()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<TimeDuration> getMinimumInterArrivalTime();
+
+} // ArbitraryEventConstraint
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/DelayConstraint.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/DelayConstraint.java
new file mode 100644
index 00000000000..f736cb9a12e
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/DelayConstraint.java
@@ -0,0 +1,136 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.timingconstraints;
+
+import org.eclipse.papyrus.eastadl.timing.EventChain;
+import org.eclipse.papyrus.eastadl.timing.TimeDuration;
+import org.eclipse.papyrus.eastadl.timing.TimingConstraint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Delay Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * DelayConstraints give bounds on system timing attributes, i.e. end-to-end delays, periods, etc.
+ *
+ * A DelayConstraint can specify one or several of an upper bound, a lower bound or a nominal value and jitter. The jitter is evenly distributed around the nominal (nominal - jitter/2 .. nominal + jitter/2). The bound will be measured in a given unit.
+ *
+ * Constraints:
+ * [1] At least Upper or Nominal must be specified. Rationale: At least one value is needed to work with.
+ *
+ * Semantics:
+ * Lower (from TimingConstraint) denotes the minimum value of the given bound.
+ * Upper (from TimingConstraint) denotes the maximum value of the given bound.
+ * Variation around the nominal value can be expressed by means of an upper and lower bound, or by means of a jitter value.
+ * For example, [lower=10, upper=20, nominal=15] is equal to [nominal=15, jitter=10].
+ *
+ *
+ * Extension:
+ * abstract, no extension
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.DelayConstraint#getJitter <em>Jitter</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.DelayConstraint#getNominal <em>Nominal</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.DelayConstraint#getScope <em>Scope</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getDelayConstraint()
+ * @model abstract="true"
+ * @generated
+ */
+public interface DelayConstraint extends TimingConstraint {
+ /**
+ * Returns the value of the '<em><b>Jitter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Jitter is the range within which a value varies.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Jitter</em>' reference.
+ * @see #setJitter(TimeDuration)
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getDelayConstraint_Jitter()
+ * @model ordered="false"
+ * @generated
+ */
+ TimeDuration getJitter();
+
+ /**
+ * Returns the value of the '<em><b>Nominal</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The recurring distance between each occurrence.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Nominal</em>' reference.
+ * @see #setNominal(TimeDuration)
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getDelayConstraint_Nominal()
+ * @model ordered="false"
+ * @generated
+ */
+ TimeDuration getNominal();
+
+ /**
+ * Returns the value of the '<em><b>Scope</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Scope</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Scope</em>' reference.
+ * @see #setScope(EventChain)
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getDelayConstraint_Scope()
+ * @model ordered="false"
+ * @generated
+ */
+ EventChain getScope();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.DelayConstraint#getJitter <em>Jitter</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Jitter</em>' reference.
+ * @see #getJitter()
+ * @generated
+ */
+ void setJitter(TimeDuration value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.DelayConstraint#getNominal <em>Nominal</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Nominal</em>' reference.
+ * @see #getNominal()
+ * @generated
+ */
+ void setNominal(TimeDuration value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.DelayConstraint#getScope <em>Scope</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Scope</em>' reference.
+ * @see #getScope()
+ * @generated
+ */
+ void setScope(EventChain value);
+
+} // DelayConstraint
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/EventConstraint.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/EventConstraint.java
new file mode 100644
index 00000000000..29079f19354
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/EventConstraint.java
@@ -0,0 +1,95 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.timingconstraints;
+
+import org.eclipse.papyrus.eastadl.timing.Event;
+import org.eclipse.papyrus.eastadl.timing.TimeDuration;
+import org.eclipse.papyrus.eastadl.timing.TimingConstraint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Event Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * An EventConstraint describes the basic characteristics of the way an event occurs over time.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.EventConstraint#getEvent <em>Event</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.EventConstraint#getOffset <em>Offset</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getEventConstraint()
+ * @model abstract="true"
+ * @generated
+ */
+public interface EventConstraint extends TimingConstraint {
+ /**
+ * Returns the value of the '<em><b>Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Event</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Event</em>' reference.
+ * @see #setEvent(Event)
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getEventConstraint_Event()
+ * @model ordered="false"
+ * @generated
+ */
+ Event getEvent();
+
+ /**
+ * Returns the value of the '<em><b>Offset</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * In addition an event model may specify an offset, which delays the start of the first period - the occurrence of the very first event - by the given amount of time.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Offset</em>' reference.
+ * @see #setOffset(TimeDuration)
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getEventConstraint_Offset()
+ * @model ordered="false"
+ * @generated
+ */
+ TimeDuration getOffset();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.EventConstraint#getEvent <em>Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Event</em>' reference.
+ * @see #getEvent()
+ * @generated
+ */
+ void setEvent(Event value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.EventConstraint#getOffset <em>Offset</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Offset</em>' reference.
+ * @see #getOffset()
+ * @generated
+ */
+ void setOffset(TimeDuration value);
+
+} // EventConstraint
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/InputSynchronizationConstraint.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/InputSynchronizationConstraint.java
new file mode 100644
index 00000000000..34a2177481b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/InputSynchronizationConstraint.java
@@ -0,0 +1,78 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.timingconstraints;
+
+import org.eclipse.papyrus.eastadl.timing.TimeDuration;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Input Synchronization Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * InputSynchronizationConstraint is a language entity that expresses a timing constraint on the input synchronization among the set of stimulus events.
+ *
+ * Semantics:
+ * The parameters of InputSynchronizationConstraint, see TimingConstraint, constrain the time from the first stimulus until last stimulus (i.e., maximum skew between these stimuli). A join point is identified by the response event in the scope EventChain.
+ *
+ * Constraints:
+ * [1] The set of FunctionFlowPorts referenced by the events should contain only FlowPorts with direction = in. The rationale for this is that the events shall relate to data on FunctionFlowPorts which is considered (or shall be) temporally consistent.
+ *
+ * [2] The scope EventChain shall contain exactly one response Event.
+ *
+ * [3] The semantics of this constraint requires that there is more than one stimulus Event in the scope EventChain (each refering to a different FlowPort with direction = in).
+ *
+ * Extension: Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.InputSynchronizationConstraint#getWidth <em>Width</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getInputSynchronizationConstraint()
+ * @model
+ * @generated
+ */
+public interface InputSynchronizationConstraint extends AgeTimingConstraint {
+ /**
+ * Returns the value of the '<em><b>Width</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The width of the sliding window.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Width</em>' reference.
+ * @see #setWidth(TimeDuration)
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getInputSynchronizationConstraint_Width()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ TimeDuration getWidth();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.InputSynchronizationConstraint#getWidth <em>Width</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Width</em>' reference.
+ * @see #getWidth()
+ * @generated
+ */
+ void setWidth(TimeDuration value);
+
+} // InputSynchronizationConstraint
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/OutputSynchronizationConstraint.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/OutputSynchronizationConstraint.java
new file mode 100644
index 00000000000..816d995942e
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/OutputSynchronizationConstraint.java
@@ -0,0 +1,79 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.timingconstraints;
+
+import org.eclipse.papyrus.eastadl.timing.TimeDuration;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Output Synchronization Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * OutputSynchronizationConstraint is a language entity that expresses a timing constraint on the output synchronization among the set of response events.
+ *
+ * Semantics:
+ * The parameters of OutputSynchronizationConstraint, see TimingConstraints, constrain the time from the first response until last response (i.e., maximum skew between these responses). A fork point is identified by the stimulus event in the scope EventChain.
+ *
+ * Constraints:
+ * [1] The set of FunctionFlowPorts referenced by the events should contain only OutFlowPorts. The rationale for this is that the events shall relate to data on FunctionFlowPorts which is considered (or shall be) temporally consistent.
+ *
+ * [2] The scope EventChain shall contain exactly one stimulus Event.
+ *
+ * [3] The semantics of this constraint require that there is more than one response Events in the scope EventChain.
+ *
+ *
+ * Extension: Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.OutputSynchronizationConstraint#getWidth <em>Width</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getOutputSynchronizationConstraint()
+ * @model
+ * @generated
+ */
+public interface OutputSynchronizationConstraint extends ReactionConstraint {
+ /**
+ * Returns the value of the '<em><b>Width</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The width of the sliding window.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Width</em>' reference.
+ * @see #setWidth(TimeDuration)
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getOutputSynchronizationConstraint_Width()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ TimeDuration getWidth();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.OutputSynchronizationConstraint#getWidth <em>Width</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Width</em>' reference.
+ * @see #getWidth()
+ * @generated
+ */
+ void setWidth(TimeDuration value);
+
+} // OutputSynchronizationConstraint
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/PatternEventConstraint.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/PatternEventConstraint.java
new file mode 100644
index 00000000000..8943f615c1e
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/PatternEventConstraint.java
@@ -0,0 +1,136 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.timingconstraints;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.timing.TimeDuration;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Pattern Event Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The [Concrete] Pattern Event Constraint describes that an event occurs following a known pattern. The pattern event model is characterized by the following parameters:
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.PatternEventConstraint#getPeriod <em>Period</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.PatternEventConstraint#getMinimumInterArrivalTime <em>Minimum Inter Arrival Time</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.PatternEventConstraint#getOccurence <em>Occurence</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.PatternEventConstraint#getJitter <em>Jitter</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getPatternEventConstraint()
+ * @model
+ * @generated
+ */
+public interface PatternEventConstraint extends EventConstraint {
+ /**
+ * Returns the value of the '<em><b>Jitter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The jitter specifies maximal possible time interval the occurrence of the events within the given period can vary (formerly: can be delayed).
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Jitter</em>' reference.
+ * @see #setJitter(TimeDuration)
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getPatternEventConstraint_Jitter()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ TimeDuration getJitter();
+
+ /**
+ * Returns the value of the '<em><b>Minimum Inter Arrival Time</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The minimum inter-arrival time specifies the minimal possible time interval between two consecutive occurrences of the event within the given period.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Minimum Inter Arrival Time</em>' reference.
+ * @see #setMinimumInterArrivalTime(TimeDuration)
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getPatternEventConstraint_MinimumInterArrivalTime()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ TimeDuration getMinimumInterArrivalTime();
+
+ /**
+ * Returns the value of the '<em><b>Occurence</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.timing.TimeDuration}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The set occurrence (1..n) specifies the offset for each occurrence of the event in the specified period. Each occurrence is specified from the beginning of the period
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Occurence</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getPatternEventConstraint_Occurence()
+ * @model required="true"
+ * @generated
+ */
+ EList<TimeDuration> getOccurence();
+
+ /**
+ * Returns the value of the '<em><b>Period</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The period specifies the time interval within the event occurs any number of times following a pattern.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Period</em>' reference.
+ * @see #setPeriod(TimeDuration)
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getPatternEventConstraint_Period()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ TimeDuration getPeriod();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.PatternEventConstraint#getJitter <em>Jitter</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Jitter</em>' reference.
+ * @see #getJitter()
+ * @generated
+ */
+ void setJitter(TimeDuration value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.PatternEventConstraint#getMinimumInterArrivalTime <em>Minimum Inter Arrival Time</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Minimum Inter Arrival Time</em>' reference.
+ * @see #getMinimumInterArrivalTime()
+ * @generated
+ */
+ void setMinimumInterArrivalTime(TimeDuration value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.PatternEventConstraint#getPeriod <em>Period</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Period</em>' reference.
+ * @see #getPeriod()
+ * @generated
+ */
+ void setPeriod(TimeDuration value);
+
+} // PatternEventConstraint
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/PeriodicEventConstraint.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/PeriodicEventConstraint.java
new file mode 100644
index 00000000000..95d5f58b689
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/PeriodicEventConstraint.java
@@ -0,0 +1,118 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.timingconstraints;
+
+import org.eclipse.papyrus.eastadl.timing.TimeDuration;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Periodic Event Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The PeriodicEventConstraint describes that an event occurs periodically.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.PeriodicEventConstraint#getJitter <em>Jitter</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.PeriodicEventConstraint#getPeriod <em>Period</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.PeriodicEventConstraint#getMinimumInterArrivalTime <em>Minimum Inter Arrival Time</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getPeriodicEventConstraint()
+ * @model
+ * @generated
+ */
+public interface PeriodicEventConstraint extends EventConstraint {
+ /**
+ * Returns the value of the '<em><b>Jitter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The jitter specifies the maximal possible time interval the occurrence of an event can vary (formerly: be delayed).
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Jitter</em>' reference.
+ * @see #setJitter(TimeDuration)
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getPeriodicEventConstraint_Jitter()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ TimeDuration getJitter();
+
+ /**
+ * Returns the value of the '<em><b>Minimum Inter Arrival Time</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The minimum inter-arrival time specifies the minimal possible time interval between two consecutive occurrences of an event.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Minimum Inter Arrival Time</em>' reference.
+ * @see #setMinimumInterArrivalTime(TimeDuration)
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getPeriodicEventConstraint_MinimumInterArrivalTime()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ TimeDuration getMinimumInterArrivalTime();
+
+ /**
+ * Returns the value of the '<em><b>Period</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The period specifies the ideal time interval between two subsequent occurrences of the event.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Period</em>' reference.
+ * @see #setPeriod(TimeDuration)
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getPeriodicEventConstraint_Period()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ TimeDuration getPeriod();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.PeriodicEventConstraint#getJitter <em>Jitter</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Jitter</em>' reference.
+ * @see #getJitter()
+ * @generated
+ */
+ void setJitter(TimeDuration value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.PeriodicEventConstraint#getMinimumInterArrivalTime <em>Minimum Inter Arrival Time</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Minimum Inter Arrival Time</em>' reference.
+ * @see #getMinimumInterArrivalTime()
+ * @generated
+ */
+ void setMinimumInterArrivalTime(TimeDuration value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.PeriodicEventConstraint#getPeriod <em>Period</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Period</em>' reference.
+ * @see #getPeriod()
+ * @generated
+ */
+ void setPeriod(TimeDuration value);
+
+} // PeriodicEventConstraint
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/ReactionConstraint.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/ReactionConstraint.java
new file mode 100644
index 00000000000..85e79e41bad
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/ReactionConstraint.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.timingconstraints;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Reaction Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * ReactionConstraint is used to impose a timing constraint on an event chain in order to specify bounds for reacting on the occurrence of a stimulus or stimuli. The intention of this constraint is to look forward in time.
+ *
+ * Compare AgeTimingConstraint.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getReactionConstraint()
+ * @model
+ * @generated
+ */
+public interface ReactionConstraint extends DelayConstraint {
+
+} // ReactionConstraint
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/SporadicEventConstraint.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/SporadicEventConstraint.java
new file mode 100644
index 00000000000..ff633b40764
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/SporadicEventConstraint.java
@@ -0,0 +1,150 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.timingconstraints;
+
+import org.eclipse.papyrus.eastadl.timing.TimeDuration;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sporadic Event Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The Sporadic Event Constraint describes that an event occurs occasionally. In general it is supposed that the event eventually occurs. Indeed, it is also known that some of the events do not occur for whatsoever reasons.
+ *
+ * Note! The parameters minimum inter-arrival time and maximum inter-arrival time must reference the same point in time. Typically, this is the point in time that specifies the beginning of the period subject to consideration.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.SporadicEventConstraint#getJitter <em>Jitter</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.SporadicEventConstraint#getPeriod <em>Period</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.SporadicEventConstraint#getMaximumInterArrivalTime <em>Maximum Inter Arrival Time</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.SporadicEventConstraint#getMinimumInterArrivalTime <em>Minimum Inter Arrival Time</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getSporadicEventConstraint()
+ * @model
+ * @generated
+ */
+public interface SporadicEventConstraint extends EventConstraint {
+ /**
+ * Returns the value of the '<em><b>Jitter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The optional parameter jitter specifies the maximal possible time interval the occurrence of an event can vary (formerly: be delayed). By nature, a sporadic event is supposed to occur at any time, thus it is one of the characteristic that the occurrence is jittery.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Jitter</em>' reference.
+ * @see #setJitter(TimeDuration)
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getSporadicEventConstraint_Jitter()
+ * @model ordered="false"
+ * @generated
+ */
+ TimeDuration getJitter();
+
+ /**
+ * Returns the value of the '<em><b>Maximum Inter Arrival Time</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The optional parameter maximum inter-arrival time specifies the maximal possible time interval between two consecutive occurrences of an event.
+ * The maximum inter-arrival time may be used to describe different cases:
+ * (1) The maximum inter-arrival time is equal to the duration of the period.
+ * (2) The maximum inter-arrival time is used to specify a point in time within the period that immediately follows the period subject to consideration.
+ * (3) The maximum inter-arrival time is used to specify a point in time within one of the subsequent periods that follow the period subject to consideration.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Maximum Inter Arrival Time</em>' reference.
+ * @see #setMaximumInterArrivalTime(TimeDuration)
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getSporadicEventConstraint_MaximumInterArrivalTime()
+ * @model ordered="false"
+ * @generated
+ */
+ TimeDuration getMaximumInterArrivalTime();
+
+ /**
+ * Returns the value of the '<em><b>Minimum Inter Arrival Time</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The minimum inter-arrival time specifies is the minimal possible time interval between two consecutive occurrences of an event.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Minimum Inter Arrival Time</em>' reference.
+ * @see #setMinimumInterArrivalTime(TimeDuration)
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getSporadicEventConstraint_MinimumInterArrivalTime()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ TimeDuration getMinimumInterArrivalTime();
+
+ /**
+ * Returns the value of the '<em><b>Period</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The period specifies the ideal time interval between two subsequent occurrences of the event.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Period</em>' reference.
+ * @see #setPeriod(TimeDuration)
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#getSporadicEventConstraint_Period()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ TimeDuration getPeriod();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.SporadicEventConstraint#getJitter <em>Jitter</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Jitter</em>' reference.
+ * @see #getJitter()
+ * @generated
+ */
+ void setJitter(TimeDuration value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.SporadicEventConstraint#getMaximumInterArrivalTime <em>Maximum Inter Arrival Time</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Maximum Inter Arrival Time</em>' reference.
+ * @see #getMaximumInterArrivalTime()
+ * @generated
+ */
+ void setMaximumInterArrivalTime(TimeDuration value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.SporadicEventConstraint#getMinimumInterArrivalTime <em>Minimum Inter Arrival Time</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Minimum Inter Arrival Time</em>' reference.
+ * @see #getMinimumInterArrivalTime()
+ * @generated
+ */
+ void setMinimumInterArrivalTime(TimeDuration value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.SporadicEventConstraint#getPeriod <em>Period</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Period</em>' reference.
+ * @see #getPeriod()
+ * @generated
+ */
+ void setPeriod(TimeDuration value);
+
+} // SporadicEventConstraint
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/TimingconstraintsFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/TimingconstraintsFactory.java
new file mode 100644
index 00000000000..a9ca54e33d2
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/TimingconstraintsFactory.java
@@ -0,0 +1,118 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.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.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage
+ * @generated
+ */
+public interface TimingconstraintsFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ TimingconstraintsFactory eINSTANCE = org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsFactoryImpl.init();
+
+ /**
+ * 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>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>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 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>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>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>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/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/TimingconstraintsPackage.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/TimingconstraintsPackage.java
new file mode 100644
index 00000000000..8fe3bef3bb8
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/TimingconstraintsPackage.java
@@ -0,0 +1,1950 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.timingconstraints;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+
+
+/**
+ * <!-- 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 -->
+ * <!-- begin-model-doc -->
+ * This section describes the timing constraints.
+ * <!-- end-model-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface TimingconstraintsPackage extends EPackage {
+ /**
+ * <!-- 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.eclipse.papyrus.eastadl.timing.timingconstraints.impl.DelayConstraintImpl <em>Delay Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.DelayConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl#getDelayConstraint()
+ * @generated
+ */
+ EClass DELAY_CONSTRAINT = eINSTANCE.getDelayConstraint();
+
+ /**
+ * The meta object literal for the '<em><b>Jitter</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DELAY_CONSTRAINT__JITTER = eINSTANCE.getDelayConstraint_Jitter();
+
+ /**
+ * The meta object literal for the '<em><b>Nominal</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DELAY_CONSTRAINT__NOMINAL = eINSTANCE.getDelayConstraint_Nominal();
+
+ /**
+ * The meta object literal for the '<em><b>Scope</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DELAY_CONSTRAINT__SCOPE = eINSTANCE.getDelayConstraint_Scope();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.AgeTimingConstraintImpl <em>Age Timing Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.AgeTimingConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl#getAgeTimingConstraint()
+ * @generated
+ */
+ EClass AGE_TIMING_CONSTRAINT = eINSTANCE.getAgeTimingConstraint();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.EventConstraintImpl <em>Event Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.EventConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl#getEventConstraint()
+ * @generated
+ */
+ EClass EVENT_CONSTRAINT = eINSTANCE.getEventConstraint();
+
+ /**
+ * The meta object literal for the '<em><b>Event</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EVENT_CONSTRAINT__EVENT = eINSTANCE.getEventConstraint_Event();
+
+ /**
+ * The meta object literal for the '<em><b>Offset</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EVENT_CONSTRAINT__OFFSET = eINSTANCE.getEventConstraint_Offset();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.InputSynchronizationConstraintImpl <em>Input Synchronization Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.InputSynchronizationConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl#getInputSynchronizationConstraint()
+ * @generated
+ */
+ EClass INPUT_SYNCHRONIZATION_CONSTRAINT = eINSTANCE.getInputSynchronizationConstraint();
+
+ /**
+ * The meta object literal for the '<em><b>Width</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference INPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH = eINSTANCE.getInputSynchronizationConstraint_Width();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.OutputSynchronizationConstraintImpl <em>Output Synchronization Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.OutputSynchronizationConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl#getOutputSynchronizationConstraint()
+ * @generated
+ */
+ EClass OUTPUT_SYNCHRONIZATION_CONSTRAINT = eINSTANCE.getOutputSynchronizationConstraint();
+
+ /**
+ * The meta object literal for the '<em><b>Width</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OUTPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH = eINSTANCE.getOutputSynchronizationConstraint_Width();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.ReactionConstraintImpl <em>Reaction Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.ReactionConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl#getReactionConstraint()
+ * @generated
+ */
+ EClass REACTION_CONSTRAINT = eINSTANCE.getReactionConstraint();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.SporadicEventConstraintImpl <em>Sporadic Event Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.SporadicEventConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl#getSporadicEventConstraint()
+ * @generated
+ */
+ EClass SPORADIC_EVENT_CONSTRAINT = eINSTANCE.getSporadicEventConstraint();
+
+ /**
+ * The meta object literal for the '<em><b>Jitter</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SPORADIC_EVENT_CONSTRAINT__JITTER = eINSTANCE.getSporadicEventConstraint_Jitter();
+
+ /**
+ * The meta object literal for the '<em><b>Period</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SPORADIC_EVENT_CONSTRAINT__PERIOD = eINSTANCE.getSporadicEventConstraint_Period();
+
+ /**
+ * The meta object literal for the '<em><b>Maximum Inter Arrival Time</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SPORADIC_EVENT_CONSTRAINT__MAXIMUM_INTER_ARRIVAL_TIME = eINSTANCE.getSporadicEventConstraint_MaximumInterArrivalTime();
+
+ /**
+ * The meta object literal for the '<em><b>Minimum Inter Arrival Time</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SPORADIC_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME = eINSTANCE.getSporadicEventConstraint_MinimumInterArrivalTime();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.PeriodicEventConstraintImpl <em>Periodic Event Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.PeriodicEventConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl#getPeriodicEventConstraint()
+ * @generated
+ */
+ EClass PERIODIC_EVENT_CONSTRAINT = eINSTANCE.getPeriodicEventConstraint();
+
+ /**
+ * The meta object literal for the '<em><b>Jitter</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PERIODIC_EVENT_CONSTRAINT__JITTER = eINSTANCE.getPeriodicEventConstraint_Jitter();
+
+ /**
+ * The meta object literal for the '<em><b>Period</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PERIODIC_EVENT_CONSTRAINT__PERIOD = eINSTANCE.getPeriodicEventConstraint_Period();
+
+ /**
+ * The meta object literal for the '<em><b>Minimum Inter Arrival Time</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PERIODIC_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME = eINSTANCE.getPeriodicEventConstraint_MinimumInterArrivalTime();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.PatternEventConstraintImpl <em>Pattern Event Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.PatternEventConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl#getPatternEventConstraint()
+ * @generated
+ */
+ EClass PATTERN_EVENT_CONSTRAINT = eINSTANCE.getPatternEventConstraint();
+
+ /**
+ * The meta object literal for the '<em><b>Period</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PATTERN_EVENT_CONSTRAINT__PERIOD = eINSTANCE.getPatternEventConstraint_Period();
+
+ /**
+ * The meta object literal for the '<em><b>Minimum Inter Arrival Time</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PATTERN_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME = eINSTANCE.getPatternEventConstraint_MinimumInterArrivalTime();
+
+ /**
+ * The meta object literal for the '<em><b>Occurence</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PATTERN_EVENT_CONSTRAINT__OCCURENCE = eINSTANCE.getPatternEventConstraint_Occurence();
+
+ /**
+ * The meta object literal for the '<em><b>Jitter</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PATTERN_EVENT_CONSTRAINT__JITTER = eINSTANCE.getPatternEventConstraint_Jitter();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.ArbitraryEventConstraintImpl <em>Arbitrary Event Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.ArbitraryEventConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl#getArbitraryEventConstraint()
+ * @generated
+ */
+ EClass ARBITRARY_EVENT_CONSTRAINT = eINSTANCE.getArbitraryEventConstraint();
+
+ /**
+ * The meta object literal for the '<em><b>Minimum Inter Arrival Time</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ARBITRARY_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME = eINSTANCE.getArbitraryEventConstraint_MinimumInterArrivalTime();
+
+ /**
+ * The meta object literal for the '<em><b>Maximum Inter Arrival Time</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ARBITRARY_EVENT_CONSTRAINT__MAXIMUM_INTER_ARRIVAL_TIME = eINSTANCE.getArbitraryEventConstraint_MaximumInterArrivalTime();
+
+ }
+
+ /**
+ * 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://www.papyrusuml.org/EAST-ADL2/Timing/TimingConstraints/1";
+
+ /**
+ * 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.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.DelayConstraintImpl <em>Delay Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.DelayConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl#getDelayConstraint()
+ * @generated
+ */
+ int DELAY_CONSTRAINT = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DELAY_CONSTRAINT__NAME = TimingPackage.TIMING_CONSTRAINT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DELAY_CONSTRAINT__BASE_NAMED_ELEMENT = TimingPackage.TIMING_CONSTRAINT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DELAY_CONSTRAINT__OWNED_COMMENT = TimingPackage.TIMING_CONSTRAINT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Mode</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DELAY_CONSTRAINT__MODE = TimingPackage.TIMING_CONSTRAINT__MODE;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DELAY_CONSTRAINT__UPPER = TimingPackage.TIMING_CONSTRAINT__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DELAY_CONSTRAINT__LOWER = TimingPackage.TIMING_CONSTRAINT__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DELAY_CONSTRAINT__BASE_CLASS = TimingPackage.TIMING_CONSTRAINT__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Base Constraint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DELAY_CONSTRAINT__BASE_CONSTRAINT = TimingPackage.TIMING_CONSTRAINT__BASE_CONSTRAINT;
+
+ /**
+ * The feature id for the '<em><b>Jitter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DELAY_CONSTRAINT__JITTER = TimingPackage.TIMING_CONSTRAINT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Nominal</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DELAY_CONSTRAINT__NOMINAL = TimingPackage.TIMING_CONSTRAINT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Scope</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DELAY_CONSTRAINT__SCOPE = TimingPackage.TIMING_CONSTRAINT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Delay Constraint</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DELAY_CONSTRAINT_FEATURE_COUNT = TimingPackage.TIMING_CONSTRAINT_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.AgeTimingConstraintImpl <em>Age Timing Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.AgeTimingConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl#getAgeTimingConstraint()
+ * @generated
+ */
+ int AGE_TIMING_CONSTRAINT = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGE_TIMING_CONSTRAINT__NAME = DELAY_CONSTRAINT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGE_TIMING_CONSTRAINT__BASE_NAMED_ELEMENT = DELAY_CONSTRAINT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGE_TIMING_CONSTRAINT__OWNED_COMMENT = DELAY_CONSTRAINT__OWNED_COMMENT;
+
+ /**
+ * 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 = DELAY_CONSTRAINT__MODE;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGE_TIMING_CONSTRAINT__UPPER = DELAY_CONSTRAINT__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGE_TIMING_CONSTRAINT__LOWER = DELAY_CONSTRAINT__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGE_TIMING_CONSTRAINT__BASE_CLASS = DELAY_CONSTRAINT__BASE_CLASS;
+
+ /**
+ * 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 = DELAY_CONSTRAINT__BASE_CONSTRAINT;
+
+ /**
+ * The feature id for the '<em><b>Jitter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGE_TIMING_CONSTRAINT__JITTER = DELAY_CONSTRAINT__JITTER;
+
+ /**
+ * The feature id for the '<em><b>Nominal</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGE_TIMING_CONSTRAINT__NOMINAL = DELAY_CONSTRAINT__NOMINAL;
+
+ /**
+ * The feature id for the '<em><b>Scope</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGE_TIMING_CONSTRAINT__SCOPE = DELAY_CONSTRAINT__SCOPE;
+
+ /**
+ * 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 = DELAY_CONSTRAINT_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.EventConstraintImpl <em>Event Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.EventConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl#getEventConstraint()
+ * @generated
+ */
+ int EVENT_CONSTRAINT = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_CONSTRAINT__NAME = TimingPackage.TIMING_CONSTRAINT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_CONSTRAINT__BASE_NAMED_ELEMENT = TimingPackage.TIMING_CONSTRAINT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_CONSTRAINT__OWNED_COMMENT = TimingPackage.TIMING_CONSTRAINT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Mode</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_CONSTRAINT__MODE = TimingPackage.TIMING_CONSTRAINT__MODE;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_CONSTRAINT__UPPER = TimingPackage.TIMING_CONSTRAINT__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_CONSTRAINT__LOWER = TimingPackage.TIMING_CONSTRAINT__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_CONSTRAINT__BASE_CLASS = TimingPackage.TIMING_CONSTRAINT__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Base Constraint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_CONSTRAINT__BASE_CONSTRAINT = TimingPackage.TIMING_CONSTRAINT__BASE_CONSTRAINT;
+
+ /**
+ * The feature id for the '<em><b>Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_CONSTRAINT__EVENT = TimingPackage.TIMING_CONSTRAINT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Offset</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_CONSTRAINT__OFFSET = TimingPackage.TIMING_CONSTRAINT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Event Constraint</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_CONSTRAINT_FEATURE_COUNT = TimingPackage.TIMING_CONSTRAINT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.InputSynchronizationConstraintImpl <em>Input Synchronization Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.InputSynchronizationConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl#getInputSynchronizationConstraint()
+ * @generated
+ */
+ int INPUT_SYNCHRONIZATION_CONSTRAINT = 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_SYNCHRONIZATION_CONSTRAINT__NAME = AGE_TIMING_CONSTRAINT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_SYNCHRONIZATION_CONSTRAINT__BASE_NAMED_ELEMENT = AGE_TIMING_CONSTRAINT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_SYNCHRONIZATION_CONSTRAINT__OWNED_COMMENT = AGE_TIMING_CONSTRAINT__OWNED_COMMENT;
+
+ /**
+ * 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 = AGE_TIMING_CONSTRAINT__MODE;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_SYNCHRONIZATION_CONSTRAINT__UPPER = AGE_TIMING_CONSTRAINT__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_SYNCHRONIZATION_CONSTRAINT__LOWER = AGE_TIMING_CONSTRAINT__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_SYNCHRONIZATION_CONSTRAINT__BASE_CLASS = AGE_TIMING_CONSTRAINT__BASE_CLASS;
+
+ /**
+ * 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 = AGE_TIMING_CONSTRAINT__BASE_CONSTRAINT;
+
+ /**
+ * The feature id for the '<em><b>Jitter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_SYNCHRONIZATION_CONSTRAINT__JITTER = AGE_TIMING_CONSTRAINT__JITTER;
+
+ /**
+ * The feature id for the '<em><b>Nominal</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_SYNCHRONIZATION_CONSTRAINT__NOMINAL = AGE_TIMING_CONSTRAINT__NOMINAL;
+
+ /**
+ * The feature id for the '<em><b>Scope</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_SYNCHRONIZATION_CONSTRAINT__SCOPE = AGE_TIMING_CONSTRAINT__SCOPE;
+
+ /**
+ * The feature id for the '<em><b>Width</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH = AGE_TIMING_CONSTRAINT_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 = AGE_TIMING_CONSTRAINT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.ReactionConstraintImpl <em>Reaction Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.ReactionConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl#getReactionConstraint()
+ * @generated
+ */
+ int REACTION_CONSTRAINT = 5;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REACTION_CONSTRAINT__NAME = DELAY_CONSTRAINT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REACTION_CONSTRAINT__BASE_NAMED_ELEMENT = DELAY_CONSTRAINT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REACTION_CONSTRAINT__OWNED_COMMENT = DELAY_CONSTRAINT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Mode</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REACTION_CONSTRAINT__MODE = DELAY_CONSTRAINT__MODE;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REACTION_CONSTRAINT__UPPER = DELAY_CONSTRAINT__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REACTION_CONSTRAINT__LOWER = DELAY_CONSTRAINT__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REACTION_CONSTRAINT__BASE_CLASS = DELAY_CONSTRAINT__BASE_CLASS;
+
+ /**
+ * 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 = DELAY_CONSTRAINT__BASE_CONSTRAINT;
+
+ /**
+ * The feature id for the '<em><b>Jitter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REACTION_CONSTRAINT__JITTER = DELAY_CONSTRAINT__JITTER;
+
+ /**
+ * The feature id for the '<em><b>Nominal</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REACTION_CONSTRAINT__NOMINAL = DELAY_CONSTRAINT__NOMINAL;
+
+ /**
+ * The feature id for the '<em><b>Scope</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REACTION_CONSTRAINT__SCOPE = DELAY_CONSTRAINT__SCOPE;
+
+ /**
+ * 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 = DELAY_CONSTRAINT_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.OutputSynchronizationConstraintImpl <em>Output Synchronization Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.OutputSynchronizationConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl#getOutputSynchronizationConstraint()
+ * @generated
+ */
+ int OUTPUT_SYNCHRONIZATION_CONSTRAINT = 4;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_SYNCHRONIZATION_CONSTRAINT__NAME = REACTION_CONSTRAINT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_SYNCHRONIZATION_CONSTRAINT__BASE_NAMED_ELEMENT = REACTION_CONSTRAINT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_SYNCHRONIZATION_CONSTRAINT__OWNED_COMMENT = REACTION_CONSTRAINT__OWNED_COMMENT;
+
+ /**
+ * 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 = REACTION_CONSTRAINT__MODE;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_SYNCHRONIZATION_CONSTRAINT__UPPER = REACTION_CONSTRAINT__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_SYNCHRONIZATION_CONSTRAINT__LOWER = REACTION_CONSTRAINT__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_SYNCHRONIZATION_CONSTRAINT__BASE_CLASS = REACTION_CONSTRAINT__BASE_CLASS;
+
+ /**
+ * 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 = REACTION_CONSTRAINT__BASE_CONSTRAINT;
+
+ /**
+ * The feature id for the '<em><b>Jitter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_SYNCHRONIZATION_CONSTRAINT__JITTER = REACTION_CONSTRAINT__JITTER;
+
+ /**
+ * The feature id for the '<em><b>Nominal</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_SYNCHRONIZATION_CONSTRAINT__NOMINAL = REACTION_CONSTRAINT__NOMINAL;
+
+ /**
+ * The feature id for the '<em><b>Scope</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_SYNCHRONIZATION_CONSTRAINT__SCOPE = REACTION_CONSTRAINT__SCOPE;
+
+ /**
+ * The feature id for the '<em><b>Width</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH = REACTION_CONSTRAINT_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 = REACTION_CONSTRAINT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.SporadicEventConstraintImpl <em>Sporadic Event Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.SporadicEventConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl#getSporadicEventConstraint()
+ * @generated
+ */
+ int SPORADIC_EVENT_CONSTRAINT = 6;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SPORADIC_EVENT_CONSTRAINT__NAME = EVENT_CONSTRAINT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SPORADIC_EVENT_CONSTRAINT__BASE_NAMED_ELEMENT = EVENT_CONSTRAINT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SPORADIC_EVENT_CONSTRAINT__OWNED_COMMENT = EVENT_CONSTRAINT__OWNED_COMMENT;
+
+ /**
+ * 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 = EVENT_CONSTRAINT__MODE;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SPORADIC_EVENT_CONSTRAINT__UPPER = EVENT_CONSTRAINT__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SPORADIC_EVENT_CONSTRAINT__LOWER = EVENT_CONSTRAINT__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SPORADIC_EVENT_CONSTRAINT__BASE_CLASS = EVENT_CONSTRAINT__BASE_CLASS;
+
+ /**
+ * 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 = EVENT_CONSTRAINT__BASE_CONSTRAINT;
+
+ /**
+ * The feature id for the '<em><b>Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SPORADIC_EVENT_CONSTRAINT__EVENT = EVENT_CONSTRAINT__EVENT;
+
+ /**
+ * The feature id for the '<em><b>Offset</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SPORADIC_EVENT_CONSTRAINT__OFFSET = EVENT_CONSTRAINT__OFFSET;
+
+ /**
+ * The feature id for the '<em><b>Jitter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SPORADIC_EVENT_CONSTRAINT__JITTER = EVENT_CONSTRAINT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Period</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SPORADIC_EVENT_CONSTRAINT__PERIOD = EVENT_CONSTRAINT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Maximum Inter Arrival Time</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SPORADIC_EVENT_CONSTRAINT__MAXIMUM_INTER_ARRIVAL_TIME = EVENT_CONSTRAINT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Minimum Inter Arrival Time</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SPORADIC_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME = EVENT_CONSTRAINT_FEATURE_COUNT + 3;
+
+ /**
+ * 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 = EVENT_CONSTRAINT_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.PeriodicEventConstraintImpl <em>Periodic Event Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.PeriodicEventConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl#getPeriodicEventConstraint()
+ * @generated
+ */
+ int PERIODIC_EVENT_CONSTRAINT = 7;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERIODIC_EVENT_CONSTRAINT__NAME = EVENT_CONSTRAINT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERIODIC_EVENT_CONSTRAINT__BASE_NAMED_ELEMENT = EVENT_CONSTRAINT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERIODIC_EVENT_CONSTRAINT__OWNED_COMMENT = EVENT_CONSTRAINT__OWNED_COMMENT;
+
+ /**
+ * 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 = EVENT_CONSTRAINT__MODE;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERIODIC_EVENT_CONSTRAINT__UPPER = EVENT_CONSTRAINT__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERIODIC_EVENT_CONSTRAINT__LOWER = EVENT_CONSTRAINT__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERIODIC_EVENT_CONSTRAINT__BASE_CLASS = EVENT_CONSTRAINT__BASE_CLASS;
+
+ /**
+ * 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 = EVENT_CONSTRAINT__BASE_CONSTRAINT;
+
+ /**
+ * The feature id for the '<em><b>Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERIODIC_EVENT_CONSTRAINT__EVENT = EVENT_CONSTRAINT__EVENT;
+
+ /**
+ * The feature id for the '<em><b>Offset</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERIODIC_EVENT_CONSTRAINT__OFFSET = EVENT_CONSTRAINT__OFFSET;
+
+ /**
+ * The feature id for the '<em><b>Jitter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERIODIC_EVENT_CONSTRAINT__JITTER = EVENT_CONSTRAINT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Period</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERIODIC_EVENT_CONSTRAINT__PERIOD = EVENT_CONSTRAINT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Minimum Inter Arrival Time</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERIODIC_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME = EVENT_CONSTRAINT_FEATURE_COUNT + 2;
+
+ /**
+ * 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 = EVENT_CONSTRAINT_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.PatternEventConstraintImpl <em>Pattern Event Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.PatternEventConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl#getPatternEventConstraint()
+ * @generated
+ */
+ int PATTERN_EVENT_CONSTRAINT = 8;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PATTERN_EVENT_CONSTRAINT__NAME = EVENT_CONSTRAINT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PATTERN_EVENT_CONSTRAINT__BASE_NAMED_ELEMENT = EVENT_CONSTRAINT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PATTERN_EVENT_CONSTRAINT__OWNED_COMMENT = EVENT_CONSTRAINT__OWNED_COMMENT;
+
+ /**
+ * 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 = EVENT_CONSTRAINT__MODE;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PATTERN_EVENT_CONSTRAINT__UPPER = EVENT_CONSTRAINT__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PATTERN_EVENT_CONSTRAINT__LOWER = EVENT_CONSTRAINT__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PATTERN_EVENT_CONSTRAINT__BASE_CLASS = EVENT_CONSTRAINT__BASE_CLASS;
+
+ /**
+ * 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 = EVENT_CONSTRAINT__BASE_CONSTRAINT;
+
+ /**
+ * The feature id for the '<em><b>Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PATTERN_EVENT_CONSTRAINT__EVENT = EVENT_CONSTRAINT__EVENT;
+
+ /**
+ * The feature id for the '<em><b>Offset</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PATTERN_EVENT_CONSTRAINT__OFFSET = EVENT_CONSTRAINT__OFFSET;
+
+ /**
+ * The feature id for the '<em><b>Period</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PATTERN_EVENT_CONSTRAINT__PERIOD = EVENT_CONSTRAINT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Minimum Inter Arrival Time</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PATTERN_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME = EVENT_CONSTRAINT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Occurence</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PATTERN_EVENT_CONSTRAINT__OCCURENCE = EVENT_CONSTRAINT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Jitter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PATTERN_EVENT_CONSTRAINT__JITTER = EVENT_CONSTRAINT_FEATURE_COUNT + 3;
+
+ /**
+ * 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 = EVENT_CONSTRAINT_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.ArbitraryEventConstraintImpl <em>Arbitrary Event Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.ArbitraryEventConstraintImpl
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl#getArbitraryEventConstraint()
+ * @generated
+ */
+ int ARBITRARY_EVENT_CONSTRAINT = 9;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARBITRARY_EVENT_CONSTRAINT__NAME = EVENT_CONSTRAINT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARBITRARY_EVENT_CONSTRAINT__BASE_NAMED_ELEMENT = EVENT_CONSTRAINT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARBITRARY_EVENT_CONSTRAINT__OWNED_COMMENT = EVENT_CONSTRAINT__OWNED_COMMENT;
+
+ /**
+ * 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 = EVENT_CONSTRAINT__MODE;
+
+ /**
+ * The feature id for the '<em><b>Upper</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARBITRARY_EVENT_CONSTRAINT__UPPER = EVENT_CONSTRAINT__UPPER;
+
+ /**
+ * The feature id for the '<em><b>Lower</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARBITRARY_EVENT_CONSTRAINT__LOWER = EVENT_CONSTRAINT__LOWER;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARBITRARY_EVENT_CONSTRAINT__BASE_CLASS = EVENT_CONSTRAINT__BASE_CLASS;
+
+ /**
+ * 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 = EVENT_CONSTRAINT__BASE_CONSTRAINT;
+
+ /**
+ * The feature id for the '<em><b>Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARBITRARY_EVENT_CONSTRAINT__EVENT = EVENT_CONSTRAINT__EVENT;
+
+ /**
+ * The feature id for the '<em><b>Offset</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARBITRARY_EVENT_CONSTRAINT__OFFSET = EVENT_CONSTRAINT__OFFSET;
+
+ /**
+ * The feature id for the '<em><b>Minimum Inter Arrival Time</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARBITRARY_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME = EVENT_CONSTRAINT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Maximum Inter Arrival Time</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARBITRARY_EVENT_CONSTRAINT__MAXIMUM_INTER_ARRIVAL_TIME = EVENT_CONSTRAINT_FEATURE_COUNT + 1;
+
+
+ /**
+ * 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 = EVENT_CONSTRAINT_FEATURE_COUNT + 2;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.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.eclipse.papyrus.eastadl.timing.timingconstraints.AgeTimingConstraint
+ * @generated
+ */
+ EClass getAgeTimingConstraint();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.timing.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.eclipse.papyrus.eastadl.timing.timingconstraints.ArbitraryEventConstraint
+ * @generated
+ */
+ EClass getArbitraryEventConstraint();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.ArbitraryEventConstraint#getMaximumInterArrivalTime <em>Maximum Inter Arrival Time</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Maximum Inter Arrival Time</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.ArbitraryEventConstraint#getMaximumInterArrivalTime()
+ * @see #getArbitraryEventConstraint()
+ * @generated
+ */
+ EReference getArbitraryEventConstraint_MaximumInterArrivalTime();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.ArbitraryEventConstraint#getMinimumInterArrivalTime <em>Minimum Inter Arrival Time</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Minimum Inter Arrival Time</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.ArbitraryEventConstraint#getMinimumInterArrivalTime()
+ * @see #getArbitraryEventConstraint()
+ * @generated
+ */
+ EReference getArbitraryEventConstraint_MinimumInterArrivalTime();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.DelayConstraint <em>Delay Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Delay Constraint</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.DelayConstraint
+ * @generated
+ */
+ EClass getDelayConstraint();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.DelayConstraint#getJitter <em>Jitter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Jitter</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.DelayConstraint#getJitter()
+ * @see #getDelayConstraint()
+ * @generated
+ */
+ EReference getDelayConstraint_Jitter();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.DelayConstraint#getNominal <em>Nominal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Nominal</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.DelayConstraint#getNominal()
+ * @see #getDelayConstraint()
+ * @generated
+ */
+ EReference getDelayConstraint_Nominal();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.DelayConstraint#getScope <em>Scope</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Scope</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.DelayConstraint#getScope()
+ * @see #getDelayConstraint()
+ * @generated
+ */
+ EReference getDelayConstraint_Scope();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.EventConstraint <em>Event Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Event Constraint</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.EventConstraint
+ * @generated
+ */
+ EClass getEventConstraint();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.EventConstraint#getEvent <em>Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Event</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.EventConstraint#getEvent()
+ * @see #getEventConstraint()
+ * @generated
+ */
+ EReference getEventConstraint_Event();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.EventConstraint#getOffset <em>Offset</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Offset</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.EventConstraint#getOffset()
+ * @see #getEventConstraint()
+ * @generated
+ */
+ EReference getEventConstraint_Offset();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.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.eclipse.papyrus.eastadl.timing.timingconstraints.InputSynchronizationConstraint
+ * @generated
+ */
+ EClass getInputSynchronizationConstraint();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.InputSynchronizationConstraint#getWidth <em>Width</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Width</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.InputSynchronizationConstraint#getWidth()
+ * @see #getInputSynchronizationConstraint()
+ * @generated
+ */
+ EReference getInputSynchronizationConstraint_Width();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.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.eclipse.papyrus.eastadl.timing.timingconstraints.OutputSynchronizationConstraint
+ * @generated
+ */
+ EClass getOutputSynchronizationConstraint();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.OutputSynchronizationConstraint#getWidth <em>Width</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Width</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.OutputSynchronizationConstraint#getWidth()
+ * @see #getOutputSynchronizationConstraint()
+ * @generated
+ */
+ EReference getOutputSynchronizationConstraint_Width();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.timing.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.eclipse.papyrus.eastadl.timing.timingconstraints.PatternEventConstraint
+ * @generated
+ */
+ EClass getPatternEventConstraint();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.PatternEventConstraint#getJitter <em>Jitter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Jitter</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.PatternEventConstraint#getJitter()
+ * @see #getPatternEventConstraint()
+ * @generated
+ */
+ EReference getPatternEventConstraint_Jitter();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.PatternEventConstraint#getMinimumInterArrivalTime <em>Minimum Inter Arrival Time</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Minimum Inter Arrival Time</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.PatternEventConstraint#getMinimumInterArrivalTime()
+ * @see #getPatternEventConstraint()
+ * @generated
+ */
+ EReference getPatternEventConstraint_MinimumInterArrivalTime();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.PatternEventConstraint#getOccurence <em>Occurence</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Occurence</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.PatternEventConstraint#getOccurence()
+ * @see #getPatternEventConstraint()
+ * @generated
+ */
+ EReference getPatternEventConstraint_Occurence();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.PatternEventConstraint#getPeriod <em>Period</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Period</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.PatternEventConstraint#getPeriod()
+ * @see #getPatternEventConstraint()
+ * @generated
+ */
+ EReference getPatternEventConstraint_Period();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.timing.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.eclipse.papyrus.eastadl.timing.timingconstraints.PeriodicEventConstraint
+ * @generated
+ */
+ EClass getPeriodicEventConstraint();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.PeriodicEventConstraint#getJitter <em>Jitter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Jitter</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.PeriodicEventConstraint#getJitter()
+ * @see #getPeriodicEventConstraint()
+ * @generated
+ */
+ EReference getPeriodicEventConstraint_Jitter();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.PeriodicEventConstraint#getMinimumInterArrivalTime <em>Minimum Inter Arrival Time</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Minimum Inter Arrival Time</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.PeriodicEventConstraint#getMinimumInterArrivalTime()
+ * @see #getPeriodicEventConstraint()
+ * @generated
+ */
+ EReference getPeriodicEventConstraint_MinimumInterArrivalTime();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.PeriodicEventConstraint#getPeriod <em>Period</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Period</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.PeriodicEventConstraint#getPeriod()
+ * @see #getPeriodicEventConstraint()
+ * @generated
+ */
+ EReference getPeriodicEventConstraint_Period();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.ReactionConstraint <em>Reaction Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Reaction Constraint</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.ReactionConstraint
+ * @generated
+ */
+ EClass getReactionConstraint();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.timing.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.eclipse.papyrus.eastadl.timing.timingconstraints.SporadicEventConstraint
+ * @generated
+ */
+ EClass getSporadicEventConstraint();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.SporadicEventConstraint#getJitter <em>Jitter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Jitter</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.SporadicEventConstraint#getJitter()
+ * @see #getSporadicEventConstraint()
+ * @generated
+ */
+ EReference getSporadicEventConstraint_Jitter();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.SporadicEventConstraint#getMaximumInterArrivalTime <em>Maximum Inter Arrival Time</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Maximum Inter Arrival Time</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.SporadicEventConstraint#getMaximumInterArrivalTime()
+ * @see #getSporadicEventConstraint()
+ * @generated
+ */
+ EReference getSporadicEventConstraint_MaximumInterArrivalTime();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.SporadicEventConstraint#getMinimumInterArrivalTime <em>Minimum Inter Arrival Time</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Minimum Inter Arrival Time</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.SporadicEventConstraint#getMinimumInterArrivalTime()
+ * @see #getSporadicEventConstraint()
+ * @generated
+ */
+ EReference getSporadicEventConstraint_MinimumInterArrivalTime();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.SporadicEventConstraint#getPeriod <em>Period</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Period</em>'.
+ * @see org.eclipse.papyrus.eastadl.timing.timingconstraints.SporadicEventConstraint#getPeriod()
+ * @see #getSporadicEventConstraint()
+ * @generated
+ */
+ EReference 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();
+
+} //TimingconstraintsPackage
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/AgeTimingConstraintImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/AgeTimingConstraintImpl.java
new file mode 100644
index 00000000000..cd1cf3421a0
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/AgeTimingConstraintImpl.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.timingconstraints.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.AgeTimingConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+
+
+/**
+ * <!-- 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 DelayConstraintImpl implements AgeTimingConstraint {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AgeTimingConstraintImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return TimingconstraintsPackage.Literals.AGE_TIMING_CONSTRAINT;
+ }
+
+} //AgeTimingConstraintImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/ArbitraryEventConstraintImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/ArbitraryEventConstraintImpl.java
new file mode 100644
index 00000000000..6538ecd2b97
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/ArbitraryEventConstraintImpl.java
@@ -0,0 +1,177 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.timingconstraints.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.eastadl.timing.TimeDuration;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.ArbitraryEventConstraint;
+import org.eclipse.papyrus.eastadl.timing.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.eclipse.papyrus.eastadl.timing.timingconstraints.impl.ArbitraryEventConstraintImpl#getMinimumInterArrivalTime <em>Minimum Inter Arrival Time</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.ArbitraryEventConstraintImpl#getMaximumInterArrivalTime <em>Maximum Inter Arrival Time</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ArbitraryEventConstraintImpl extends EventConstraintImpl implements ArbitraryEventConstraint {
+ /**
+ * The cached value of the '{@link #getMinimumInterArrivalTime() <em>Minimum Inter Arrival Time</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMinimumInterArrivalTime()
+ * @generated
+ * @ordered
+ */
+ protected EList<TimeDuration> minimumInterArrivalTime;
+
+ /**
+ * The cached value of the '{@link #getMaximumInterArrivalTime() <em>Maximum Inter Arrival Time</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMaximumInterArrivalTime()
+ * @generated
+ * @ordered
+ */
+ protected EList<TimeDuration> maximumInterArrivalTime;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ArbitraryEventConstraintImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case TimingconstraintsPackage.ARBITRARY_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME:
+ return getMinimumInterArrivalTime();
+ case TimingconstraintsPackage.ARBITRARY_EVENT_CONSTRAINT__MAXIMUM_INTER_ARRIVAL_TIME:
+ return getMaximumInterArrivalTime();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case TimingconstraintsPackage.ARBITRARY_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME:
+ return minimumInterArrivalTime != null && !minimumInterArrivalTime.isEmpty();
+ case TimingconstraintsPackage.ARBITRARY_EVENT_CONSTRAINT__MAXIMUM_INTER_ARRIVAL_TIME:
+ return maximumInterArrivalTime != null && !maximumInterArrivalTime.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case TimingconstraintsPackage.ARBITRARY_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME:
+ getMinimumInterArrivalTime().clear();
+ getMinimumInterArrivalTime().addAll((Collection<? extends TimeDuration>)newValue);
+ return;
+ case TimingconstraintsPackage.ARBITRARY_EVENT_CONSTRAINT__MAXIMUM_INTER_ARRIVAL_TIME:
+ getMaximumInterArrivalTime().clear();
+ getMaximumInterArrivalTime().addAll((Collection<? extends TimeDuration>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return TimingconstraintsPackage.Literals.ARBITRARY_EVENT_CONSTRAINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case TimingconstraintsPackage.ARBITRARY_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME:
+ getMinimumInterArrivalTime().clear();
+ return;
+ case TimingconstraintsPackage.ARBITRARY_EVENT_CONSTRAINT__MAXIMUM_INTER_ARRIVAL_TIME:
+ getMaximumInterArrivalTime().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TimeDuration> getMaximumInterArrivalTime() {
+ if (maximumInterArrivalTime == null) {
+ maximumInterArrivalTime = new EObjectResolvingEList<TimeDuration>(TimeDuration.class, this, TimingconstraintsPackage.ARBITRARY_EVENT_CONSTRAINT__MAXIMUM_INTER_ARRIVAL_TIME);
+ }
+ return maximumInterArrivalTime;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TimeDuration> getMinimumInterArrivalTime() {
+ if (minimumInterArrivalTime == null) {
+ minimumInterArrivalTime = new EObjectResolvingEList<TimeDuration>(TimeDuration.class, this, TimingconstraintsPackage.ARBITRARY_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME);
+ }
+ return minimumInterArrivalTime;
+ }
+
+} //ArbitraryEventConstraintImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/DelayConstraintImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/DelayConstraintImpl.java
new file mode 100644
index 00000000000..5940d33c0d6
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/DelayConstraintImpl.java
@@ -0,0 +1,289 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.timingconstraints.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.eastadl.timing.EventChain;
+import org.eclipse.papyrus.eastadl.timing.TimeDuration;
+import org.eclipse.papyrus.eastadl.timing.impl.TimingConstraintImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.DelayConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Delay Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.DelayConstraintImpl#getJitter <em>Jitter</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.DelayConstraintImpl#getNominal <em>Nominal</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.DelayConstraintImpl#getScope <em>Scope</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class DelayConstraintImpl extends TimingConstraintImpl implements DelayConstraint {
+ /**
+ * The cached value of the '{@link #getJitter() <em>Jitter</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJitter()
+ * @generated
+ * @ordered
+ */
+ protected TimeDuration jitter;
+
+ /**
+ * The cached value of the '{@link #getNominal() <em>Nominal</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNominal()
+ * @generated
+ * @ordered
+ */
+ protected TimeDuration nominal;
+
+ /**
+ * The cached value of the '{@link #getScope() <em>Scope</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getScope()
+ * @generated
+ * @ordered
+ */
+ protected EventChain scope;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DelayConstraintImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration basicGetJitter() {
+ return jitter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration basicGetNominal() {
+ return nominal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EventChain basicGetScope() {
+ return scope;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case TimingconstraintsPackage.DELAY_CONSTRAINT__JITTER:
+ if (resolve) return getJitter();
+ return basicGetJitter();
+ case TimingconstraintsPackage.DELAY_CONSTRAINT__NOMINAL:
+ if (resolve) return getNominal();
+ return basicGetNominal();
+ case TimingconstraintsPackage.DELAY_CONSTRAINT__SCOPE:
+ if (resolve) return getScope();
+ return basicGetScope();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case TimingconstraintsPackage.DELAY_CONSTRAINT__JITTER:
+ return jitter != null;
+ case TimingconstraintsPackage.DELAY_CONSTRAINT__NOMINAL:
+ return nominal != null;
+ case TimingconstraintsPackage.DELAY_CONSTRAINT__SCOPE:
+ return scope != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case TimingconstraintsPackage.DELAY_CONSTRAINT__JITTER:
+ setJitter((TimeDuration)newValue);
+ return;
+ case TimingconstraintsPackage.DELAY_CONSTRAINT__NOMINAL:
+ setNominal((TimeDuration)newValue);
+ return;
+ case TimingconstraintsPackage.DELAY_CONSTRAINT__SCOPE:
+ setScope((EventChain)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return TimingconstraintsPackage.Literals.DELAY_CONSTRAINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case TimingconstraintsPackage.DELAY_CONSTRAINT__JITTER:
+ setJitter((TimeDuration)null);
+ return;
+ case TimingconstraintsPackage.DELAY_CONSTRAINT__NOMINAL:
+ setNominal((TimeDuration)null);
+ return;
+ case TimingconstraintsPackage.DELAY_CONSTRAINT__SCOPE:
+ setScope((EventChain)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration getJitter() {
+ if (jitter != null && jitter.eIsProxy()) {
+ InternalEObject oldJitter = (InternalEObject)jitter;
+ jitter = (TimeDuration)eResolveProxy(oldJitter);
+ if (jitter != oldJitter) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, TimingconstraintsPackage.DELAY_CONSTRAINT__JITTER, oldJitter, jitter));
+ }
+ }
+ return jitter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration getNominal() {
+ if (nominal != null && nominal.eIsProxy()) {
+ InternalEObject oldNominal = (InternalEObject)nominal;
+ nominal = (TimeDuration)eResolveProxy(oldNominal);
+ if (nominal != oldNominal) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, TimingconstraintsPackage.DELAY_CONSTRAINT__NOMINAL, oldNominal, nominal));
+ }
+ }
+ return nominal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EventChain getScope() {
+ if (scope != null && scope.eIsProxy()) {
+ InternalEObject oldScope = (InternalEObject)scope;
+ scope = (EventChain)eResolveProxy(oldScope);
+ if (scope != oldScope) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, TimingconstraintsPackage.DELAY_CONSTRAINT__SCOPE, oldScope, scope));
+ }
+ }
+ return scope;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setJitter(TimeDuration newJitter) {
+ TimeDuration oldJitter = jitter;
+ jitter = newJitter;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, TimingconstraintsPackage.DELAY_CONSTRAINT__JITTER, oldJitter, jitter));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNominal(TimeDuration newNominal) {
+ TimeDuration oldNominal = nominal;
+ nominal = newNominal;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, TimingconstraintsPackage.DELAY_CONSTRAINT__NOMINAL, oldNominal, nominal));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setScope(EventChain newScope) {
+ EventChain oldScope = scope;
+ scope = newScope;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, TimingconstraintsPackage.DELAY_CONSTRAINT__SCOPE, oldScope, scope));
+ }
+
+} //DelayConstraintImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/EventConstraintImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/EventConstraintImpl.java
new file mode 100644
index 00000000000..8f0f5d58ceb
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/EventConstraintImpl.java
@@ -0,0 +1,229 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.timingconstraints.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.eastadl.timing.Event;
+import org.eclipse.papyrus.eastadl.timing.TimeDuration;
+import org.eclipse.papyrus.eastadl.timing.impl.TimingConstraintImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.EventConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Event Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.EventConstraintImpl#getEvent <em>Event</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.EventConstraintImpl#getOffset <em>Offset</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class EventConstraintImpl extends TimingConstraintImpl implements EventConstraint {
+ /**
+ * The cached value of the '{@link #getEvent() <em>Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEvent()
+ * @generated
+ * @ordered
+ */
+ protected Event event;
+
+ /**
+ * The cached value of the '{@link #getOffset() <em>Offset</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOffset()
+ * @generated
+ * @ordered
+ */
+ protected TimeDuration offset;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EventConstraintImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Event basicGetEvent() {
+ return event;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration basicGetOffset() {
+ return offset;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case TimingconstraintsPackage.EVENT_CONSTRAINT__EVENT:
+ if (resolve) return getEvent();
+ return basicGetEvent();
+ case TimingconstraintsPackage.EVENT_CONSTRAINT__OFFSET:
+ if (resolve) return getOffset();
+ return basicGetOffset();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case TimingconstraintsPackage.EVENT_CONSTRAINT__EVENT:
+ return event != null;
+ case TimingconstraintsPackage.EVENT_CONSTRAINT__OFFSET:
+ return offset != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case TimingconstraintsPackage.EVENT_CONSTRAINT__EVENT:
+ setEvent((Event)newValue);
+ return;
+ case TimingconstraintsPackage.EVENT_CONSTRAINT__OFFSET:
+ setOffset((TimeDuration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return TimingconstraintsPackage.Literals.EVENT_CONSTRAINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case TimingconstraintsPackage.EVENT_CONSTRAINT__EVENT:
+ setEvent((Event)null);
+ return;
+ case TimingconstraintsPackage.EVENT_CONSTRAINT__OFFSET:
+ setOffset((TimeDuration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Event getEvent() {
+ if (event != null && event.eIsProxy()) {
+ InternalEObject oldEvent = (InternalEObject)event;
+ event = (Event)eResolveProxy(oldEvent);
+ if (event != oldEvent) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, TimingconstraintsPackage.EVENT_CONSTRAINT__EVENT, oldEvent, event));
+ }
+ }
+ return event;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration getOffset() {
+ if (offset != null && offset.eIsProxy()) {
+ InternalEObject oldOffset = (InternalEObject)offset;
+ offset = (TimeDuration)eResolveProxy(oldOffset);
+ if (offset != oldOffset) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, TimingconstraintsPackage.EVENT_CONSTRAINT__OFFSET, oldOffset, offset));
+ }
+ }
+ return offset;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEvent(Event newEvent) {
+ Event oldEvent = event;
+ event = newEvent;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, TimingconstraintsPackage.EVENT_CONSTRAINT__EVENT, oldEvent, event));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOffset(TimeDuration newOffset) {
+ TimeDuration oldOffset = offset;
+ offset = newOffset;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, TimingconstraintsPackage.EVENT_CONSTRAINT__OFFSET, oldOffset, offset));
+ }
+
+} //EventConstraintImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/InputSynchronizationConstraintImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/InputSynchronizationConstraintImpl.java
new file mode 100644
index 00000000000..2171df3791c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/InputSynchronizationConstraintImpl.java
@@ -0,0 +1,167 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.timingconstraints.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.eastadl.timing.TimeDuration;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.InputSynchronizationConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.timing.timingconstraints.impl.InputSynchronizationConstraintImpl#getWidth <em>Width</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class InputSynchronizationConstraintImpl extends AgeTimingConstraintImpl implements InputSynchronizationConstraint {
+ /**
+ * The cached value of the '{@link #getWidth() <em>Width</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWidth()
+ * @generated
+ * @ordered
+ */
+ protected TimeDuration width;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InputSynchronizationConstraintImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration basicGetWidth() {
+ return width;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case TimingconstraintsPackage.INPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH:
+ if (resolve) return getWidth();
+ return basicGetWidth();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case TimingconstraintsPackage.INPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH:
+ return width != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case TimingconstraintsPackage.INPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH:
+ setWidth((TimeDuration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return TimingconstraintsPackage.Literals.INPUT_SYNCHRONIZATION_CONSTRAINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case TimingconstraintsPackage.INPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH:
+ setWidth((TimeDuration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration getWidth() {
+ if (width != null && width.eIsProxy()) {
+ InternalEObject oldWidth = (InternalEObject)width;
+ width = (TimeDuration)eResolveProxy(oldWidth);
+ if (width != oldWidth) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, TimingconstraintsPackage.INPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH, oldWidth, width));
+ }
+ }
+ return width;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setWidth(TimeDuration newWidth) {
+ TimeDuration oldWidth = width;
+ width = newWidth;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, TimingconstraintsPackage.INPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH, oldWidth, width));
+ }
+
+} //InputSynchronizationConstraintImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/OutputSynchronizationConstraintImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/OutputSynchronizationConstraintImpl.java
new file mode 100644
index 00000000000..b4f44af7387
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/OutputSynchronizationConstraintImpl.java
@@ -0,0 +1,167 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.timingconstraints.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.eastadl.timing.TimeDuration;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.OutputSynchronizationConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.timing.timingconstraints.impl.OutputSynchronizationConstraintImpl#getWidth <em>Width</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class OutputSynchronizationConstraintImpl extends ReactionConstraintImpl implements OutputSynchronizationConstraint {
+ /**
+ * The cached value of the '{@link #getWidth() <em>Width</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWidth()
+ * @generated
+ * @ordered
+ */
+ protected TimeDuration width;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OutputSynchronizationConstraintImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration basicGetWidth() {
+ return width;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case TimingconstraintsPackage.OUTPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH:
+ if (resolve) return getWidth();
+ return basicGetWidth();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case TimingconstraintsPackage.OUTPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH:
+ return width != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case TimingconstraintsPackage.OUTPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH:
+ setWidth((TimeDuration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return TimingconstraintsPackage.Literals.OUTPUT_SYNCHRONIZATION_CONSTRAINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case TimingconstraintsPackage.OUTPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH:
+ setWidth((TimeDuration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration getWidth() {
+ if (width != null && width.eIsProxy()) {
+ InternalEObject oldWidth = (InternalEObject)width;
+ width = (TimeDuration)eResolveProxy(oldWidth);
+ if (width != oldWidth) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, TimingconstraintsPackage.OUTPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH, oldWidth, width));
+ }
+ }
+ return width;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setWidth(TimeDuration newWidth) {
+ TimeDuration oldWidth = width;
+ width = newWidth;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, TimingconstraintsPackage.OUTPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH, oldWidth, width));
+ }
+
+} //OutputSynchronizationConstraintImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/PatternEventConstraintImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/PatternEventConstraintImpl.java
new file mode 100644
index 00000000000..b7534f1542c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/PatternEventConstraintImpl.java
@@ -0,0 +1,326 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.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.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.eastadl.timing.TimeDuration;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.PatternEventConstraint;
+import org.eclipse.papyrus.eastadl.timing.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.eclipse.papyrus.eastadl.timing.timingconstraints.impl.PatternEventConstraintImpl#getPeriod <em>Period</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.PatternEventConstraintImpl#getMinimumInterArrivalTime <em>Minimum Inter Arrival Time</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.PatternEventConstraintImpl#getOccurence <em>Occurence</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.PatternEventConstraintImpl#getJitter <em>Jitter</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PatternEventConstraintImpl extends EventConstraintImpl implements PatternEventConstraint {
+ /**
+ * The cached value of the '{@link #getPeriod() <em>Period</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPeriod()
+ * @generated
+ * @ordered
+ */
+ protected TimeDuration period;
+
+ /**
+ * The cached value of the '{@link #getMinimumInterArrivalTime() <em>Minimum Inter Arrival Time</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMinimumInterArrivalTime()
+ * @generated
+ * @ordered
+ */
+ protected TimeDuration minimumInterArrivalTime;
+
+ /**
+ * The cached value of the '{@link #getOccurence() <em>Occurence</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOccurence()
+ * @generated
+ * @ordered
+ */
+ protected EList<TimeDuration> occurence;
+
+ /**
+ * The cached value of the '{@link #getJitter() <em>Jitter</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJitter()
+ * @generated
+ * @ordered
+ */
+ protected TimeDuration jitter;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PatternEventConstraintImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration basicGetJitter() {
+ return jitter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration basicGetMinimumInterArrivalTime() {
+ return minimumInterArrivalTime;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration basicGetPeriod() {
+ return 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__PERIOD:
+ if (resolve) return getPeriod();
+ return basicGetPeriod();
+ case TimingconstraintsPackage.PATTERN_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME:
+ if (resolve) return getMinimumInterArrivalTime();
+ return basicGetMinimumInterArrivalTime();
+ case TimingconstraintsPackage.PATTERN_EVENT_CONSTRAINT__OCCURENCE:
+ return getOccurence();
+ case TimingconstraintsPackage.PATTERN_EVENT_CONSTRAINT__JITTER:
+ if (resolve) return getJitter();
+ return basicGetJitter();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case TimingconstraintsPackage.PATTERN_EVENT_CONSTRAINT__PERIOD:
+ return period != null;
+ case TimingconstraintsPackage.PATTERN_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME:
+ return minimumInterArrivalTime != null;
+ case TimingconstraintsPackage.PATTERN_EVENT_CONSTRAINT__OCCURENCE:
+ return occurence != null && !occurence.isEmpty();
+ case TimingconstraintsPackage.PATTERN_EVENT_CONSTRAINT__JITTER:
+ return jitter != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case TimingconstraintsPackage.PATTERN_EVENT_CONSTRAINT__PERIOD:
+ setPeriod((TimeDuration)newValue);
+ return;
+ case TimingconstraintsPackage.PATTERN_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME:
+ setMinimumInterArrivalTime((TimeDuration)newValue);
+ return;
+ case TimingconstraintsPackage.PATTERN_EVENT_CONSTRAINT__OCCURENCE:
+ getOccurence().clear();
+ getOccurence().addAll((Collection<? extends TimeDuration>)newValue);
+ return;
+ case TimingconstraintsPackage.PATTERN_EVENT_CONSTRAINT__JITTER:
+ setJitter((TimeDuration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return TimingconstraintsPackage.Literals.PATTERN_EVENT_CONSTRAINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case TimingconstraintsPackage.PATTERN_EVENT_CONSTRAINT__PERIOD:
+ setPeriod((TimeDuration)null);
+ return;
+ case TimingconstraintsPackage.PATTERN_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME:
+ setMinimumInterArrivalTime((TimeDuration)null);
+ return;
+ case TimingconstraintsPackage.PATTERN_EVENT_CONSTRAINT__OCCURENCE:
+ getOccurence().clear();
+ return;
+ case TimingconstraintsPackage.PATTERN_EVENT_CONSTRAINT__JITTER:
+ setJitter((TimeDuration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration getJitter() {
+ if (jitter != null && jitter.eIsProxy()) {
+ InternalEObject oldJitter = (InternalEObject)jitter;
+ jitter = (TimeDuration)eResolveProxy(oldJitter);
+ if (jitter != oldJitter) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, TimingconstraintsPackage.PATTERN_EVENT_CONSTRAINT__JITTER, oldJitter, jitter));
+ }
+ }
+ return jitter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration getMinimumInterArrivalTime() {
+ if (minimumInterArrivalTime != null && minimumInterArrivalTime.eIsProxy()) {
+ InternalEObject oldMinimumInterArrivalTime = (InternalEObject)minimumInterArrivalTime;
+ minimumInterArrivalTime = (TimeDuration)eResolveProxy(oldMinimumInterArrivalTime);
+ if (minimumInterArrivalTime != oldMinimumInterArrivalTime) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, TimingconstraintsPackage.PATTERN_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME, oldMinimumInterArrivalTime, minimumInterArrivalTime));
+ }
+ }
+ return minimumInterArrivalTime;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TimeDuration> getOccurence() {
+ if (occurence == null) {
+ occurence = new EObjectResolvingEList<TimeDuration>(TimeDuration.class, this, TimingconstraintsPackage.PATTERN_EVENT_CONSTRAINT__OCCURENCE);
+ }
+ return occurence;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration getPeriod() {
+ if (period != null && period.eIsProxy()) {
+ InternalEObject oldPeriod = (InternalEObject)period;
+ period = (TimeDuration)eResolveProxy(oldPeriod);
+ if (period != oldPeriod) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, TimingconstraintsPackage.PATTERN_EVENT_CONSTRAINT__PERIOD, oldPeriod, period));
+ }
+ }
+ return period;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setJitter(TimeDuration newJitter) {
+ TimeDuration 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 void setMinimumInterArrivalTime(TimeDuration newMinimumInterArrivalTime) {
+ TimeDuration oldMinimumInterArrivalTime = minimumInterArrivalTime;
+ minimumInterArrivalTime = newMinimumInterArrivalTime;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, TimingconstraintsPackage.PATTERN_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME, oldMinimumInterArrivalTime, minimumInterArrivalTime));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPeriod(TimeDuration newPeriod) {
+ TimeDuration oldPeriod = period;
+ period = newPeriod;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, TimingconstraintsPackage.PATTERN_EVENT_CONSTRAINT__PERIOD, oldPeriod, period));
+ }
+
+} //PatternEventConstraintImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/PeriodicEventConstraintImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/PeriodicEventConstraintImpl.java
new file mode 100644
index 00000000000..8929e3f2e7b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/PeriodicEventConstraintImpl.java
@@ -0,0 +1,287 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.timingconstraints.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.eastadl.timing.TimeDuration;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.PeriodicEventConstraint;
+import org.eclipse.papyrus.eastadl.timing.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.eclipse.papyrus.eastadl.timing.timingconstraints.impl.PeriodicEventConstraintImpl#getJitter <em>Jitter</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.PeriodicEventConstraintImpl#getPeriod <em>Period</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.PeriodicEventConstraintImpl#getMinimumInterArrivalTime <em>Minimum Inter Arrival Time</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PeriodicEventConstraintImpl extends EventConstraintImpl implements PeriodicEventConstraint {
+ /**
+ * The cached value of the '{@link #getJitter() <em>Jitter</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJitter()
+ * @generated
+ * @ordered
+ */
+ protected TimeDuration jitter;
+
+ /**
+ * The cached value of the '{@link #getPeriod() <em>Period</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPeriod()
+ * @generated
+ * @ordered
+ */
+ protected TimeDuration period;
+
+ /**
+ * The cached value of the '{@link #getMinimumInterArrivalTime() <em>Minimum Inter Arrival Time</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMinimumInterArrivalTime()
+ * @generated
+ * @ordered
+ */
+ protected TimeDuration minimumInterArrivalTime;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PeriodicEventConstraintImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration basicGetJitter() {
+ return jitter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration basicGetMinimumInterArrivalTime() {
+ return minimumInterArrivalTime;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration basicGetPeriod() {
+ return 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__JITTER:
+ if (resolve) return getJitter();
+ return basicGetJitter();
+ case TimingconstraintsPackage.PERIODIC_EVENT_CONSTRAINT__PERIOD:
+ if (resolve) return getPeriod();
+ return basicGetPeriod();
+ case TimingconstraintsPackage.PERIODIC_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME:
+ if (resolve) return getMinimumInterArrivalTime();
+ return basicGetMinimumInterArrivalTime();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case TimingconstraintsPackage.PERIODIC_EVENT_CONSTRAINT__JITTER:
+ return jitter != null;
+ case TimingconstraintsPackage.PERIODIC_EVENT_CONSTRAINT__PERIOD:
+ return period != null;
+ case TimingconstraintsPackage.PERIODIC_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME:
+ return minimumInterArrivalTime != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case TimingconstraintsPackage.PERIODIC_EVENT_CONSTRAINT__JITTER:
+ setJitter((TimeDuration)newValue);
+ return;
+ case TimingconstraintsPackage.PERIODIC_EVENT_CONSTRAINT__PERIOD:
+ setPeriod((TimeDuration)newValue);
+ return;
+ case TimingconstraintsPackage.PERIODIC_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME:
+ setMinimumInterArrivalTime((TimeDuration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return TimingconstraintsPackage.Literals.PERIODIC_EVENT_CONSTRAINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case TimingconstraintsPackage.PERIODIC_EVENT_CONSTRAINT__JITTER:
+ setJitter((TimeDuration)null);
+ return;
+ case TimingconstraintsPackage.PERIODIC_EVENT_CONSTRAINT__PERIOD:
+ setPeriod((TimeDuration)null);
+ return;
+ case TimingconstraintsPackage.PERIODIC_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME:
+ setMinimumInterArrivalTime((TimeDuration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration getJitter() {
+ if (jitter != null && jitter.eIsProxy()) {
+ InternalEObject oldJitter = (InternalEObject)jitter;
+ jitter = (TimeDuration)eResolveProxy(oldJitter);
+ if (jitter != oldJitter) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, TimingconstraintsPackage.PERIODIC_EVENT_CONSTRAINT__JITTER, oldJitter, jitter));
+ }
+ }
+ return jitter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration getMinimumInterArrivalTime() {
+ if (minimumInterArrivalTime != null && minimumInterArrivalTime.eIsProxy()) {
+ InternalEObject oldMinimumInterArrivalTime = (InternalEObject)minimumInterArrivalTime;
+ minimumInterArrivalTime = (TimeDuration)eResolveProxy(oldMinimumInterArrivalTime);
+ if (minimumInterArrivalTime != oldMinimumInterArrivalTime) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, TimingconstraintsPackage.PERIODIC_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME, oldMinimumInterArrivalTime, minimumInterArrivalTime));
+ }
+ }
+ return minimumInterArrivalTime;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration getPeriod() {
+ if (period != null && period.eIsProxy()) {
+ InternalEObject oldPeriod = (InternalEObject)period;
+ period = (TimeDuration)eResolveProxy(oldPeriod);
+ if (period != oldPeriod) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, TimingconstraintsPackage.PERIODIC_EVENT_CONSTRAINT__PERIOD, oldPeriod, period));
+ }
+ }
+ return period;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setJitter(TimeDuration newJitter) {
+ TimeDuration 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 void setMinimumInterArrivalTime(TimeDuration newMinimumInterArrivalTime) {
+ TimeDuration oldMinimumInterArrivalTime = minimumInterArrivalTime;
+ minimumInterArrivalTime = newMinimumInterArrivalTime;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, TimingconstraintsPackage.PERIODIC_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME, oldMinimumInterArrivalTime, minimumInterArrivalTime));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPeriod(TimeDuration newPeriod) {
+ TimeDuration oldPeriod = period;
+ period = newPeriod;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, TimingconstraintsPackage.PERIODIC_EVENT_CONSTRAINT__PERIOD, oldPeriod, period));
+ }
+
+} //PeriodicEventConstraintImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/ReactionConstraintImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/ReactionConstraintImpl.java
new file mode 100644
index 00000000000..99f4063710a
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/ReactionConstraintImpl.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.timingconstraints.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.ReactionConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+
+
+/**
+ * <!-- 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 DelayConstraintImpl implements ReactionConstraint {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReactionConstraintImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return TimingconstraintsPackage.Literals.REACTION_CONSTRAINT;
+ }
+
+} //ReactionConstraintImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/SporadicEventConstraintImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/SporadicEventConstraintImpl.java
new file mode 100644
index 00000000000..8356de0e666
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/SporadicEventConstraintImpl.java
@@ -0,0 +1,347 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.timingconstraints.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.eastadl.timing.TimeDuration;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.SporadicEventConstraint;
+import org.eclipse.papyrus.eastadl.timing.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.eclipse.papyrus.eastadl.timing.timingconstraints.impl.SporadicEventConstraintImpl#getJitter <em>Jitter</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.SporadicEventConstraintImpl#getPeriod <em>Period</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.SporadicEventConstraintImpl#getMaximumInterArrivalTime <em>Maximum Inter Arrival Time</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.SporadicEventConstraintImpl#getMinimumInterArrivalTime <em>Minimum Inter Arrival Time</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SporadicEventConstraintImpl extends EventConstraintImpl implements SporadicEventConstraint {
+ /**
+ * The cached value of the '{@link #getJitter() <em>Jitter</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJitter()
+ * @generated
+ * @ordered
+ */
+ protected TimeDuration jitter;
+
+ /**
+ * The cached value of the '{@link #getPeriod() <em>Period</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPeriod()
+ * @generated
+ * @ordered
+ */
+ protected TimeDuration period;
+
+ /**
+ * The cached value of the '{@link #getMaximumInterArrivalTime() <em>Maximum Inter Arrival Time</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMaximumInterArrivalTime()
+ * @generated
+ * @ordered
+ */
+ protected TimeDuration maximumInterArrivalTime;
+
+ /**
+ * The cached value of the '{@link #getMinimumInterArrivalTime() <em>Minimum Inter Arrival Time</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMinimumInterArrivalTime()
+ * @generated
+ * @ordered
+ */
+ protected TimeDuration minimumInterArrivalTime;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SporadicEventConstraintImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration basicGetJitter() {
+ return jitter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration basicGetMaximumInterArrivalTime() {
+ return maximumInterArrivalTime;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration basicGetMinimumInterArrivalTime() {
+ return minimumInterArrivalTime;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration basicGetPeriod() {
+ return 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__JITTER:
+ if (resolve) return getJitter();
+ return basicGetJitter();
+ case TimingconstraintsPackage.SPORADIC_EVENT_CONSTRAINT__PERIOD:
+ if (resolve) return getPeriod();
+ return basicGetPeriod();
+ case TimingconstraintsPackage.SPORADIC_EVENT_CONSTRAINT__MAXIMUM_INTER_ARRIVAL_TIME:
+ if (resolve) return getMaximumInterArrivalTime();
+ return basicGetMaximumInterArrivalTime();
+ case TimingconstraintsPackage.SPORADIC_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME:
+ if (resolve) return getMinimumInterArrivalTime();
+ return basicGetMinimumInterArrivalTime();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case TimingconstraintsPackage.SPORADIC_EVENT_CONSTRAINT__JITTER:
+ return jitter != null;
+ case TimingconstraintsPackage.SPORADIC_EVENT_CONSTRAINT__PERIOD:
+ return period != null;
+ case TimingconstraintsPackage.SPORADIC_EVENT_CONSTRAINT__MAXIMUM_INTER_ARRIVAL_TIME:
+ return maximumInterArrivalTime != null;
+ case TimingconstraintsPackage.SPORADIC_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME:
+ return minimumInterArrivalTime != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case TimingconstraintsPackage.SPORADIC_EVENT_CONSTRAINT__JITTER:
+ setJitter((TimeDuration)newValue);
+ return;
+ case TimingconstraintsPackage.SPORADIC_EVENT_CONSTRAINT__PERIOD:
+ setPeriod((TimeDuration)newValue);
+ return;
+ case TimingconstraintsPackage.SPORADIC_EVENT_CONSTRAINT__MAXIMUM_INTER_ARRIVAL_TIME:
+ setMaximumInterArrivalTime((TimeDuration)newValue);
+ return;
+ case TimingconstraintsPackage.SPORADIC_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME:
+ setMinimumInterArrivalTime((TimeDuration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return TimingconstraintsPackage.Literals.SPORADIC_EVENT_CONSTRAINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case TimingconstraintsPackage.SPORADIC_EVENT_CONSTRAINT__JITTER:
+ setJitter((TimeDuration)null);
+ return;
+ case TimingconstraintsPackage.SPORADIC_EVENT_CONSTRAINT__PERIOD:
+ setPeriod((TimeDuration)null);
+ return;
+ case TimingconstraintsPackage.SPORADIC_EVENT_CONSTRAINT__MAXIMUM_INTER_ARRIVAL_TIME:
+ setMaximumInterArrivalTime((TimeDuration)null);
+ return;
+ case TimingconstraintsPackage.SPORADIC_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME:
+ setMinimumInterArrivalTime((TimeDuration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration getJitter() {
+ if (jitter != null && jitter.eIsProxy()) {
+ InternalEObject oldJitter = (InternalEObject)jitter;
+ jitter = (TimeDuration)eResolveProxy(oldJitter);
+ if (jitter != oldJitter) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, TimingconstraintsPackage.SPORADIC_EVENT_CONSTRAINT__JITTER, oldJitter, jitter));
+ }
+ }
+ return jitter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration getMaximumInterArrivalTime() {
+ if (maximumInterArrivalTime != null && maximumInterArrivalTime.eIsProxy()) {
+ InternalEObject oldMaximumInterArrivalTime = (InternalEObject)maximumInterArrivalTime;
+ maximumInterArrivalTime = (TimeDuration)eResolveProxy(oldMaximumInterArrivalTime);
+ if (maximumInterArrivalTime != oldMaximumInterArrivalTime) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, TimingconstraintsPackage.SPORADIC_EVENT_CONSTRAINT__MAXIMUM_INTER_ARRIVAL_TIME, oldMaximumInterArrivalTime, maximumInterArrivalTime));
+ }
+ }
+ return maximumInterArrivalTime;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration getMinimumInterArrivalTime() {
+ if (minimumInterArrivalTime != null && minimumInterArrivalTime.eIsProxy()) {
+ InternalEObject oldMinimumInterArrivalTime = (InternalEObject)minimumInterArrivalTime;
+ minimumInterArrivalTime = (TimeDuration)eResolveProxy(oldMinimumInterArrivalTime);
+ if (minimumInterArrivalTime != oldMinimumInterArrivalTime) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, TimingconstraintsPackage.SPORADIC_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME, oldMinimumInterArrivalTime, minimumInterArrivalTime));
+ }
+ }
+ return minimumInterArrivalTime;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimeDuration getPeriod() {
+ if (period != null && period.eIsProxy()) {
+ InternalEObject oldPeriod = (InternalEObject)period;
+ period = (TimeDuration)eResolveProxy(oldPeriod);
+ if (period != oldPeriod) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, TimingconstraintsPackage.SPORADIC_EVENT_CONSTRAINT__PERIOD, oldPeriod, period));
+ }
+ }
+ return period;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setJitter(TimeDuration newJitter) {
+ TimeDuration 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 void setMaximumInterArrivalTime(TimeDuration newMaximumInterArrivalTime) {
+ TimeDuration oldMaximumInterArrivalTime = maximumInterArrivalTime;
+ maximumInterArrivalTime = newMaximumInterArrivalTime;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, TimingconstraintsPackage.SPORADIC_EVENT_CONSTRAINT__MAXIMUM_INTER_ARRIVAL_TIME, oldMaximumInterArrivalTime, maximumInterArrivalTime));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMinimumInterArrivalTime(TimeDuration newMinimumInterArrivalTime) {
+ TimeDuration oldMinimumInterArrivalTime = minimumInterArrivalTime;
+ minimumInterArrivalTime = newMinimumInterArrivalTime;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, TimingconstraintsPackage.SPORADIC_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME, oldMinimumInterArrivalTime, minimumInterArrivalTime));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPeriod(TimeDuration newPeriod) {
+ TimeDuration oldPeriod = period;
+ period = newPeriod;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, TimingconstraintsPackage.SPORADIC_EVENT_CONSTRAINT__PERIOD, oldPeriod, period));
+ }
+
+} //SporadicEventConstraintImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/TimingconstraintsFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/TimingconstraintsFactoryImpl.java
new file mode 100644
index 00000000000..8eaca93e45c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/TimingconstraintsFactoryImpl.java
@@ -0,0 +1,192 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.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.eclipse.papyrus.eastadl.timing.timingconstraints.AgeTimingConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.ArbitraryEventConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.InputSynchronizationConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.OutputSynchronizationConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.PatternEventConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.PeriodicEventConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.ReactionConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.SporadicEventConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsFactory;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TimingconstraintsFactoryImpl extends EFactoryImpl implements TimingconstraintsFactory {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static TimingconstraintsPackage getPackage() {
+ return TimingconstraintsPackage.eINSTANCE;
+ }
+
+ /**
+ * 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.AGE_TIMING_CONSTRAINT: return createAgeTimingConstraint();
+ case TimingconstraintsPackage.INPUT_SYNCHRONIZATION_CONSTRAINT: return createInputSynchronizationConstraint();
+ case TimingconstraintsPackage.OUTPUT_SYNCHRONIZATION_CONSTRAINT: return createOutputSynchronizationConstraint();
+ case TimingconstraintsPackage.REACTION_CONSTRAINT: return createReactionConstraint();
+ case TimingconstraintsPackage.SPORADIC_EVENT_CONSTRAINT: return createSporadicEventConstraint();
+ case TimingconstraintsPackage.PERIODIC_EVENT_CONSTRAINT: return createPeriodicEventConstraint();
+ case TimingconstraintsPackage.PATTERN_EVENT_CONSTRAINT: return createPatternEventConstraint();
+ case TimingconstraintsPackage.ARBITRARY_EVENT_CONSTRAINT: return createArbitraryEventConstraint();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AgeTimingConstraint createAgeTimingConstraint() {
+ AgeTimingConstraintImpl ageTimingConstraint = new AgeTimingConstraintImpl();
+ return ageTimingConstraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ArbitraryEventConstraint createArbitraryEventConstraint() {
+ ArbitraryEventConstraintImpl arbitraryEventConstraint = new ArbitraryEventConstraintImpl();
+ return arbitraryEventConstraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputSynchronizationConstraint createInputSynchronizationConstraint() {
+ InputSynchronizationConstraintImpl inputSynchronizationConstraint = new InputSynchronizationConstraintImpl();
+ return inputSynchronizationConstraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputSynchronizationConstraint createOutputSynchronizationConstraint() {
+ OutputSynchronizationConstraintImpl outputSynchronizationConstraint = new OutputSynchronizationConstraintImpl();
+ return outputSynchronizationConstraint;
+ }
+
+ /**
+ * <!-- 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 ReactionConstraint createReactionConstraint() {
+ ReactionConstraintImpl reactionConstraint = new ReactionConstraintImpl();
+ return reactionConstraint;
+ }
+
+ /**
+ * <!-- 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();
+ }
+
+} //TimingconstraintsFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/TimingconstraintsPackageImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/TimingconstraintsPackageImpl.java
new file mode 100644
index 00000000000..3dab8ab7239
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/impl/TimingconstraintsPackageImpl.java
@@ -0,0 +1,736 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.timingconstraints.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.eastadl.EastadlPackage;
+import org.eclipse.papyrus.eastadl.annex.AnnexPackage;
+import org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.StructurePackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.AgeTimingConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.ArbitraryEventConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.DelayConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.EventConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.InputSynchronizationConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.OutputSynchronizationConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.PatternEventConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.PeriodicEventConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.ReactionConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.SporadicEventConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsFactory;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+
+/**
+ * <!-- 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 delayConstraintEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass ageTimingConstraintEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass eventConstraintEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass inputSynchronizationConstraintEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass outputSynchronizationConstraintEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass reactionConstraintEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass sporadicEventConstraintEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass periodicEventConstraintEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass patternEventConstraintEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass arbitraryEventConstraintEClass = null;
+
+ /**
+ * <!-- 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
+ SysmlPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EastadlPackageImpl theEastadlPackage = (EastadlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) instanceof EastadlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) : EastadlPackage.eINSTANCE);
+ VariabilityPackageImpl theVariabilityPackage = (VariabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) instanceof VariabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI) : VariabilityPackage.eINSTANCE);
+ InfrastructurePackageImpl theInfrastructurePackage = (InfrastructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) instanceof InfrastructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) : InfrastructurePackage.eINSTANCE);
+ DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) instanceof DatatypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) : DatatypesPackage.eINSTANCE);
+ UserattributesPackageImpl theUserattributesPackage = (UserattributesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) instanceof UserattributesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) : UserattributesPackage.eINSTANCE);
+ ElementsPackageImpl theElementsPackage = (ElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) instanceof ElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) : ElementsPackage.eINSTANCE);
+ StructurePackageImpl theStructurePackage = (StructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) instanceof StructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) : StructurePackage.eINSTANCE);
+ FunctionmodelingPackageImpl theFunctionmodelingPackage = (FunctionmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) instanceof FunctionmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) : FunctionmodelingPackage.eINSTANCE);
+ HardwaremodelingPackageImpl theHardwaremodelingPackage = (HardwaremodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) instanceof HardwaremodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) : HardwaremodelingPackage.eINSTANCE);
+ SystemmodelingPackageImpl theSystemmodelingPackage = (SystemmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) instanceof SystemmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) : SystemmodelingPackage.eINSTANCE);
+ VehiclefeaturemodelingPackageImpl theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) instanceof VehiclefeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) : VehiclefeaturemodelingPackage.eINSTANCE);
+ FeaturemodelingPackageImpl theFeaturemodelingPackage = (FeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) instanceof FeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) : FeaturemodelingPackage.eINSTANCE);
+ BehaviorPackageImpl theBehaviorPackage = (BehaviorPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) instanceof BehaviorPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) : BehaviorPackage.eINSTANCE);
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) : RequirementsPackage.eINSTANCE);
+ VerificationvalidationPackageImpl theVerificationvalidationPackage = (VerificationvalidationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) instanceof VerificationvalidationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) : VerificationvalidationPackage.eINSTANCE);
+ TimingPackageImpl theTimingPackage = (TimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) instanceof TimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) : TimingPackage.eINSTANCE);
+ EventsPackageImpl theEventsPackage = (EventsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+ InterchangePackageImpl theInterchangePackage = (InterchangePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) instanceof InterchangePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) : InterchangePackage.eINSTANCE);
+ EnvironmentPackageImpl theEnvironmentPackage = (EnvironmentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) instanceof EnvironmentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) : EnvironmentPackage.eINSTANCE);
+ DependabilityPackageImpl theDependabilityPackage = (DependabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) instanceof DependabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) : DependabilityPackage.eINSTANCE);
+ ErrormodelPackageImpl theErrormodelPackage = (ErrormodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) instanceof ErrormodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) : ErrormodelPackage.eINSTANCE);
+ SafetyrequirementPackageImpl theSafetyrequirementPackage = (SafetyrequirementPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) instanceof SafetyrequirementPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) : SafetyrequirementPackage.eINSTANCE);
+ SafetyconstraintsPackageImpl theSafetyconstraintsPackage = (SafetyconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) instanceof SafetyconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) : SafetyconstraintsPackage.eINSTANCE);
+ SafetycasePackageImpl theSafetycasePackage = (SafetycasePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) instanceof SafetycasePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) : SafetycasePackage.eINSTANCE);
+ AnnexPackageImpl theAnnexPackage = (AnnexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) instanceof AnnexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) : AnnexPackage.eINSTANCE);
+ NeedsPackageImpl theNeedsPackage = (NeedsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) instanceof NeedsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) : NeedsPackage.eINSTANCE);
+ GenericconstraintsPackageImpl theGenericconstraintsPackage = (GenericconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) instanceof GenericconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) : GenericconstraintsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theTimingconstraintsPackage.createPackageContents();
+ theEastadlPackage.createPackageContents();
+ theVariabilityPackage.createPackageContents();
+ theInfrastructurePackage.createPackageContents();
+ theDatatypesPackage.createPackageContents();
+ theUserattributesPackage.createPackageContents();
+ theElementsPackage.createPackageContents();
+ theStructurePackage.createPackageContents();
+ theFunctionmodelingPackage.createPackageContents();
+ theHardwaremodelingPackage.createPackageContents();
+ theSystemmodelingPackage.createPackageContents();
+ theVehiclefeaturemodelingPackage.createPackageContents();
+ theFeaturemodelingPackage.createPackageContents();
+ theBehaviorPackage.createPackageContents();
+ theRequirementsPackage.createPackageContents();
+ theVerificationvalidationPackage.createPackageContents();
+ theTimingPackage.createPackageContents();
+ theEventsPackage.createPackageContents();
+ theInterchangePackage.createPackageContents();
+ theEnvironmentPackage.createPackageContents();
+ theDependabilityPackage.createPackageContents();
+ theErrormodelPackage.createPackageContents();
+ theSafetyrequirementPackage.createPackageContents();
+ theSafetyconstraintsPackage.createPackageContents();
+ theSafetycasePackage.createPackageContents();
+ theAnnexPackage.createPackageContents();
+ theNeedsPackage.createPackageContents();
+ theGenericconstraintsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theTimingconstraintsPackage.initializePackageContents();
+ theEastadlPackage.initializePackageContents();
+ theVariabilityPackage.initializePackageContents();
+ theInfrastructurePackage.initializePackageContents();
+ theDatatypesPackage.initializePackageContents();
+ theUserattributesPackage.initializePackageContents();
+ theElementsPackage.initializePackageContents();
+ theStructurePackage.initializePackageContents();
+ theFunctionmodelingPackage.initializePackageContents();
+ theHardwaremodelingPackage.initializePackageContents();
+ theSystemmodelingPackage.initializePackageContents();
+ theVehiclefeaturemodelingPackage.initializePackageContents();
+ theFeaturemodelingPackage.initializePackageContents();
+ theBehaviorPackage.initializePackageContents();
+ theRequirementsPackage.initializePackageContents();
+ theVerificationvalidationPackage.initializePackageContents();
+ theTimingPackage.initializePackageContents();
+ theEventsPackage.initializePackageContents();
+ theInterchangePackage.initializePackageContents();
+ theEnvironmentPackage.initializePackageContents();
+ theDependabilityPackage.initializePackageContents();
+ theErrormodelPackage.initializePackageContents();
+ theSafetyrequirementPackage.initializePackageContents();
+ theSafetyconstraintsPackage.initializePackageContents();
+ theSafetycasePackage.initializePackageContents();
+ theAnnexPackage.initializePackageContents();
+ theNeedsPackage.initializePackageContents();
+ theGenericconstraintsPackage.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
+ */
+ private boolean isCreated = false;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * 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.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private TimingconstraintsPackageImpl() {
+ super(eNS_URI, TimingconstraintsFactory.eINSTANCE);
+ }
+
+ /**
+ * 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
+ delayConstraintEClass = createEClass(DELAY_CONSTRAINT);
+ createEReference(delayConstraintEClass, DELAY_CONSTRAINT__JITTER);
+ createEReference(delayConstraintEClass, DELAY_CONSTRAINT__NOMINAL);
+ createEReference(delayConstraintEClass, DELAY_CONSTRAINT__SCOPE);
+
+ ageTimingConstraintEClass = createEClass(AGE_TIMING_CONSTRAINT);
+
+ eventConstraintEClass = createEClass(EVENT_CONSTRAINT);
+ createEReference(eventConstraintEClass, EVENT_CONSTRAINT__EVENT);
+ createEReference(eventConstraintEClass, EVENT_CONSTRAINT__OFFSET);
+
+ inputSynchronizationConstraintEClass = createEClass(INPUT_SYNCHRONIZATION_CONSTRAINT);
+ createEReference(inputSynchronizationConstraintEClass, INPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH);
+
+ outputSynchronizationConstraintEClass = createEClass(OUTPUT_SYNCHRONIZATION_CONSTRAINT);
+ createEReference(outputSynchronizationConstraintEClass, OUTPUT_SYNCHRONIZATION_CONSTRAINT__WIDTH);
+
+ reactionConstraintEClass = createEClass(REACTION_CONSTRAINT);
+
+ sporadicEventConstraintEClass = createEClass(SPORADIC_EVENT_CONSTRAINT);
+ createEReference(sporadicEventConstraintEClass, SPORADIC_EVENT_CONSTRAINT__JITTER);
+ createEReference(sporadicEventConstraintEClass, SPORADIC_EVENT_CONSTRAINT__PERIOD);
+ createEReference(sporadicEventConstraintEClass, SPORADIC_EVENT_CONSTRAINT__MAXIMUM_INTER_ARRIVAL_TIME);
+ createEReference(sporadicEventConstraintEClass, SPORADIC_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME);
+
+ periodicEventConstraintEClass = createEClass(PERIODIC_EVENT_CONSTRAINT);
+ createEReference(periodicEventConstraintEClass, PERIODIC_EVENT_CONSTRAINT__JITTER);
+ createEReference(periodicEventConstraintEClass, PERIODIC_EVENT_CONSTRAINT__PERIOD);
+ createEReference(periodicEventConstraintEClass, PERIODIC_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME);
+
+ patternEventConstraintEClass = createEClass(PATTERN_EVENT_CONSTRAINT);
+ createEReference(patternEventConstraintEClass, PATTERN_EVENT_CONSTRAINT__PERIOD);
+ createEReference(patternEventConstraintEClass, PATTERN_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME);
+ createEReference(patternEventConstraintEClass, PATTERN_EVENT_CONSTRAINT__OCCURENCE);
+ createEReference(patternEventConstraintEClass, PATTERN_EVENT_CONSTRAINT__JITTER);
+
+ arbitraryEventConstraintEClass = createEClass(ARBITRARY_EVENT_CONSTRAINT);
+ createEReference(arbitraryEventConstraintEClass, ARBITRARY_EVENT_CONSTRAINT__MINIMUM_INTER_ARRIVAL_TIME);
+ createEReference(arbitraryEventConstraintEClass, ARBITRARY_EVENT_CONSTRAINT__MAXIMUM_INTER_ARRIVAL_TIME);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAgeTimingConstraint() {
+ return ageTimingConstraintEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getArbitraryEventConstraint() {
+ return arbitraryEventConstraintEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getArbitraryEventConstraint_MaximumInterArrivalTime() {
+ return (EReference)arbitraryEventConstraintEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getArbitraryEventConstraint_MinimumInterArrivalTime() {
+ return (EReference)arbitraryEventConstraintEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDelayConstraint() {
+ return delayConstraintEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDelayConstraint_Jitter() {
+ return (EReference)delayConstraintEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDelayConstraint_Nominal() {
+ return (EReference)delayConstraintEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDelayConstraint_Scope() {
+ return (EReference)delayConstraintEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEventConstraint() {
+ return eventConstraintEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEventConstraint_Event() {
+ return (EReference)eventConstraintEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEventConstraint_Offset() {
+ return (EReference)eventConstraintEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInputSynchronizationConstraint() {
+ return inputSynchronizationConstraintEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInputSynchronizationConstraint_Width() {
+ return (EReference)inputSynchronizationConstraintEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOutputSynchronizationConstraint() {
+ return outputSynchronizationConstraintEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOutputSynchronizationConstraint_Width() {
+ return (EReference)outputSynchronizationConstraintEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPatternEventConstraint() {
+ return patternEventConstraintEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPatternEventConstraint_Jitter() {
+ return (EReference)patternEventConstraintEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPatternEventConstraint_MinimumInterArrivalTime() {
+ return (EReference)patternEventConstraintEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPatternEventConstraint_Occurence() {
+ return (EReference)patternEventConstraintEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPatternEventConstraint_Period() {
+ return (EReference)patternEventConstraintEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPeriodicEventConstraint() {
+ return periodicEventConstraintEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPeriodicEventConstraint_Jitter() {
+ return (EReference)periodicEventConstraintEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPeriodicEventConstraint_MinimumInterArrivalTime() {
+ return (EReference)periodicEventConstraintEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPeriodicEventConstraint_Period() {
+ return (EReference)periodicEventConstraintEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getReactionConstraint() {
+ return reactionConstraintEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSporadicEventConstraint() {
+ return sporadicEventConstraintEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSporadicEventConstraint_Jitter() {
+ return (EReference)sporadicEventConstraintEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSporadicEventConstraint_MaximumInterArrivalTime() {
+ return (EReference)sporadicEventConstraintEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSporadicEventConstraint_MinimumInterArrivalTime() {
+ return (EReference)sporadicEventConstraintEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSporadicEventConstraint_Period() {
+ return (EReference)sporadicEventConstraintEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimingconstraintsFactory getTimingconstraintsFactory() {
+ return (TimingconstraintsFactory)getEFactoryInstance();
+ }
+
+ /**
+ * 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
+ TimingPackage theTimingPackage = (TimingPackage)EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ delayConstraintEClass.getESuperTypes().add(theTimingPackage.getTimingConstraint());
+ ageTimingConstraintEClass.getESuperTypes().add(this.getDelayConstraint());
+ eventConstraintEClass.getESuperTypes().add(theTimingPackage.getTimingConstraint());
+ inputSynchronizationConstraintEClass.getESuperTypes().add(this.getAgeTimingConstraint());
+ outputSynchronizationConstraintEClass.getESuperTypes().add(this.getReactionConstraint());
+ reactionConstraintEClass.getESuperTypes().add(this.getDelayConstraint());
+ sporadicEventConstraintEClass.getESuperTypes().add(this.getEventConstraint());
+ periodicEventConstraintEClass.getESuperTypes().add(this.getEventConstraint());
+ patternEventConstraintEClass.getESuperTypes().add(this.getEventConstraint());
+ arbitraryEventConstraintEClass.getESuperTypes().add(this.getEventConstraint());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(delayConstraintEClass, DelayConstraint.class, "DelayConstraint", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDelayConstraint_Jitter(), theTimingPackage.getTimeDuration(), null, "jitter", null, 0, 1, DelayConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getDelayConstraint_Nominal(), theTimingPackage.getTimeDuration(), null, "nominal", null, 0, 1, DelayConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getDelayConstraint_Scope(), theTimingPackage.getEventChain(), null, "scope", null, 0, 1, DelayConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(ageTimingConstraintEClass, AgeTimingConstraint.class, "AgeTimingConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(eventConstraintEClass, EventConstraint.class, "EventConstraint", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getEventConstraint_Event(), theTimingPackage.getEvent(), null, "event", null, 0, 1, EventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getEventConstraint_Offset(), theTimingPackage.getTimeDuration(), null, "offset", null, 0, 1, EventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(inputSynchronizationConstraintEClass, InputSynchronizationConstraint.class, "InputSynchronizationConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getInputSynchronizationConstraint_Width(), theTimingPackage.getTimeDuration(), null, "width", null, 1, 1, InputSynchronizationConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(outputSynchronizationConstraintEClass, OutputSynchronizationConstraint.class, "OutputSynchronizationConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getOutputSynchronizationConstraint_Width(), theTimingPackage.getTimeDuration(), null, "width", null, 1, 1, OutputSynchronizationConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(reactionConstraintEClass, ReactionConstraint.class, "ReactionConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(sporadicEventConstraintEClass, SporadicEventConstraint.class, "SporadicEventConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getSporadicEventConstraint_Jitter(), theTimingPackage.getTimeDuration(), null, "jitter", null, 0, 1, SporadicEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSporadicEventConstraint_Period(), theTimingPackage.getTimeDuration(), null, "period", null, 1, 1, SporadicEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSporadicEventConstraint_MaximumInterArrivalTime(), theTimingPackage.getTimeDuration(), null, "maximumInterArrivalTime", null, 0, 1, SporadicEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSporadicEventConstraint_MinimumInterArrivalTime(), theTimingPackage.getTimeDuration(), null, "minimumInterArrivalTime", null, 1, 1, SporadicEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(periodicEventConstraintEClass, PeriodicEventConstraint.class, "PeriodicEventConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPeriodicEventConstraint_Jitter(), theTimingPackage.getTimeDuration(), null, "jitter", null, 1, 1, PeriodicEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getPeriodicEventConstraint_Period(), theTimingPackage.getTimeDuration(), null, "period", null, 1, 1, PeriodicEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getPeriodicEventConstraint_MinimumInterArrivalTime(), theTimingPackage.getTimeDuration(), null, "minimumInterArrivalTime", null, 1, 1, PeriodicEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(patternEventConstraintEClass, PatternEventConstraint.class, "PatternEventConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPatternEventConstraint_Period(), theTimingPackage.getTimeDuration(), null, "period", null, 1, 1, PatternEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getPatternEventConstraint_MinimumInterArrivalTime(), theTimingPackage.getTimeDuration(), null, "minimumInterArrivalTime", null, 1, 1, PatternEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getPatternEventConstraint_Occurence(), theTimingPackage.getTimeDuration(), null, "occurence", null, 1, -1, PatternEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPatternEventConstraint_Jitter(), theTimingPackage.getTimeDuration(), null, "jitter", null, 1, 1, PatternEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(arbitraryEventConstraintEClass, ArbitraryEventConstraint.class, "ArbitraryEventConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getArbitraryEventConstraint_MinimumInterArrivalTime(), theTimingPackage.getTimeDuration(), null, "minimumInterArrivalTime", null, 1, -1, ArbitraryEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getArbitraryEventConstraint_MaximumInterArrivalTime(), theTimingPackage.getTimeDuration(), null, "maximumInterArrivalTime", null, 1, -1, ArbitraryEventConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ }
+
+} //TimingconstraintsPackageImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/util/TimingconstraintsAdapterFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/util/TimingconstraintsAdapterFactory.java
new file mode 100644
index 00000000000..89575969e79
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/util/TimingconstraintsAdapterFactory.java
@@ -0,0 +1,341 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.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.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.timing.TimingConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.AgeTimingConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.ArbitraryEventConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.DelayConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.EventConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.InputSynchronizationConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.OutputSynchronizationConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.PatternEventConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.PeriodicEventConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.ReactionConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.SporadicEventConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage
+ * @generated
+ */
+public class TimingconstraintsAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static TimingconstraintsPackage modelPackage;
+
+ /**
+ * 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 caseDelayConstraint(DelayConstraint object) {
+ return createDelayConstraintAdapter();
+ }
+ @Override
+ public Adapter caseAgeTimingConstraint(AgeTimingConstraint object) {
+ return createAgeTimingConstraintAdapter();
+ }
+ @Override
+ public Adapter caseEventConstraint(EventConstraint object) {
+ return createEventConstraintAdapter();
+ }
+ @Override
+ public Adapter caseInputSynchronizationConstraint(InputSynchronizationConstraint object) {
+ return createInputSynchronizationConstraintAdapter();
+ }
+ @Override
+ public Adapter caseOutputSynchronizationConstraint(OutputSynchronizationConstraint object) {
+ return createOutputSynchronizationConstraintAdapter();
+ }
+ @Override
+ public Adapter caseReactionConstraint(ReactionConstraint object) {
+ return createReactionConstraintAdapter();
+ }
+ @Override
+ public Adapter caseSporadicEventConstraint(SporadicEventConstraint object) {
+ return createSporadicEventConstraintAdapter();
+ }
+ @Override
+ public Adapter casePeriodicEventConstraint(PeriodicEventConstraint object) {
+ return createPeriodicEventConstraintAdapter();
+ }
+ @Override
+ public Adapter casePatternEventConstraint(PatternEventConstraint object) {
+ return createPatternEventConstraintAdapter();
+ }
+ @Override
+ public Adapter caseArbitraryEventConstraint(ArbitraryEventConstraint object) {
+ return createArbitraryEventConstraintAdapter();
+ }
+ @Override
+ public Adapter caseEAElement(EAElement object) {
+ return createEAElementAdapter();
+ }
+ @Override
+ public Adapter caseTimingConstraint(TimingConstraint object) {
+ return createTimingConstraintAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimingconstraintsAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = TimingconstraintsPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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.eclipse.papyrus.eastadl.timing.timingconstraints.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.eclipse.papyrus.eastadl.timing.timingconstraints.AgeTimingConstraint
+ * @generated
+ */
+ public Adapter createAgeTimingConstraintAdapter() {
+ return null;
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.timing.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.eclipse.papyrus.eastadl.timing.timingconstraints.ArbitraryEventConstraint
+ * @generated
+ */
+ public Adapter createArbitraryEventConstraintAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement <em>EA Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAElement
+ * @generated
+ */
+ public Adapter createEAElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.DelayConstraint <em>Delay 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.eastadl.timing.timingconstraints.DelayConstraint
+ * @generated
+ */
+ public Adapter createDelayConstraintAdapter() {
+ 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;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.EventConstraint <em>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.eclipse.papyrus.eastadl.timing.timingconstraints.EventConstraint
+ * @generated
+ */
+ public Adapter createEventConstraintAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.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.eclipse.papyrus.eastadl.timing.timingconstraints.InputSynchronizationConstraint
+ * @generated
+ */
+ public Adapter createInputSynchronizationConstraintAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.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.eclipse.papyrus.eastadl.timing.timingconstraints.OutputSynchronizationConstraint
+ * @generated
+ */
+ public Adapter createOutputSynchronizationConstraintAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.timing.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.eclipse.papyrus.eastadl.timing.timingconstraints.PatternEventConstraint
+ * @generated
+ */
+ public Adapter createPatternEventConstraintAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.timing.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.eclipse.papyrus.eastadl.timing.timingconstraints.PeriodicEventConstraint
+ * @generated
+ */
+ public Adapter createPeriodicEventConstraintAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.timing.timingconstraints.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.eclipse.papyrus.eastadl.timing.timingconstraints.ReactionConstraint
+ * @generated
+ */
+ public Adapter createReactionConstraintAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.timing.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.eclipse.papyrus.eastadl.timing.timingconstraints.SporadicEventConstraint
+ * @generated
+ */
+ public Adapter createSporadicEventConstraintAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.timing.TimingConstraint <em>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.eastadl.timing.TimingConstraint
+ * @generated
+ */
+ public Adapter createTimingConstraintAdapter() {
+ return null;
+ }
+
+ /**
+ * 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;
+ }
+
+} //TimingconstraintsAdapterFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/util/TimingconstraintsResourceFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/util/TimingconstraintsResourceFactoryImpl.java
new file mode 100644
index 00000000000..bb59d3a6374
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/util/TimingconstraintsResourceFactoryImpl.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.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.eclipse.papyrus.eastadl.timing.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/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/util/TimingconstraintsResourceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/util/TimingconstraintsResourceImpl.java
new file mode 100644
index 00000000000..647649d7f37
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/util/TimingconstraintsResourceImpl.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.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.eclipse.papyrus.eastadl.timing.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/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/util/TimingconstraintsSwitch.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/util/TimingconstraintsSwitch.java
new file mode 100644
index 00000000000..42b7063477f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/util/TimingconstraintsSwitch.java
@@ -0,0 +1,383 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.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.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.timing.TimingConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.AgeTimingConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.ArbitraryEventConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.DelayConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.EventConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.InputSynchronizationConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.OutputSynchronizationConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.PatternEventConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.PeriodicEventConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.ReactionConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.SporadicEventConstraint;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.timing.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;
+ }
+
+ /**
+ * 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>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>EA Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAElement(EAElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Delay 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>Delay Constraint</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDelayConstraint(DelayConstraint object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>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>Event Constraint</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEventConstraint(EventConstraint 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>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>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>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>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>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>Constraint</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTimingConstraint(TimingConstraint 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;
+ }
+
+ /**
+ * 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.DELAY_CONSTRAINT: {
+ DelayConstraint delayConstraint = (DelayConstraint)theEObject;
+ T result = caseDelayConstraint(delayConstraint);
+ if (result == null) result = caseTimingConstraint(delayConstraint);
+ if (result == null) result = caseEAElement(delayConstraint);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case TimingconstraintsPackage.AGE_TIMING_CONSTRAINT: {
+ AgeTimingConstraint ageTimingConstraint = (AgeTimingConstraint)theEObject;
+ T result = caseAgeTimingConstraint(ageTimingConstraint);
+ if (result == null) result = caseDelayConstraint(ageTimingConstraint);
+ if (result == null) result = caseTimingConstraint(ageTimingConstraint);
+ if (result == null) result = caseEAElement(ageTimingConstraint);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case TimingconstraintsPackage.EVENT_CONSTRAINT: {
+ EventConstraint eventConstraint = (EventConstraint)theEObject;
+ T result = caseEventConstraint(eventConstraint);
+ if (result == null) result = caseTimingConstraint(eventConstraint);
+ if (result == null) result = caseEAElement(eventConstraint);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case TimingconstraintsPackage.INPUT_SYNCHRONIZATION_CONSTRAINT: {
+ InputSynchronizationConstraint inputSynchronizationConstraint = (InputSynchronizationConstraint)theEObject;
+ T result = caseInputSynchronizationConstraint(inputSynchronizationConstraint);
+ if (result == null) result = caseAgeTimingConstraint(inputSynchronizationConstraint);
+ if (result == null) result = caseDelayConstraint(inputSynchronizationConstraint);
+ if (result == null) result = caseTimingConstraint(inputSynchronizationConstraint);
+ if (result == null) result = caseEAElement(inputSynchronizationConstraint);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case TimingconstraintsPackage.OUTPUT_SYNCHRONIZATION_CONSTRAINT: {
+ OutputSynchronizationConstraint outputSynchronizationConstraint = (OutputSynchronizationConstraint)theEObject;
+ T result = caseOutputSynchronizationConstraint(outputSynchronizationConstraint);
+ if (result == null) result = caseReactionConstraint(outputSynchronizationConstraint);
+ if (result == null) result = caseDelayConstraint(outputSynchronizationConstraint);
+ if (result == null) result = caseTimingConstraint(outputSynchronizationConstraint);
+ if (result == null) result = caseEAElement(outputSynchronizationConstraint);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case TimingconstraintsPackage.REACTION_CONSTRAINT: {
+ ReactionConstraint reactionConstraint = (ReactionConstraint)theEObject;
+ T result = caseReactionConstraint(reactionConstraint);
+ if (result == null) result = caseDelayConstraint(reactionConstraint);
+ if (result == null) result = caseTimingConstraint(reactionConstraint);
+ if (result == null) result = caseEAElement(reactionConstraint);
+ 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 = caseEventConstraint(sporadicEventConstraint);
+ if (result == null) result = caseTimingConstraint(sporadicEventConstraint);
+ if (result == null) result = caseEAElement(sporadicEventConstraint);
+ 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 = caseEventConstraint(periodicEventConstraint);
+ if (result == null) result = caseTimingConstraint(periodicEventConstraint);
+ if (result == null) result = caseEAElement(periodicEventConstraint);
+ 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 = caseEventConstraint(patternEventConstraint);
+ if (result == null) result = caseTimingConstraint(patternEventConstraint);
+ if (result == null) result = caseEAElement(patternEventConstraint);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case TimingconstraintsPackage.ARBITRARY_EVENT_CONSTRAINT: {
+ ArbitraryEventConstraint arbitraryEventConstraint = (ArbitraryEventConstraint)theEObject;
+ T result = caseArbitraryEventConstraint(arbitraryEventConstraint);
+ if (result == null) result = caseEventConstraint(arbitraryEventConstraint);
+ if (result == null) result = caseTimingConstraint(arbitraryEventConstraint);
+ if (result == null) result = caseEAElement(arbitraryEventConstraint);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+} //TimingconstraintsSwitch
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/util/TimingconstraintsXMLProcessor.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/util/TimingconstraintsXMLProcessor.java
new file mode 100644
index 00000000000..cce087363a3
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/timingconstraints/util/TimingconstraintsXMLProcessor.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.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.eclipse.papyrus.eastadl.timing.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/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/util/TimingAdapterFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/util/TimingAdapterFactory.java
new file mode 100644
index 00000000000..169cb7b1b68
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/util/TimingAdapterFactory.java
@@ -0,0 +1,295 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.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.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.timing.Event;
+import org.eclipse.papyrus.eastadl.timing.EventChain;
+import org.eclipse.papyrus.eastadl.timing.ExecutionTimeConstraint;
+import org.eclipse.papyrus.eastadl.timing.PrecedenceConstraint;
+import org.eclipse.papyrus.eastadl.timing.TimeDuration;
+import org.eclipse.papyrus.eastadl.timing.Timing;
+import org.eclipse.papyrus.eastadl.timing.TimingConstraint;
+import org.eclipse.papyrus.eastadl.timing.TimingDescription;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.timing.TimingPackage
+ * @generated
+ */
+public class TimingAdapterFactory extends AdapterFactoryImpl {
+
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected static TimingPackage modelPackage;
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ protected TimingSwitch<Adapter> modelSwitch = new TimingSwitch<Adapter>() {
+ @Override
+ public Adapter caseTimingDescription(TimingDescription object) {
+ return createTimingDescriptionAdapter();
+ }
+ @Override
+ public Adapter caseTimingConstraint(TimingConstraint object) {
+ return createTimingConstraintAdapter();
+ }
+ @Override
+ public Adapter caseTimeDuration(TimeDuration object) {
+ return createTimeDurationAdapter();
+ }
+ @Override
+ public Adapter caseTiming(Timing object) {
+ return createTimingAdapter();
+ }
+ @Override
+ public Adapter caseEventChain(EventChain object) {
+ return createEventChainAdapter();
+ }
+ @Override
+ public Adapter caseEvent(Event object) {
+ return createEventAdapter();
+ }
+ @Override
+ public Adapter caseExecutionTimeConstraint(ExecutionTimeConstraint object) {
+ return createExecutionTimeConstraintAdapter();
+ }
+ @Override
+ public Adapter casePrecedenceConstraint(PrecedenceConstraint object) {
+ return createPrecedenceConstraintAdapter();
+ }
+ @Override
+ public Adapter caseEAElement(EAElement object) {
+ return createEAElementAdapter();
+ }
+ @Override
+ public Adapter caseContext(Context object) {
+ return createContextAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public TimingAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = TimingPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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.eclipse.papyrus.eastadl.infrastructure.elements.Context <em>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.eastadl.infrastructure.elements.Context
+ * @generated
+ */
+ public Adapter createContextAdapter() {
+ 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;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.timing.Event <em>Event</em>}'.
+ * <!-- begin-user-doc
+ * --> This default implementation returns null so that we can easily ignore cases; 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.eastadl.timing.Event
+ * @generated
+ */
+ public Adapter createEventAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.eastadl.timing.EventChain <em>Event Chain</em>}'. <!--
+ * begin-user-doc --> This default implementation returns null so that we can easily ignore
+ * cases; 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.eastadl.timing.EventChain
+ * @generated
+ */
+ public Adapter createEventChainAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.timing.ExecutionTimeConstraint <em>Execution Time 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.eastadl.timing.ExecutionTimeConstraint
+ * @generated
+ */
+ public Adapter createExecutionTimeConstraintAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.timing.PrecedenceConstraint <em>Precedence 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.eastadl.timing.PrecedenceConstraint
+ * @generated
+ */
+ public Adapter createPrecedenceConstraintAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement <em>EA Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAElement
+ * @generated
+ */
+ public Adapter createEAElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.timing.TimeDuration <em>Time Duration</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.timing.TimeDuration
+ * @generated
+ */
+ public Adapter createTimeDurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.papyrus.eastadl.timing.Timing <em>Timing</em>}'. <!--
+ * begin-user-doc --> This default implementation returns null so that we can easily ignore
+ * cases; 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.eastadl.timing.Timing
+ * @generated
+ */
+ public Adapter createTimingAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.timing.TimingConstraint <em>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.eastadl.timing.TimingConstraint
+ * @generated
+ */
+ public Adapter createTimingConstraintAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.timing.TimingDescription <em>Description</em>}'.
+ * <!-- begin-user-doc --> This default implementation returns null so that we can easily ignore
+ * cases; 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.eastadl.timing.TimingDescription
+ * @generated
+ */
+ public Adapter createTimingDescriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * 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;
+ }
+
+} // TimingAdapterFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/util/TimingResourceFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/util/TimingResourceFactoryImpl.java
new file mode 100644
index 00000000000..2ff8b66e538
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/util/TimingResourceFactoryImpl.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.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.eclipse.papyrus.eastadl.timing.util.TimingResourceImpl
+ * @generated
+ */
+public class TimingResourceFactoryImpl extends ResourceFactoryImpl {
+
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public TimingResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new TimingResourceImpl(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;
+ }
+
+} // TimingResourceFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/util/TimingResourceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/util/TimingResourceImpl.java
new file mode 100644
index 00000000000..2d833efb543
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/util/TimingResourceImpl.java
@@ -0,0 +1,38 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.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.eclipse.papyrus.eastadl.timing.util.TimingResourceFactoryImpl
+ * @generated
+ */
+public class TimingResourceImpl extends XMLResourceImpl {
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public TimingResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} // TimingResourceImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/util/TimingSwitch.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/util/TimingSwitch.java
new file mode 100644
index 00000000000..61490af3267
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/util/TimingSwitch.java
@@ -0,0 +1,316 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.timing.Event;
+import org.eclipse.papyrus.eastadl.timing.EventChain;
+import org.eclipse.papyrus.eastadl.timing.ExecutionTimeConstraint;
+import org.eclipse.papyrus.eastadl.timing.PrecedenceConstraint;
+import org.eclipse.papyrus.eastadl.timing.TimeDuration;
+import org.eclipse.papyrus.eastadl.timing.Timing;
+import org.eclipse.papyrus.eastadl.timing.TimingConstraint;
+import org.eclipse.papyrus.eastadl.timing.TimingDescription;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.timing.TimingPackage
+ * @generated
+ */
+public class TimingSwitch<T> extends Switch<T> {
+
+ /**
+ * The cached model package
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected static TimingPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public TimingSwitch() {
+ if (modelPackage == null) {
+ modelPackage = TimingPackage.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;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>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>Context</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseContext(Context object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Event</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will
+ * terminate the switch. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Event</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEvent(Event object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Event Chain</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will
+ * terminate the switch. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Event Chain</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEventChain(EventChain object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Execution Time 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>Execution Time Constraint</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseExecutionTimeConstraint(ExecutionTimeConstraint object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Precedence 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>Precedence Constraint</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePrecedenceConstraint(PrecedenceConstraint object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAElement(EAElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Time Duration</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Time Duration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTimeDuration(TimeDuration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Timing</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will
+ * terminate 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</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTiming(Timing object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>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>Constraint</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTimingConstraint(TimingConstraint object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Description</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will
+ * terminate the switch. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTimingDescription(TimingDescription 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;
+ }
+
+ /**
+ * 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 TimingPackage.TIMING_DESCRIPTION: {
+ TimingDescription timingDescription = (TimingDescription)theEObject;
+ T result = caseTimingDescription(timingDescription);
+ if (result == null) result = caseEAElement(timingDescription);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case TimingPackage.TIMING_CONSTRAINT: {
+ TimingConstraint timingConstraint = (TimingConstraint)theEObject;
+ T result = caseTimingConstraint(timingConstraint);
+ if (result == null) result = caseEAElement(timingConstraint);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case TimingPackage.TIME_DURATION: {
+ TimeDuration timeDuration = (TimeDuration)theEObject;
+ T result = caseTimeDuration(timeDuration);
+ if (result == null) result = caseEAElement(timeDuration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case TimingPackage.TIMING: {
+ Timing timing = (Timing)theEObject;
+ T result = caseTiming(timing);
+ if (result == null) result = caseContext(timing);
+ if (result == null) result = caseEAElement(timing);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case TimingPackage.EVENT_CHAIN: {
+ EventChain eventChain = (EventChain)theEObject;
+ T result = caseEventChain(eventChain);
+ if (result == null) result = caseTimingDescription(eventChain);
+ if (result == null) result = caseEAElement(eventChain);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case TimingPackage.EVENT: {
+ Event event = (Event)theEObject;
+ T result = caseEvent(event);
+ if (result == null) result = caseTimingDescription(event);
+ if (result == null) result = caseEAElement(event);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case TimingPackage.EXECUTION_TIME_CONSTRAINT: {
+ ExecutionTimeConstraint executionTimeConstraint = (ExecutionTimeConstraint)theEObject;
+ T result = caseExecutionTimeConstraint(executionTimeConstraint);
+ if (result == null) result = caseTimingConstraint(executionTimeConstraint);
+ if (result == null) result = caseEAElement(executionTimeConstraint);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case TimingPackage.PRECEDENCE_CONSTRAINT: {
+ PrecedenceConstraint precedenceConstraint = (PrecedenceConstraint)theEObject;
+ T result = casePrecedenceConstraint(precedenceConstraint);
+ if (result == null) result = caseTimingConstraint(precedenceConstraint);
+ if (result == null) result = caseEAElement(precedenceConstraint);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+} // TimingSwitch
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/util/TimingXMLProcessor.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/util/TimingXMLProcessor.java
new file mode 100644
index 00000000000..2afe8d0a0eb
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/timing/util/TimingXMLProcessor.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.timing.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.eclipse.papyrus.eastadl.timing.TimingPackage;
+
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ */
+public class TimingXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public TimingXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ TimingPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the TimingResourceFactoryImpl 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 TimingResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new TimingResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} // TimingXMLProcessor
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/util/EastadlResourceFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/util/EastadlResourceFactoryImpl.java
new file mode 100644
index 00000000000..7c85583d490
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/util/EastadlResourceFactoryImpl.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+/**
+ * <!-- begin-user-doc --> The <b>Resource Factory</b> associated with the package. <!--
+ * end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.util.EastadlResourceImpl
+ * @generated
+ */
+public class EastadlResourceFactoryImpl extends ResourceFactoryImpl {
+
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EastadlResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ Resource result = new EastadlResourceImpl(uri);
+ return result;
+ }
+
+} // EastadlResourceFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/util/EastadlResourceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/util/EastadlResourceImpl.java
new file mode 100644
index 00000000000..1ec2b80a464
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/util/EastadlResourceImpl.java
@@ -0,0 +1,38 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.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.eclipse.papyrus.eastadl.util.EastadlResourceFactoryImpl
+ * @generated
+ */
+public class EastadlResourceImpl extends XMLResourceImpl {
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public EastadlResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} // EastadlResourceImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/util/EastadlXMLProcessor.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/util/EastadlXMLProcessor.java
new file mode 100644
index 00000000000..5f346eab0eb
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/util/EastadlXMLProcessor.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.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.eclipse.papyrus.eastadl.EastadlPackage;
+
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ */
+public class EastadlXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EastadlXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ EastadlPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the EastadlResourceFactoryImpl 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 EastadlResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new EastadlResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} // EastadlXMLProcessor
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/utils/EASTResource.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/utils/EASTResource.java
new file mode 100644
index 00000000000..f044057e67a
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/utils/EASTResource.java
@@ -0,0 +1,378 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.eastadl.utils;
+
+/**
+ * Stereotype ids (QualifiedName) Useful to retrieve applicable or applied stereotypes
+ *
+ */
+public interface EASTResource {
+
+ public static String ACTUATOR_ID = "EAST-ADL2::Structure::HardwareModeling::Actuator";
+
+ public static String AGETIMINGCONSTRAINT_ID = "EAST-ADL2::Timing::TimingConstraints::AgeTimingConstraint";
+
+ public static String ALLOCATEABLEELEMENT_ID = "EAST-ADL2::Structure::FunctionModeling::AllocateableElement";
+
+ public static String ALLOCATION_ID = "EAST-ADL2::Structure::FunctionModeling::Allocation";
+
+ public static String ALLOCATIONTARGET_ID = "EAST-ADL2::Structure::HardwareModeling::AllocationTarget";
+
+ public static String ANALYSISFUNCTIONPROTOTYPE_ID = "EAST-ADL2::Structure::FunctionModeling::AnalysisFunctionPrototype";
+
+ public static String ANALYSISFUNCTIONTYPE_ID = "EAST-ADL2::Structure::FunctionModeling::AnalysisFunctionType";
+
+ public static String ANALYSISLEVEL_ID = "EAST-ADL2::Structure::SystemModeling::AnalysisLevel";
+
+ public static String ANOMALY_ID = "EAST-ADL2::Dependability::ErrorModel::Anomaly";
+
+ public static String ARBITRARYEVENTCONSTRAINT_ID = "EAST-ADL2::Timing::TimingConstraints::ArbitraryEventConstraint";
+
+ public static String ARCHITECTURALDESCRIPTION_ID = "EAST-ADL2::Annex::Needs::ArchitecturalDescription";
+
+ public static String ARCHITECTURALMODEL_ID = "EAST-ADL2::Annex::Needs::ArchitecturalModel";
+
+ public static String ARCHITECTURE_ID = "EAST-ADL2::Annex::Needs::Architecture";
+
+ public static String BASICSOFTWAREFUNCTIONTYPE_ID = "EAST-ADL2::Structure::FunctionModeling::BasicSoftwareFunctionType";
+
+ public static String BINDINGTIME_ID = "EAST-ADL2::Structure::FeatureModeling::BindingTime";
+
+ public static String BUSINESSOPPORTUNITY_ID = "EAST-ADL2::Annex::Needs::BusinessOpportunity";
+
+ public static String CLAIM_ID = "EAST-ADL2::Dependability::SafetyCase::Claim";
+
+ public static String CLAMPCONNECTOR_ID = "EAST-ADL2::Environment::ClampConnector";
+
+ public static String COMMUNICATIONHARDWAREPIN_ID = "EAST-ADL2::Structure::HardwareModeling::CommunicationHardwarePin";
+
+ public static String COMPOSITEDATATYPE_ID = "EAST-ADL2::Infrastructure::Datatypes::CompositeDatatype";
+
+ public static String CONCEPT_ID = "EAST-ADL2::Annex::Needs::Concept";
+
+ public static String CONFIGURABLECONTAINER_ID = "EAST-ADL2::Variability::ConfigurableContainer";
+
+ public static String CONFIGURATIONDECISION_ID = "EAST-ADL2::Variability::ConfigurationDecision";
+
+ public static String CONFIGURATIONDECISIONFOLDER_ID = "EAST-ADL2::Variability::ConfigurationDecisionFolder";
+
+ public static String CONFIGURATIONDECISIONMODEL_ID = "EAST-ADL2::Variability::ConfigurationDecisionModel";
+
+ public static String CONFIGURATIONDECISIONMODELENTRY_ID = "EAST-ADL2::Variability::ConfigurationDecisionModelEntry";
+
+ public static String CONTAINERCONFIGURATION_ID = "EAST-ADL2::Variability::ContainerConfiguration";
+
+ public static String CONTEXT_ID = "EAST-ADL2::Infrastructure::Elements::Context";
+
+ public static String DELAYCONSTRAINT_ID = "EAST-ADL2::Timing::TimingConstraints::DelayConstraint";
+
+ public static String DERIVEREQUIREMENT_ID = "EAST-ADL2::Requirements::DeriveRequirement";
+
+ public static String DESIGNFUNCTIONPROTOTYPE_ID = "EAST-ADL2::Structure::FunctionModeling::DesignFunctionPrototype";
+
+ public static String DESIGNFUNCTIONTYPE_ID = "EAST-ADL2::Structure::FunctionModeling::DesignFunctionType";
+
+ public static String DESIGNLEVEL_ID = "EAST-ADL2::Structure::SystemModeling::DesignLevel";
+
+ public static String DEVIATIONATTRIBUTESET_ID = "EAST-ADL2::Structure::VehicleFeatureModeling::DeviationAttributeSet";
+
+ public static String EADATATYPE_ID = "EAST-ADL2::Infrastructure::Datatypes::EADatatype";
+
+ public static String EAFLOAT_ID = "EAST-ADL2::Infrastructure::Datatypes::EAFloat";
+
+ public static String EAINTEGER_ID = "EAST-ADL2::Infrastructure::Datatypes::EAInteger";
+
+ public static String EABOOLEAN_ID = "EAST-ADL2::Infrastructure::Datatypes::EABoolean";
+
+ public static String EASTRING_ID = "EAST-ADL2::Infrastructure::Datatypes::EAString";
+
+ public static String EADATATYPEPROTOTYPE_ID = "EAST-ADL2::Infrastructure::Datatypes::EADatatypePrototype";
+
+ public static String EAELEMENT_ID = "EAST-ADL2::Infrastructure::Elements::EAElement";
+
+ public static String EAST_PROFILE_URI = "pathmap://EAST-ADL2_PROFILES/eastadl.profile.uml";
+
+ public static String ENUMERATIONVALUETYPE_ID = "EAST-ADL2::Infrastructure::Datatypes::EnumerationValueType";
+
+ public static String ENVIRONMENT_ID = "EAST-ADL2::Environment::Environment";
+
+ public static String ERRORBEHAVIOR_ID = "EAST-ADL2::Dependability::ErrorModel::ErrorBehavior";
+
+ public static String ERRORMODELPROTOTYPE_ID = "EAST-ADL2::Dependability::ErrorModel::ErrorModelPrototype";
+
+ public static String ERRORMODELTYPE_ID = "EAST-ADL2::Dependability::ErrorModel::ErrorModelType";
+
+ public static String EVENT_ID = "EAST-ADL2::Timing::Event";
+
+ public static String EVENTCHAIN_ID = "EAST-ADL2::Timing::EventChain";
+
+ public static String EVENTCONSTRAINT_ID = "EAST-ADL2::Timing::TimingConstraints::EventConstraint";
+
+ public static String EVENTFUNCTION_ID = "EAST-ADL2::Timing::Events::EventFunction";
+
+ public static String EVENTFUNCTIONCLIENTSERVERPORT_ID = "EAST-ADL2::Timing::Events::EventFunctionClientServerPort";
+
+ public static String EVENTFUNCTIONFLOWPORT_ID = "EAST-ADL2::Timing::Events::EventFunctionFlowPort";
+
+ public static String EXECUTIONTIMECONSTRAINT_ID = "EAST-ADL2::Timing::ExecutionTimeConstraint";
+
+ public static String FAILUREOUTPORT_ID = "EAST-ADL2::Dependability::ErrorModel::FailureOutPort";
+
+ public static String FAULTFAILURE_ID = "EAST-ADL2::Dependability::SafetyConstraints::FaultFailure";
+
+ public static String FAULTFAILUREPROPAGATIONLINK_ID = "EAST-ADL2::Dependability::ErrorModel::FaultFailurePropagationLink";
+
+ public static String FAULTINPORT_ID = "EAST-ADL2::Dependability::ErrorModel::FaultInPort";
+
+ public static String FAULTFAILUREPORT_ID = "EAST-ADL2::Dependability::ErrorModel::FaultFailurePort";
+
+ public static String FEATURE_ID = "EAST-ADL2::Structure::FeatureModeling::Feature";
+
+ public static String FEATURECONFIGURATION_ID = "EAST-ADL2::Variability::FeatureConfiguration";
+
+ public static String FEATURECONSTRAINT_ID = "EAST-ADL2::Structure::FeatureModeling::FeatureConstraint";
+
+ public static String FEATUREFLAW_ID = "EAST-ADL2::Dependability::FeatureFlaw";
+
+ public static String DEPENDABILITY_ID = "EAST-ADL2::Dependability::Dependability";
+
+ public static String FEATUREGROUP_ID = "EAST-ADL2::Structure::FeatureModeling::FeatureGroup";
+
+ public static String FEATURELINK_ID = "EAST-ADL2::Structure::FeatureModeling::FeatureLink";
+
+ public static String FEATUREMODEL_ID = "EAST-ADL2::Structure::FeatureModeling::FeatureModel";
+
+ public static String FEATURETREENODE_ID = "EAST-ADL2::Structure::FeatureModeling::FeatureTreeNode";
+
+ public static String FUNCTIONALDEVICE_ID = "EAST-ADL2::Structure::FunctionModeling::FunctionalDevice";
+
+ public static String FUNCTIONALLOCATION_ID = "EAST-ADL2::Structure::FunctionModeling::FunctionAllocation";
+
+ public static String FUNCTIONALSAFETYCONCEPT_ID = "EAST-ADL2::Dependability::SafetyRequirement::FunctionalSafetyConcept";
+
+ public static String FUNCTIONBEHAVIOR_ID = "EAST-ADL2::Behavior::FunctionBehavior";
+
+ public static String FUNCTIONCLIENTSERVERINTERFACE_ID = "EAST-ADL2::Structure::FunctionModeling::FunctionClientServerInterface";
+
+ public static String FUNCTIONCLIENTSERVERPORT_ID = "EAST-ADL2::Structure::FunctionModeling::FunctionClientServerPort";
+
+ public static String FUNCTIONCONNECTOR_ID = "EAST-ADL2::Structure::FunctionModeling::FunctionConnector";
+
+ public static String FUNCTIONFLOWPORT_ID = "EAST-ADL2::Structure::FunctionModeling::FunctionFlowPort";
+
+ public static String FUNCTIONPORT_ID = "EAST-ADL2::Structure::FunctionModeling::FunctionPort";
+
+ public static String FUNCTIONPOWERPORT_ID = "EAST-ADL2::Structure::FunctionModeling::FunctionPowerPort";
+
+ public static String FUNCTIONPROTOTYPE_ID = "EAST-ADL2::Structure::FunctionModeling::FunctionPrototype";
+
+ public static String FUNCTIONTRIGGER_ID = "EAST-ADL2::Behavior::FunctionTrigger";
+
+ public static String FUNCTIONTYPE_ID = "EAST-ADL2::Structure::FunctionModeling::FunctionType";
+
+ public static String GENERICCONSTRAINT_ID = "EAST-ADL2::GenericConstraints::GenericConstraint";
+
+ public static String TAKERATECONSTRAINT_ID = "EAST-ADL2::GenericConstraints::TakeRateConstraint";
+
+ public static String GENERICCONSTRAINTSET_ID = "EAST-ADL2::GenericConstraints::GenericConstraintSet";
+
+ public static String GROUND_ID = "EAST-ADL2::Dependability::SafetyCase::Ground";
+
+ public static String HARDWARECOMPONENTPROTOTYPE_ID = "EAST-ADL2::Structure::HardwareModeling::HardwareComponentPrototype";
+
+ public static String HARDWARECOMPONENTTYPE_ID = "EAST-ADL2::Structure::HardwareModeling::HardwareComponentType";
+
+ public static String HARDWARECONNECTOR_ID = "EAST-ADL2::Structure::HardwareModeling::HardwareConnector";
+
+ public static String HARDWAREFUNCTIONTYPE_ID = "EAST-ADL2::Structure::FunctionModeling::HardwareFunctionType";
+
+ public static String HARDWAREPIN_ID = "EAST-ADL2::Structure::HardwareModeling::HardwarePin";
+
+ public static String HARDWAREPINGROUP_ID = "EAST-ADL2::Structure::HardwareModeling::HardwarePinGroup";
+
+ public static String HAZARD_ID = "EAST-ADL2::Dependability::Hazard";
+
+ public static String HAZARDOUSEVENT_ID = "EAST-ADL2::Dependability::HazardousEvent";
+
+ public static String IMPLEMENTATIONLEVEL_ID = "EAST-ADL2::Structure::SystemModeling::ImplementationLevel";
+
+ public static String INPUTSYNCHRONIZATIONCONSTRAINT_ID = "EAST-ADL2::Timing::TimingConstraints::InputSynchronizationConstraint";
+
+ public static String INTERNALBINDING_ID = "EAST-ADL2::Variability::InternalBinding";
+
+ public static String INTERNALFAULTPROTOTYPE_ID = "EAST-ADL2::Dependability::ErrorModel::InternalFaultPrototype";
+
+ public static String IOHARDWAREPIN_ID = "EAST-ADL2::Structure::HardwareModeling::IOHardwarePin";
+
+ public static String ITEM_ID = "EAST-ADL2::Dependability::Item";
+
+ public static String LOCALDEVICEMANAGER_ID = "EAST-ADL2::Structure::FunctionModeling::LocalDeviceManager";
+
+ public static String LOGICALBUS_ID = "EAST-ADL2::Structure::HardwareModeling::LogicalBus";
+
+ public static String MISSION_ID = "EAST-ADL2::Annex::Needs::Mission";
+
+ public static String MODE_ID = "EAST-ADL2::Behavior::Mode";
+
+ public static String MODEGROUP_ID = "EAST-ADL2::Behavior::ModeGroup";
+
+ public static String MULTILEVELREFERENCE_ID = "EAST-ADL2::Infrastructure::Elements::MultiLevelReference";
+
+ public static String NODE_ID = "EAST-ADL2::Structure::HardwareModeling::Node";
+
+ public static String OPERATION_ID = "EAST-ADL2::Structure::FunctionModeling::Operation";
+
+ public static String OUTPUTSYNCHRONISATIONCONSTRAINT_ID = "EAST-ADL2::Timing::TimingConstraints::OutputSynchronisationConstraint";
+
+ public static String PERIODICEVENTCONSTRAINT_ID = "EAST-ADL2::Timing::TimingConstraints::PeriodicEventConstraint";
+
+ public static String PORTGROUP_ID = "EAST-ADL2::Structure::FunctionModeling::PortGroup";
+
+ public static String POWERHARDWAREPIN_ID = "EAST-ADL2::Structure::HardwareModeling::PowerHardwarePin";
+
+ public static String POWERSUPPLY_ID = "EAST-ADL2::Structure::HardwareModeling::PowerSupply";
+
+ public static String PRECEDENCECONSTRAINT_ID = "EAST-ADL2::Timing::PrecedenceConstraint";
+
+ // Stereotypes ids
+ public static String PRIVATECONTENT_ID = "EAST-ADL2::Variability::PrivateContent";
+
+ public static String PROBLEMSTATEMENT_ID = "EAST-ADL2::Annex::Needs::ProblemStatement";
+
+ public static String PROCESSFAULTPROTOTYPE_ID = "EAST-ADL2::Dependability::ErrorModel::ProcessFaultPrototype";
+
+ public static String PRODUCTPOSITIONING_ID = "EAST-ADL2::Annex::Needs::ProductPositioning";
+
+ public static String QUALITYREQUIREMENT_ID = "EAST-ADL2::Requirements::QualityRequirement";
+
+ public static String QUANTITATIVESAFETYCONSTRAINT_ID = "EAST-ADL2::Dependability::SafetyConstraints::QuantitativeSafetyConstraint";
+
+ public static String RANGEABLEDATATYPE_ID = "EAST-ADL2::Infrastructure::Datatypes::RangeableDatatype";
+
+ public static String RANGEABLEVALUETYPE_ID = "EAST-ADL2::Infrastructure::Datatypes::RangeableValueType";
+
+ public static String REACTIONCONSTRAINT_ID = "EAST-ADL2::Timing::TimingConstraints::ReactionConstraint";
+
+ public static String REALIZATION_ID = "EAST-ADL2::Infrastructure::Elements::Realization";
+
+ public static String REFINE_ID = "EAST-ADL2::Requirements::Refine";
+
+ public static String RELATIONSHIP_ID = "EAST-ADL2::Infrastructure::Elements::Relationship";
+
+ public static String REQUIREMENT_ID = "EAST-ADL2::Requirements::Requirement";
+
+ public static String REQUIREMENTSCONTAINER_ID = "EAST-ADL2::Requirements::RequirementsContainer";
+
+ public static String REQUIREMENTSLINK_ID = "EAST-ADL2::Requirements::RequirementsLink";
+
+ public static String REQUIREMENTSMODEL_ID = "EAST-ADL2::Requirements::RequirementsModel";
+
+ public static String REQUIREMENTSPECIFICATIONOBJECT_ID = "EAST-ADL2::Requirements::RequirementSpecificationObject";
+
+ public static String REQUIREMENTSRELATEDINFORMATION_ID = "EAST-ADL2::Requirements::RequirementsRelatedInformation";
+
+ public static String REQUIREMENTSRELATIONGROUP_ID = "EAST-ADL2::Requirements::RequirementsRelationGroup";
+
+ public static String REQUIREMENTSRELATIONSHIP_ID = "EAST-ADL2::Requirements::RequirementsRelationship";
+
+ public static String REUSEMETAINFORMATION_ID = "EAST-ADL2::Variability::ReuseMetaInformation";
+
+ public static String RIFAREA_ID = "EAST-ADL2::Interchange::RIFArea";
+
+ public static String RIFEXPORTAREA_ID = "EAST-ADL2::Interchange::RIFExportArea";
+
+ public static String RIFIMPORTAREA_ID = "EAST-ADL2::Interchange::RIFImportArea";
+
+ public static String SAFETYCASE_ID = "EAST-ADL2::Dependability::SafetyCase::SafetyCase";
+
+ public static String SAFETYCONSTRAINT_ID = "EAST-ADL2::Dependability::SafetyConstraints::SafetyConstraint";
+
+ public static String SAFETYGOAL_ID = "EAST-ADL2::Dependability::SafetyRequirement::SafetyGoal";
+
+ public static String SATISFY_ID = "EAST-ADL2::Requirements::Satisfy";
+
+ public static String SELECTIONCRITERION_ID = "EAST-ADL2::Variability::SelectionCriterion";
+
+ public static String SENSOR_ID = "EAST-ADL2::Structure::HardwareModeling::Sensor";
+
+ public static String SPORADICEVENTCONSTRAINT_ID = "EAST-ADL2::Timing::TimingConstraints::SporadicEventConstraint";
+
+ public static String STAKEHOLDER_ID = "EAST-ADL2::Annex::Needs::Stakeholder";
+
+ public static String STAKEHOLDERNEED_ID = "EAST-ADL2::Annex::Needs::StakeholderNeed";
+
+ public static String VEHICLESYSTEM_ID = "EAST-ADL2::Annex::Needs::VehicleSystem";
+
+ public static String SYSTEMMODEL_ID = "EAST-ADL2::Structure::SystemModeling::SystemModel";
+
+ public static String TECHNICALSAFETYCONCEPT_ID = "EAST-ADL2::Dependability::SafetyRequirement::TechnicalSafetyConcept";
+
+ public static String TIMEDURATION_ID = "EAST-ADL2::Timing::TimeDuration";
+
+ public static String TIMING_ID = "EAST-ADL2::Timing::Timing";
+
+ public static String TIMINGCONSTRAINT_ID = "EAST-ADL2::Timing::TimingConstraint";
+
+ public static String TIMINGDESCRIPTION_ID = "EAST-ADL2::Timing::TimingDescription";
+
+ public static String TRACEABLESPECIFICATION_ID = "EAST-ADL2::Infrastructure::Elements::TraceableSpecification";
+
+ public static String OPERATIONALSITUATION_ID = "EAST-ADL2::Requirements::OperationalSituation";
+
+ public static String USERATTRIBUTEABLEELEMENT_ID = "EAST-ADL2::Infrastructure::UserAttributes::UserAttributeableElement";
+
+ public static String USERATTRIBUTEDEFINITION_ID = "EAST-ADL2::Infrastructure::UserAttributes::UserAttributeDefinition";
+
+ public static String USERATTRIBUTEELEMENTTYPE_ID = "EAST-ADL2::Infrastructure::UserAttributes::UserAttributeElementType";
+
+ public static String USERATTRIBUTEVALUE_ID = "EAST-ADL2::Infrastructure::UserAttributes::UserAttributeValue";
+
+ public static String VALUETYPE_ID = "EAST-ADL2::Infrastructure::Datatypes::ValueType";
+
+ public static String VARIABILITY_ID = "EAST-ADL2::Variability::Variability";
+
+ public static String VARIABLEELEMENT_ID = "EAST-ADL2::Variability::VariableElement";
+
+ public static String VARIATIONGROUP_ID = "EAST-ADL2::Variability::VariationGroup";
+
+ public static String VEHICLEFEATURE_ID = "EAST-ADL2::Structure::VehicleFeatureModeling::VehicleFeature";
+
+ public static String VEHICLELEVEL_ID = "EAST-ADL2::Structure::SystemModeling::VehicleLevel";
+
+ public static String VEHICLELEVELCONFIGURATIONDECISIONMODEL_ID = "EAST-ADL2::Variability::VehicleLevelConfigurationDecisionModel";
+
+ public static String VERIFICATIONVALIDATION_ID = "EAST-ADL2::Requirements::VerificationValidation::VerificationValidation";
+
+ public static String VERIFY_ID = "EAST-ADL2::Requirements::VerificationValidation::Verify";
+
+ public static String VVACTUALOUTCOME_ID = "EAST-ADL2::Requirements::VerificationValidation::VVActualOutcome";
+
+ public static String VVCASE_ID = "EAST-ADL2::Requirements::VerificationValidation::VVCase";
+
+ public static String VVINTENDEDOUTCOME_ID = "EAST-ADL2::Requirements::VerificationValidation::VVIntendedOutcome";
+
+ public static String VVLOG_ID = "EAST-ADL2::Requirements::VerificationValidation::VVLog";
+
+ public static String VVPROCEDURE_ID = "EAST-ADL2::Requirements::VerificationValidation::VVProcedure";
+
+ public static String VVSTIMULI_ID = "EAST-ADL2::Requirements::VerificationValidation::VVStimuli";
+
+ public static String VVTARGET_ID = "EAST-ADL2::Requirements::VerificationValidation::VVTarget";
+
+ public static String WARRANT_ID = "EAST-ADL2::Dependability::SafetyCase::Warrant";
+
+}
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/ConfigurableContainer.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/ConfigurableContainer.java
new file mode 100644
index 00000000000..1933c8369f6
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/ConfigurableContainer.java
@@ -0,0 +1,210 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel;
+import org.eclipse.uml2.uml.NamedElement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Configurable Container</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * ConfigurableContainer is a marker class that marks an element identified by association configurableElement as a configurable container of some variable content, i.e. VariableElements and other, lower-level ConfigurableContainers. In order to describe the contained variability to the outside world and to allow configuration of it, the ConfigurableContainer can have a public feature model and an internal configuration decision model not visible from the outside, called "internal binding".
+ *
+ * In addition, the ConfigurableContainer can be used to extend the EAST-ADL2 variability approach to other languages and standards by pointing from the ConfigurableContainer to the respective (non EAST-ADL2) element with association configurableElement. This provides the public feature model and the ConfigurationDecisionModel to that non EAST-ADL2 element.
+ *
+ * The variable content of a ConfigurableContainer is defined as all VariableElements and all other ConfigurableContainers that are directly or indirectly contained in the Identifiable denoted by association configurableElement. Instead of 'variable content' the term 'internal variability' may be used.
+ *
+ * Note that, according to this rule, the containment between a ConfigurableContainer and its variable content, i.e. its contained VariableElements and lower-level ConfigurableContainers, is not(!) directly defined between these meta-classes. Instead, the containment is defined by the Identifiable pointed to by association configurableElement. For example, consider a FunctionType "WiperSystem" containing two FunctionPrototypes "front" and "rear" both typed by FunctionType "WiperMotor"; to make the wiper system configurable and the rear wiper motor optional, a ConfigurableContainer is created that points to FunctionType "WiperSystem" (with association configurableElement) and a VariableElement is created that points to FunctionPrototype "rear" (with association optionalElement); the containment between the ConfigurableContainer and the VariableElement is therefore not explicitly defined between these classes but instead only between FunctionType "WiperSystem" and "FunctionPrototype" rear. In addition, the variability-related visibility of "rear" can be changed with PrivateContent: by default the variability of "rear" will be public and visible for direct configuration from the outside of its containing ConfigurableContainer, i.e. "WiperSystem"; by defining a PrivateContent marker object pointing to the FunctionPrototype "rear" this can be changed to private and this variability will not be visible from the outside of "WiperSystem".
+ *
+ * Constraints:
+ * [1] Identifies one FunctionType or one HardwareComponentType.
+ *
+ * [2] The publicFeatureModel is only allowed to contain Features (no VehicleFeatures).
+ *
+ * Semantics:
+ * Marks the element identified by association configurableElement as a configurable container of variable content (i.e. it contains VariableElements and/or other, lower-level ConfigurableContainers) and optionally provides a public feature model and an internal configuration decision model for it, thus providing configurability support for them.
+ *
+ * Extension:
+ * Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.ConfigurableContainer#getInternalBinding <em>Internal Binding</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.ConfigurableContainer#getVariationGroup <em>Variation Group</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.ConfigurableContainer#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.ConfigurableContainer#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.ConfigurableContainer#getConfigurableElement <em>Configurable Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.ConfigurableContainer#getPublicFeatureModel <em>Public Feature Model</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getConfigurableContainer()
+ * @model
+ * @generated
+ */
+public interface ConfigurableContainer extends EAElement {
+ /**
+ * Returns the value of the '<em><b>Configurable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Configurable Element</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Configurable Element</em>' reference.
+ * @see #setConfigurableElement(NamedElement)
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getConfigurableContainer_ConfigurableElement()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ NamedElement getConfigurableElement();
+
+ /**
+ * Returns the value of the '<em><b>Internal Binding</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The PDM of the configurable container.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Internal Binding</em>' reference.
+ * @see #setInternalBinding(InternalBinding)
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getConfigurableContainer_InternalBinding()
+ * @model ordered="false"
+ * @generated
+ */
+ InternalBinding getInternalBinding();
+
+ /**
+ * Returns the value of the '<em><b>Public Feature Model</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The local feature model of the configurable container.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Public Feature Model</em>' reference.
+ * @see #setPublicFeatureModel(FeatureModel)
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getConfigurableContainer_PublicFeatureModel()
+ * @model ordered="false"
+ * @generated
+ */
+ FeatureModel getPublicFeatureModel();
+
+ /**
+ * Returns the value of the '<em><b>Variation Group</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.variability.VariationGroup}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The variation groups that define certain constraints between this ADLVariableContainer's variable elements.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Variation Group</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getConfigurableContainer_VariationGroup()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<VariationGroup> getVariationGroup();
+
+ /**
+ * 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.eclipse.papyrus.eastadl.variability.VariabilityPackage#getConfigurableContainer_Base_Class()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.ConfigurableContainer#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>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.eclipse.papyrus.eastadl.variability.VariabilityPackage#getConfigurableContainer_Base_Package()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.ConfigurableContainer#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);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.ConfigurableContainer#getConfigurableElement <em>Configurable Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Configurable Element</em>' reference.
+ * @see #getConfigurableElement()
+ * @generated
+ */
+ void setConfigurableElement(NamedElement value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.ConfigurableContainer#getInternalBinding <em>Internal Binding</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Internal Binding</em>' reference.
+ * @see #getInternalBinding()
+ * @generated
+ */
+ void setInternalBinding(InternalBinding value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.ConfigurableContainer#getPublicFeatureModel <em>Public Feature Model</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Public Feature Model</em>' reference.
+ * @see #getPublicFeatureModel()
+ * @generated
+ */
+ void setPublicFeatureModel(FeatureModel value);
+
+} // ConfigurableContainer
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/ConfigurationDecision.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/ConfigurationDecision.java
new file mode 100644
index 00000000000..0fbc2632c66
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/ConfigurationDecision.java
@@ -0,0 +1,176 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Configuration Decision</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * ConfigurationDecision represents a single, atomized rule on how to configure the target feature model(s) of the containing ConfigurationDecisionModel, depending on a given configuration of the source feature model(s). Two examples are: "all North American (USA+Canada) cars except A-Class have cruise control" (one ConfigurationDecision) or "all Canadian cars have adaptive cruise control" (another ConfigurationDecision). All ConfigurationDecisions within a single ConfigurationDecisionModel then specify how the target feature model(s) are to be configured depending on the configuration of the source feature model(s).
+ *
+ * Example: Lets assume we have two FeatureModels: FM1 and FM2. FM1 has possible end-customer decisions like USA, Canada, EU, Japan and A-Class, C-Class, etc. FM2 has another possible end-customer decision such as CruiseControl, AdaptiveCruiseControl, RearWiper, RainSensor. End-customer decisions in FM2 describe possible technical features of the delivered products. By way of a set of ConfigurationDecisions it is now possible to define the configuration of FM2 (i.e. if there is a RainSensor, etc.) in dependency of a configuration of FM1. In other words, with a ConfigurationDecision we can express something like: "If USA is selected in FM1 AND A-Class is not selected in FM1, then CruiseControl will be selected in FM2".
+ *
+ * The two most important constituents of a ConfigurationDecision are its 'criterion' and 'effect'. The effect is a list of things to select and deselect in the target(!) configuration(s), whereas the criterion formulates a condition on the source(!) configuration(s) under which this ConfigurationDecision's effect will actually be applied to the target configuration(s). In the first example above, the criterion would be "USA & not A-Class" and the effect would be "CruiseControl[+]".
+ *
+ *
+ * Semantics:
+ * The ConfigurationDecision excludes or includes Features based on a given criterion.
+ *
+ * The elements of the criterion and effect attributes may be identified through the target and the source in the selectionCriterion. The criterion and effect attributes can contain a VSL expression with qualified names of the identified elements.
+ *
+ * Extension:
+ * Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecision#getEffect <em>Effect</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecision#getCriterion <em>Criterion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecision#isIsEquivalence <em>Is Equivalence</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecision#getTarget <em>Target</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecision#getSelectionCriterion <em>Selection Criterion</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getConfigurationDecision()
+ * @model
+ * @generated
+ */
+public interface ConfigurationDecision extends ConfigurationDecisionModelEntry {
+ /**
+ * Returns the value of the '<em><b>Criterion</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The inclusionCriterion gives the criterion to select the respective products (e.g. Northern American cars).
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Criterion</em>' attribute.
+ * @see #setCriterion(String)
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getConfigurationDecision_Criterion()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getCriterion();
+
+ /**
+ * Returns the value of the '<em><b>Effect</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The rationale gives the reason for the specified product decision, especially for the inclusion criterion and the selection of included and excluded features.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Effect</em>' attribute.
+ * @see #setEffect(String)
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getConfigurationDecision_Effect()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getEffect();
+
+ /**
+ * Returns the value of the '<em><b>Selection Criterion</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Selection Criterion</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Selection Criterion</em>' reference.
+ * @see #setSelectionCriterion(SelectionCriterion)
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getConfigurationDecision_SelectionCriterion()
+ * @model ordered="false"
+ * @generated
+ */
+ SelectionCriterion getSelectionCriterion();
+
+ /**
+ * Returns the value of the '<em><b>Target</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.NamedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Target</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</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getConfigurationDecision_Target()
+ * @model
+ * @generated
+ */
+ EList<NamedElement> getTarget();
+
+ /**
+ * Returns the value of the '<em><b>Is Equivalence</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Means that the included and excluded features are selected if and only if the specified inclusion criterion holds.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Is Equivalence</em>' attribute.
+ * @see #setIsEquivalence(boolean)
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getConfigurationDecision_IsEquivalence()
+ * @model unique="false" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isIsEquivalence();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecision#getCriterion <em>Criterion</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Criterion</em>' attribute.
+ * @see #getCriterion()
+ * @generated
+ */
+ void setCriterion(String value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecision#getEffect <em>Effect</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Effect</em>' attribute.
+ * @see #getEffect()
+ * @generated
+ */
+ void setEffect(String value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecision#isIsEquivalence <em>Is Equivalence</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Equivalence</em>' attribute.
+ * @see #isIsEquivalence()
+ * @generated
+ */
+ void setIsEquivalence(boolean value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecision#getSelectionCriterion <em>Selection Criterion</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Selection Criterion</em>' reference.
+ * @see #getSelectionCriterion()
+ * @generated
+ */
+ void setSelectionCriterion(SelectionCriterion value);
+
+} // ConfigurationDecision
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/ConfigurationDecisionFolder.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/ConfigurationDecisionFolder.java
new file mode 100644
index 00000000000..140296d9b00
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/ConfigurationDecisionFolder.java
@@ -0,0 +1,64 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Configuration Decision Folder</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * ConfigurationDecisionFolder represents a grouping for ConfigurationDecisions.
+ *
+ *
+ * Semantics:
+ * ConfigurationDecisionFolder is a grouping entity for ConfigurationDecisions.
+ *
+ * Extension:
+ * Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionFolder#getChildEntry <em>Child Entry</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getConfigurationDecisionFolder()
+ * @model
+ * @generated
+ */
+public interface ConfigurationDecisionFolder extends ConfigurationDecisionModelEntry {
+ /**
+ * Returns the value of the '<em><b>Child Entry</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModelEntry}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Child Entry</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Child Entry</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getConfigurationDecisionFolder_ChildEntry()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<ConfigurationDecisionModelEntry> getChildEntry();
+
+} // ConfigurationDecisionFolder
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/ConfigurationDecisionModel.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/ConfigurationDecisionModel.java
new file mode 100644
index 00000000000..d5b1d2b928f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/ConfigurationDecisionModel.java
@@ -0,0 +1,123 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Configuration Decision Model</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A ConfigurationDecisionModel defines how to configure m so-called target feature models, depending on a given configuration of n so-called source feature models, thus establishing a configuration-related link from the n source feature models to the m target feature models (also called configuration link). With the information captured in a ConfigurationDecisionModel it is then possible to transform a given set of source configurations (one for every source feature model) into corresponding target configurations (one for every target feature model).
+ *
+ * For example, a ConfigurationDecisionModel can capture information such as "if feature 'S-Class' is selected in the source feature model, then select feature 'RainSensor' in the target feature model" or "if feature 'USA' is selected in the source feature model, then select feature 'CupHolder' in the target feature model".
+ *
+ * Note that in principle all ConfigurationDecisionModels have source / target feature models. However, only for those used on vehicle level they are defined explicitly; for ConfigurationDecisionModels used as an internal binding on FunctionTypes the source and target feature models are defined implicitly (cf. metaclass InternalBinding). In addition, in the special case of FeatureConfiguration there is by definition no source and only a single target feature model, which is defined explicitly (cf. metaclass FeatureConfiguration).
+ *
+ * The configuration information captured in a ConfigurationDecisionModel is represented by ConfigurationDecisions, each of which captures a single, atomized rule on how to configure the target feature model(s) depending on a given configuration of the source feature model(s).
+ *
+ *
+ * Extension:
+ * Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModel#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModel#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModel#getRootEntry <em>Root Entry</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getConfigurationDecisionModel()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ConfigurationDecisionModel extends EAElement {
+ /**
+ * 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.eclipse.papyrus.eastadl.variability.VariabilityPackage#getConfigurationDecisionModel_Base_Package()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModel#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>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.eclipse.papyrus.eastadl.variability.VariabilityPackage#getConfigurationDecisionModel_Base_Class()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModel#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>Root Entry</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModelEntry}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Root Entry</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Root Entry</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getConfigurationDecisionModel_RootEntry()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<ConfigurationDecisionModelEntry> getRootEntry();
+
+} // ConfigurationDecisionModel
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/ConfigurationDecisionModelEntry.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/ConfigurationDecisionModelEntry.java
new file mode 100644
index 00000000000..5f61031f4a7
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/ConfigurationDecisionModelEntry.java
@@ -0,0 +1,97 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability;
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Configuration Decision Model Entry</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * ConfigurationDecisionModelEntry is the abstract base class for all content of a ConfigurationDecisionModel.
+ *
+ * Extension:
+ * Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModelEntry#isIsActive <em>Is Active</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModelEntry#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getConfigurationDecisionModelEntry()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ConfigurationDecisionModelEntry extends EAElement {
+ /**
+ * Returns the value of the '<em><b>Is Active</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * If active==TRUE then the entry is selected for the ProductDecisionModel.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Is Active</em>' attribute.
+ * @see #setIsActive(boolean)
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getConfigurationDecisionModelEntry_IsActive()
+ * @model default="true" unique="false" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isIsActive();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModelEntry#isIsActive <em>Is Active</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Active</em>' attribute.
+ * @see #isIsActive()
+ * @generated
+ */
+ void setIsActive(boolean 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.eclipse.papyrus.eastadl.variability.VariabilityPackage#getConfigurationDecisionModelEntry_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModelEntry#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);
+
+} // ConfigurationDecisionModelEntry
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/ContainerConfiguration.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/ContainerConfiguration.java
new file mode 100644
index 00000000000..dabd5ccf255
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/ContainerConfiguration.java
@@ -0,0 +1,76 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Container Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * ContainerConfiguration defines an actual configuration of the variable content of a ConfigurableContainer, in particular the selection or deselection of contained VariableElements and the configuration of the public feature models of contained other ConfigurableContainers. For more details on the variable content of a ConfigurableContainer refer to the documentation of meta-class ConfigurableContainer.
+ *
+ * The ContainerConfiguration inherits from ConfigurationDecisionModel even though it does not define a configuration link between feature models, similar as FeatureConfiguration. For more information on this refer to the documentation of meta-class FeatureConfiguration.
+ *
+ * The source and target feature models of a ContainerConfiguration are defined implicitly: it always has zero source feature models (as explained for FeatureConfiguration) and its target feature models can be deduced from the ConfigurableContainer being configured by applying the same rules as defined for InternalBinding.
+ *
+ * Semantics:
+ * The ContainerConfiguration specifies a concrete configuration of the variable content of a ConfigurableContainer.
+ *
+ * Extension:
+ * Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.ContainerConfiguration#getConfiguredContainer <em>Configured Container</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getContainerConfiguration()
+ * @model
+ * @generated
+ */
+public interface ContainerConfiguration extends ConfigurationDecisionModel {
+ /**
+ * Returns the value of the '<em><b>Configured Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Configured Container</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Configured Container</em>' reference.
+ * @see #setConfiguredContainer(ConfigurableContainer)
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getContainerConfiguration_ConfiguredContainer()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ ConfigurableContainer getConfiguredContainer();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.ContainerConfiguration#getConfiguredContainer <em>Configured Container</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Configured Container</em>' reference.
+ * @see #getConfiguredContainer()
+ * @generated
+ */
+ void setConfiguredContainer(ConfigurableContainer value);
+
+} // ContainerConfiguration
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/FeatureConfiguration.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/FeatureConfiguration.java
new file mode 100644
index 00000000000..73d30d9de20
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/FeatureConfiguration.java
@@ -0,0 +1,79 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability;
+
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Feature Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * FeatureConfiguration defines an actual configuration of a FeatureModel, in particular the selection or deselection of optional features, values for selected parameterized features, and instance creations for cloned features.
+ *
+ * Note that configurations of feature models are realized as a specialization of metaclass ConfigurationDecisionModel. This is possible because a ConfigurationDecisionModel also captures configuration, i.e. of its target feature model(s) ; while in the standard case of ConfigurationDecisionModel this target-side configuration depends on a given configuration of source feature model(s), we here simply define a "constant" target-side configuration without considering any source configurations. Therefore, the FeatureConfiguration meta-class has additional constraints compared to the super-class ConfigurationDecisionModel: the FeatureConfiguration has no source FeatureModel and only a single target FeatureModel, which serves as the FeatureModel being configured, explicitly defined through association 'configuredFeatureModel'. And since there are no source feature model to which the criterion can refer, all ConfigurationDecisions in a FeatureConfiguration must have "true" as their criterion.
+ *
+ *
+ * Semantics:
+ * The FeatureConfiguration specifies a concrete configuration of a feature model, in particular which Features of this FeatureModel are selected or deselected.
+ *
+ * Extension:
+ * Class
+ *
+ * Constraint:
+ * [1] Attribute criterion of all ConfigurationDecisions in a FeatureConfiguration must be set to "true".
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.FeatureConfiguration#getConfiguredFeatureModel <em>Configured Feature Model</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getFeatureConfiguration()
+ * @model
+ * @generated
+ */
+public interface FeatureConfiguration extends ConfigurationDecisionModel {
+ /**
+ * Returns the value of the '<em><b>Configured Feature Model</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Configured Feature 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>Configured Feature Model</em>' reference.
+ * @see #setConfiguredFeatureModel(FeatureModel)
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getFeatureConfiguration_ConfiguredFeatureModel()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ FeatureModel getConfiguredFeatureModel();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.FeatureConfiguration#getConfiguredFeatureModel <em>Configured Feature Model</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Configured Feature Model</em>' reference.
+ * @see #getConfiguredFeatureModel()
+ * @generated
+ */
+ void setConfiguredFeatureModel(FeatureModel value);
+
+} // FeatureConfiguration
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/InternalBinding.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/InternalBinding.java
new file mode 100644
index 00000000000..5659b2a65ad
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/InternalBinding.java
@@ -0,0 +1,38 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Internal Binding</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The InternalBinding is the private, internal ConfigurationDecisionModel of the ConfigurableContainer. It defines how the internal, lower-level variability of the ConfigurableContainer is bound, i.e. configured, depending on a given configuration of the ConfigurableContainer's public feature model. This way, the binding of this internal variability is encapsulated and hidden behind the public feature model, which serves as a variability-related interface.
+ *
+ * Note that for this use case, the source and target feature models need not be defined explicitly because they are deduced implicitly: the ConfigurableContainer's public feature model serves as the (single) target feature model, and the source feature models are deduced from the ConfigurableContainer's internal variability (esp. other, lower-level ConfigurableContainers which are contained).
+ *
+ * For a definition of the precise meaning of 'internal variability' in the above sense (also called variable content) refer to the documentation of meta-class ConfigurableContainer.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getInternalBinding()
+ * @model
+ * @generated
+ */
+public interface InternalBinding extends ConfigurationDecisionModel {
+} // InternalBinding
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/PrivateContent.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/PrivateContent.java
new file mode 100644
index 00000000000..5ec582ba6f3
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/PrivateContent.java
@@ -0,0 +1,107 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability;
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.uml2.uml.NamedElement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Private Content</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * PrivateContent is a marker class that marks the artifact element denoted by association privateElement as private, i.e. it will not be presented to the outside of the containing ConfigurableContainer.
+ *
+ * Refer to the documentation of meta-class ConfigurableContainer for a detailed explanation of how ConfigurableContainer and PrivateContent play together.
+ *
+ * Constraint:
+ * [1] Identifies either one FunctionPrototype or one FunctionPort or one FunctionConnector or one HardwareComponentPrototype or one HardwarePort or one ClampConnector.
+ *
+ * Semantics:
+ * Marks the element identified by association privateElement as private. Otherwise the elements visibility defaults to public.
+ *
+ * Extension:
+ * Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.PrivateContent#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.PrivateContent#getPrivateElement <em>Private Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getPrivateContent()
+ * @model
+ * @generated
+ */
+public interface PrivateContent extends EAElement {
+ /**
+ * 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.eclipse.papyrus.eastadl.variability.VariabilityPackage#getPrivateContent_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.PrivateContent#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>Private Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Private Element</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Private Element</em>' reference.
+ * @see #setPrivateElement(NamedElement)
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getPrivateContent_PrivateElement()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ NamedElement getPrivateElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.PrivateContent#getPrivateElement <em>Private Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Private Element</em>' reference.
+ * @see #getPrivateElement()
+ * @generated
+ */
+ void setPrivateElement(NamedElement value);
+
+} // PrivateContent
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/ReuseMetaInformation.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/ReuseMetaInformation.java
new file mode 100644
index 00000000000..c48fb9cc43a
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/ReuseMetaInformation.java
@@ -0,0 +1,129 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability;
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Reuse Meta Information</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * ReuseMetaInformation represents the description information needed in the context of reuse. For example a specific entity is only a short-time solution that is not intended to be reused. Also a specific entity can only be reused for specific model ranges (that are not reflected in the product model). This kind of information can be stored in this information.
+ *
+ * Semantics:
+ * The ReuseMetaInformation represents information that explains if and how the respective entity can be reused.
+ *
+ *
+ * Extension: Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.ReuseMetaInformation#getInformation <em>Information</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.ReuseMetaInformation#isIsReusable <em>Is Reusable</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.ReuseMetaInformation#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getReuseMetaInformation()
+ * @model
+ * @generated
+ */
+public interface ReuseMetaInformation extends TraceableSpecification {
+
+ /**
+ * Returns the value of the '<em><b>Information</b></em>' attribute. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Information</em>' attribute isn't clear, there really should be
+ * more of a description here...
+ * </p>
+ * <!-- end-user-doc --> <!-- begin-model-doc --> The reuse information is stored in this
+ * attribute. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Information</em>' attribute.
+ * @see #setInformation(String)
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getReuseMetaInformation_Information()
+ * @model unique="false" required="true" ordered="false"
+ * @generated
+ */
+ String getInformation();
+
+ /**
+ * Returns the value of the '<em><b>Is Reusable</b></em>' attribute. The default value is
+ * <code>"true"</code>. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Reusable</em>' attribute isn't clear, there really should be
+ * more of a description here...
+ * </p>
+ * <!-- end-user-doc --> <!-- begin-model-doc --> This Boolean attributes just says if the
+ * entity itself can essentially be reused or not. Specific information or constraints on reuse
+ * are in the information attribute. Default value is TRUE. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Is Reusable</em>' attribute.
+ * @see #setIsReusable(boolean)
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getReuseMetaInformation_IsReusable()
+ * @model default="true" unique="false" required="true" ordered="false"
+ * @generated
+ */
+ boolean isIsReusable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.ReuseMetaInformation#getInformation <em>Information</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Information</em>' attribute.
+ * @see #getInformation()
+ * @generated
+ */
+ void setInformation(String value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.ReuseMetaInformation#isIsReusable <em>Is Reusable</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Reusable</em>' attribute.
+ * @see #isIsReusable()
+ * @generated
+ */
+ void setIsReusable(boolean 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.eclipse.papyrus.eastadl.variability.VariabilityPackage#getReuseMetaInformation_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.ReuseMetaInformation#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);
+
+} // ReuseMetaInformation
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/SelectionCriterion.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/SelectionCriterion.java
new file mode 100644
index 00000000000..c4edf683560
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/SelectionCriterion.java
@@ -0,0 +1,87 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.uml2.uml.NamedElement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Selection Criterion</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A mixed string description, identifying the source elements.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.SelectionCriterion#getSource <em>Source</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.SelectionCriterion#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getSelectionCriterion()
+ * @model
+ * @generated
+ */
+public interface SelectionCriterion extends EAElement {
+ /**
+ * Returns the value of the '<em><b>Source</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.NamedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Source</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>Source</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getSelectionCriterion_Source()
+ * @model
+ * @generated
+ */
+ EList<NamedElement> getSource();
+
+ /**
+ * 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.eclipse.papyrus.eastadl.variability.VariabilityPackage#getSelectionCriterion_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.SelectionCriterion#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);
+
+} // SelectionCriterion
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/Variability.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/Variability.java
new file mode 100644
index 00000000000..88ac8ac7925
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/Variability.java
@@ -0,0 +1,182 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Variability</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * The collection of variability descriptions, related feature models, and decision models. This collection can be done across the EAST-ADL2 abstraction levels.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.Variability#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.Variability#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.Variability#getConfigurableContainer <em>Configurable Container</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.Variability#getConfiguration <em>Configuration</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.Variability#getProductFeatureModel <em>Product Feature Model</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.Variability#getDecisionModel <em>Decision Model</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.Variability#getVariableElement <em>Variable Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getVariability()
+ * @model
+ * @generated
+ */
+public interface Variability extends Context {
+ /**
+ * 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.eclipse.papyrus.eastadl.variability.VariabilityPackage#getVariability_Base_Class()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.Variability#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>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.eclipse.papyrus.eastadl.variability.VariabilityPackage#getVariability_Base_Package()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.Variability#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>Configurable Container</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.variability.ConfigurableContainer}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Configurable Container</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Configurable Container</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getVariability_ConfigurableContainer()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<ConfigurableContainer> getConfigurableContainer();
+
+ /**
+ * Returns the value of the '<em><b>Configuration</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.variability.FeatureConfiguration}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Configuration</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Configuration</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getVariability_Configuration()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<FeatureConfiguration> getConfiguration();
+
+ /**
+ * Returns the value of the '<em><b>Decision Model</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.variability.VehicleLevelBinding}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Decision Model</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Decision Model</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getVariability_DecisionModel()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<VehicleLevelBinding> getDecisionModel();
+
+ /**
+ * Returns the value of the '<em><b>Product Feature Model</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Product Feature Model</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Product Feature Model</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getVariability_ProductFeatureModel()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<FeatureModel> getProductFeatureModel();
+
+ /**
+ * Returns the value of the '<em><b>Variable Element</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.variability.VariableElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Variable Element</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>Variable Element</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getVariability_VariableElement()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<VariableElement> getVariableElement();
+
+} // Variability
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/VariabilityFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/VariabilityFactory.java
new file mode 100644
index 00000000000..908e8085205
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/VariabilityFactory.java
@@ -0,0 +1,160 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability;
+
+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.eclipse.papyrus.eastadl.variability.VariabilityPackage
+ * @generated
+ */
+public interface VariabilityFactory extends EFactory {
+
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ VariabilityFactory eINSTANCE = org.eclipse.papyrus.eastadl.variability.impl.VariabilityFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Configurable Container</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Configurable Container</em>'.
+ * @generated
+ */
+ ConfigurableContainer createConfigurableContainer();
+
+ /**
+ * Returns a new object of class '<em>Configuration Decision</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Configuration Decision</em>'.
+ * @generated
+ */
+ ConfigurationDecision createConfigurationDecision();
+
+ /**
+ * Returns a new object of class '<em>Configuration Decision Folder</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Configuration Decision Folder</em>'.
+ * @generated
+ */
+ ConfigurationDecisionFolder createConfigurationDecisionFolder();
+
+ /**
+ * Returns a new object of class '<em>Container Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Container Configuration</em>'.
+ * @generated
+ */
+ ContainerConfiguration createContainerConfiguration();
+
+ /**
+ * Returns a new object of class '<em>Feature Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Feature Configuration</em>'.
+ * @generated
+ */
+ FeatureConfiguration createFeatureConfiguration();
+
+ /**
+ * Returns a new object of class '<em>Vehicle Level Binding</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Vehicle Level Binding</em>'.
+ * @generated
+ */
+ VehicleLevelBinding createVehicleLevelBinding();
+
+ /**
+ * Returns a new object of class '<em>Internal Binding</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Internal Binding</em>'.
+ * @generated
+ */
+ InternalBinding createInternalBinding();
+
+ /**
+ * Returns a new object of class '<em>Private Content</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Private Content</em>'.
+ * @generated
+ */
+ PrivateContent createPrivateContent();
+
+ /**
+ * Returns a new object of class '<em>Reuse Meta Information</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return a new object of class '<em>Reuse Meta Information</em>'.
+ * @generated
+ */
+ ReuseMetaInformation createReuseMetaInformation();
+
+ /**
+ * Returns a new object of class '<em>Selection Criterion</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Selection Criterion</em>'.
+ * @generated
+ */
+ SelectionCriterion createSelectionCriterion();
+
+ /**
+ * Returns a new object of class '<em>Variability</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Variability</em>'.
+ * @generated
+ */
+ Variability createVariability();
+
+ /**
+ * Returns a new object of class '<em>Variable Element</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Variable Element</em>'.
+ * @generated
+ */
+ VariableElement createVariableElement();
+
+ /**
+ * Returns a new object of class '<em>Variation Group</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return a new object of class '<em>Variation Group</em>'.
+ * @generated
+ */
+ VariationGroup createVariationGroup();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ VariabilityPackage getVariabilityPackage();
+
+} // VariabilityFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/VariabilityPackage.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/VariabilityPackage.java
new file mode 100644
index 00000000000..1e5651c3e42
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/VariabilityPackage.java
@@ -0,0 +1,2491 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability;
+
+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.eastadl.infrastructure.elements.ElementsPackage;
+
+
+/**
+ * <!-- 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 --> <!-- begin-model-doc --> This subprofile contains elements to express
+ * variability at the analysis architecture (AA), design architecture (DA) and implementation
+ * architecture (IA). These will sometimes be called the artifact level. This work is based on
+ * conceptual meta-model of the European project Families that describes variability expression in
+ * system family. It also contains a set of stereotypes to define reuse-related information.
+ *
+ * Overview: The stereotypes defined here are divided into two elements, those relative to
+ * variability management, and those related to reuse management. <!-- end-model-doc -->
+ *
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface VariabilityPackage extends EPackage {
+
+ /**
+ * <!-- 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.eclipse.papyrus.eastadl.variability.impl.VariationGroupImpl <em>Variation Group</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariationGroupImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getVariationGroup()
+ * @generated
+ */
+ EClass VARIATION_GROUP = eINSTANCE.getVariationGroup();
+
+ /**
+ * The meta object literal for the '<em><b>Variable Element</b></em>' reference list feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VARIATION_GROUP__VARIABLE_ELEMENT = eINSTANCE.getVariationGroup_VariableElement();
+
+ /**
+ * The meta object literal for the '<em><b>Constraint</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute VARIATION_GROUP__CONSTRAINT = eINSTANCE.getVariationGroup_Constraint();
+
+ /**
+ * The meta object literal for the '<em><b>Kind</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute VARIATION_GROUP__KIND = eINSTANCE.getVariationGroup_Kind();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference VARIATION_GROUP__BASE_CLASS = eINSTANCE.getVariationGroup_Base_Class();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.variability.impl.ReuseMetaInformationImpl <em>Reuse Meta Information</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.ReuseMetaInformationImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getReuseMetaInformation()
+ * @generated
+ */
+ EClass REUSE_META_INFORMATION = eINSTANCE.getReuseMetaInformation();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference REUSE_META_INFORMATION__BASE_CLASS = eINSTANCE.getReuseMetaInformation_Base_Class();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.variability.impl.VariabilityImpl <em>Variability</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getVariability()
+ * @generated
+ */
+ EClass VARIABILITY = eINSTANCE.getVariability();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VARIABILITY__BASE_CLASS = eINSTANCE.getVariability_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VARIABILITY__BASE_PACKAGE = eINSTANCE.getVariability_Base_Package();
+
+ /**
+ * The meta object literal for the '<em><b>Configurable Container</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VARIABILITY__CONFIGURABLE_CONTAINER = eINSTANCE.getVariability_ConfigurableContainer();
+
+ /**
+ * The meta object literal for the '<em><b>Configuration</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VARIABILITY__CONFIGURATION = eINSTANCE.getVariability_Configuration();
+
+ /**
+ * The meta object literal for the '<em><b>Product Feature Model</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VARIABILITY__PRODUCT_FEATURE_MODEL = eINSTANCE.getVariability_ProductFeatureModel();
+
+ /**
+ * The meta object literal for the '<em><b>Decision Model</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VARIABILITY__DECISION_MODEL = eINSTANCE.getVariability_DecisionModel();
+
+ /**
+ * The meta object literal for the '<em><b>Variable Element</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VARIABILITY__VARIABLE_ELEMENT = eINSTANCE.getVariability_VariableElement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.variability.impl.FeatureConfigurationImpl <em>Feature Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.FeatureConfigurationImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getFeatureConfiguration()
+ * @generated
+ */
+ EClass FEATURE_CONFIGURATION = eINSTANCE.getFeatureConfiguration();
+
+ /**
+ * The meta object literal for the '<em><b>Configured Feature Model</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FEATURE_CONFIGURATION__CONFIGURED_FEATURE_MODEL = eINSTANCE.getFeatureConfiguration_ConfiguredFeatureModel();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.variability.impl.VehicleLevelBindingImpl <em>Vehicle Level Binding</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VehicleLevelBindingImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getVehicleLevelBinding()
+ * @generated
+ */
+ EClass VEHICLE_LEVEL_BINDING = eINSTANCE.getVehicleLevelBinding();
+
+ /**
+ * The meta object literal for the '<em><b>Source Vehicle Feature Model</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VEHICLE_LEVEL_BINDING__SOURCE_VEHICLE_FEATURE_MODEL = eINSTANCE.getVehicleLevelBinding_SourceVehicleFeatureModel();
+
+ /**
+ * The meta object literal for the '<em><b>Target Feature Model</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VEHICLE_LEVEL_BINDING__TARGET_FEATURE_MODEL = eINSTANCE.getVehicleLevelBinding_TargetFeatureModel();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.variability.impl.ConfigurationDecisionImpl <em>Configuration Decision</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.ConfigurationDecisionImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getConfigurationDecision()
+ * @generated
+ */
+ EClass CONFIGURATION_DECISION = eINSTANCE.getConfigurationDecision();
+
+ /**
+ * The meta object literal for the '<em><b>Effect</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CONFIGURATION_DECISION__EFFECT = eINSTANCE.getConfigurationDecision_Effect();
+
+ /**
+ * The meta object literal for the '<em><b>Criterion</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CONFIGURATION_DECISION__CRITERION = eINSTANCE.getConfigurationDecision_Criterion();
+
+ /**
+ * The meta object literal for the '<em><b>Is Equivalence</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CONFIGURATION_DECISION__IS_EQUIVALENCE = eINSTANCE.getConfigurationDecision_IsEquivalence();
+
+ /**
+ * The meta object literal for the '<em><b>Target</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONFIGURATION_DECISION__TARGET = eINSTANCE.getConfigurationDecision_Target();
+
+ /**
+ * The meta object literal for the '<em><b>Selection Criterion</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONFIGURATION_DECISION__SELECTION_CRITERION = eINSTANCE.getConfigurationDecision_SelectionCriterion();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.variability.impl.SelectionCriterionImpl <em>Selection Criterion</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.SelectionCriterionImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getSelectionCriterion()
+ * @generated
+ */
+ EClass SELECTION_CRITERION = eINSTANCE.getSelectionCriterion();
+
+ /**
+ * The meta object literal for the '<em><b>Source</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SELECTION_CRITERION__SOURCE = eINSTANCE.getSelectionCriterion_Source();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SELECTION_CRITERION__BASE_CLASS = eINSTANCE.getSelectionCriterion_Base_Class();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.variability.impl.ConfigurationDecisionFolderImpl <em>Configuration Decision Folder</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.ConfigurationDecisionFolderImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getConfigurationDecisionFolder()
+ * @generated
+ */
+ EClass CONFIGURATION_DECISION_FOLDER = eINSTANCE.getConfigurationDecisionFolder();
+
+ /**
+ * The meta object literal for the '<em><b>Child Entry</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONFIGURATION_DECISION_FOLDER__CHILD_ENTRY = eINSTANCE.getConfigurationDecisionFolder_ChildEntry();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.variability.impl.ContainerConfigurationImpl <em>Container Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.ContainerConfigurationImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getContainerConfiguration()
+ * @generated
+ */
+ EClass CONTAINER_CONFIGURATION = eINSTANCE.getContainerConfiguration();
+
+ /**
+ * The meta object literal for the '<em><b>Configured Container</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONTAINER_CONFIGURATION__CONFIGURED_CONTAINER = eINSTANCE.getContainerConfiguration_ConfiguredContainer();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.variability.impl.PrivateContentImpl <em>Private Content</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.PrivateContentImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getPrivateContent()
+ * @generated
+ */
+ EClass PRIVATE_CONTENT = eINSTANCE.getPrivateContent();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PRIVATE_CONTENT__BASE_CLASS = eINSTANCE.getPrivateContent_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Private Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PRIVATE_CONTENT__PRIVATE_ELEMENT = eINSTANCE.getPrivateContent_PrivateElement();
+
+ /**
+ * The meta object literal for the '<em><b>Information</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute REUSE_META_INFORMATION__INFORMATION = eINSTANCE.getReuseMetaInformation_Information();
+
+ /**
+ * The meta object literal for the '<em><b>Is Reusable</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute REUSE_META_INFORMATION__IS_REUSABLE = eINSTANCE.getReuseMetaInformation_IsReusable();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.variability.impl.ConfigurableContainerImpl <em>Configurable Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.ConfigurableContainerImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getConfigurableContainer()
+ * @generated
+ */
+ EClass CONFIGURABLE_CONTAINER = eINSTANCE.getConfigurableContainer();
+
+ /**
+ * The meta object literal for the '<em><b>Internal Binding</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONFIGURABLE_CONTAINER__INTERNAL_BINDING = eINSTANCE.getConfigurableContainer_InternalBinding();
+
+ /**
+ * The meta object literal for the '<em><b>Variation Group</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONFIGURABLE_CONTAINER__VARIATION_GROUP = eINSTANCE.getConfigurableContainer_VariationGroup();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONFIGURABLE_CONTAINER__BASE_CLASS = eINSTANCE.getConfigurableContainer_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONFIGURABLE_CONTAINER__BASE_PACKAGE = eINSTANCE.getConfigurableContainer_Base_Package();
+
+ /**
+ * The meta object literal for the '<em><b>Configurable Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONFIGURABLE_CONTAINER__CONFIGURABLE_ELEMENT = eINSTANCE.getConfigurableContainer_ConfigurableElement();
+
+ /**
+ * The meta object literal for the '<em><b>Public Feature Model</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONFIGURABLE_CONTAINER__PUBLIC_FEATURE_MODEL = eINSTANCE.getConfigurableContainer_PublicFeatureModel();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.variability.impl.InternalBindingImpl <em>Internal Binding</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.InternalBindingImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getInternalBinding()
+ * @generated
+ */
+ EClass INTERNAL_BINDING = eINSTANCE.getInternalBinding();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.variability.impl.ConfigurationDecisionModelImpl <em>Configuration Decision Model</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.ConfigurationDecisionModelImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getConfigurationDecisionModel()
+ * @generated
+ */
+ EClass CONFIGURATION_DECISION_MODEL = eINSTANCE.getConfigurationDecisionModel();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONFIGURATION_DECISION_MODEL__BASE_PACKAGE = eINSTANCE.getConfigurationDecisionModel_Base_Package();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONFIGURATION_DECISION_MODEL__BASE_CLASS = eINSTANCE.getConfigurationDecisionModel_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Root Entry</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONFIGURATION_DECISION_MODEL__ROOT_ENTRY = eINSTANCE.getConfigurationDecisionModel_RootEntry();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.variability.impl.ConfigurationDecisionModelEntryImpl <em>Configuration Decision Model Entry</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.ConfigurationDecisionModelEntryImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getConfigurationDecisionModelEntry()
+ * @generated
+ */
+ EClass CONFIGURATION_DECISION_MODEL_ENTRY = eINSTANCE.getConfigurationDecisionModelEntry();
+
+ /**
+ * The meta object literal for the '<em><b>Is Active</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CONFIGURATION_DECISION_MODEL_ENTRY__IS_ACTIVE = eINSTANCE.getConfigurationDecisionModelEntry_IsActive();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONFIGURATION_DECISION_MODEL_ENTRY__BASE_CLASS = eINSTANCE.getConfigurationDecisionModelEntry_Base_Class();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.eastadl.variability.impl.VariableElementImpl <em>Variable Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariableElementImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getVariableElement()
+ * @generated
+ */
+ EClass VARIABLE_ELEMENT = eINSTANCE.getVariableElement();
+
+ /**
+ * The meta object literal for the '<em><b>Required Binding Time</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VARIABLE_ELEMENT__REQUIRED_BINDING_TIME = eINSTANCE.getVariableElement_RequiredBindingTime();
+
+ /**
+ * The meta object literal for the '<em><b>Reuse Meta Information</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VARIABLE_ELEMENT__REUSE_META_INFORMATION = eINSTANCE.getVariableElement_ReuseMetaInformation();
+
+ /**
+ * The meta object literal for the '<em><b>Optional Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VARIABLE_ELEMENT__OPTIONAL_ELEMENT = eINSTANCE.getVariableElement_OptionalElement();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VARIABLE_ELEMENT__BASE_CLASS = eINSTANCE.getVariableElement_Base_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Actual Binding Time</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VARIABLE_ELEMENT__ACTUAL_BINDING_TIME = eINSTANCE.getVariableElement_ActualBindingTime();
+
+ }
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "variability";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.papyrusuml.org/EAST-ADL2/Variability/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "Variability";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ VariabilityPackage eINSTANCE = org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.variability.impl.VariationGroupImpl <em>Variation Group</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariationGroupImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getVariationGroup()
+ * @generated
+ */
+ int VARIATION_GROUP = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIATION_GROUP__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIATION_GROUP__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VARIATION_GROUP__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Constraint</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIATION_GROUP__CONSTRAINT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Kind</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIATION_GROUP__KIND = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIATION_GROUP__BASE_CLASS = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Variable Element</b></em>' reference list.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIATION_GROUP__VARIABLE_ELEMENT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Variation Group</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VARIATION_GROUP_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.variability.impl.ReuseMetaInformationImpl <em>Reuse Meta Information</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.ReuseMetaInformationImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getReuseMetaInformation()
+ * @generated
+ */
+ int REUSE_META_INFORMATION = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.variability.impl.ConfigurableContainerImpl <em>Configurable Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.ConfigurableContainerImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getConfigurableContainer()
+ * @generated
+ */
+ int CONFIGURABLE_CONTAINER = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.variability.impl.VariableElementImpl <em>Variable Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariableElementImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getVariableElement()
+ * @generated
+ */
+ int VARIABLE_ELEMENT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.variability.impl.VariabilityImpl <em>Variability</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getVariability()
+ * @generated
+ */
+ int VARIABILITY = 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.variability.impl.FeatureConfigurationImpl <em>Feature Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.FeatureConfigurationImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getFeatureConfiguration()
+ * @generated
+ */
+ int FEATURE_CONFIGURATION = 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.variability.impl.ConfigurationDecisionImpl <em>Configuration Decision</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.ConfigurationDecisionImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getConfigurationDecision()
+ * @generated
+ */
+ int CONFIGURATION_DECISION = 10;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.variability.impl.SelectionCriterionImpl <em>Selection Criterion</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.SelectionCriterionImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getSelectionCriterion()
+ * @generated
+ */
+ int SELECTION_CRITERION = 11;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.variability.impl.ConfigurationDecisionFolderImpl <em>Configuration Decision Folder</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.ConfigurationDecisionFolderImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getConfigurationDecisionFolder()
+ * @generated
+ */
+ int CONFIGURATION_DECISION_FOLDER = 12;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.variability.impl.ContainerConfigurationImpl <em>Container Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.ContainerConfigurationImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getContainerConfiguration()
+ * @generated
+ */
+ int CONTAINER_CONFIGURATION = 13;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.variability.impl.PrivateContentImpl <em>Private Content</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.PrivateContentImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getPrivateContent()
+ * @generated
+ */
+ int PRIVATE_CONTENT = 14;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.variability.impl.ConfigurationDecisionModelImpl <em>Configuration Decision Model</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.ConfigurationDecisionModelImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getConfigurationDecisionModel()
+ * @generated
+ */
+ int CONFIGURATION_DECISION_MODEL = 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.variability.impl.InternalBindingImpl <em>Internal Binding</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.InternalBindingImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getInternalBinding()
+ * @generated
+ */
+ int INTERNAL_BINDING = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.variability.impl.ConfigurationDecisionModelEntryImpl <em>Configuration Decision Model Entry</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.ConfigurationDecisionModelEntryImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getConfigurationDecisionModelEntry()
+ * @generated
+ */
+ int CONFIGURATION_DECISION_MODEL_ENTRY = 6;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABLE_ELEMENT__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABLE_ELEMENT__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABLE_ELEMENT__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Required Binding Time</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABLE_ELEMENT__REQUIRED_BINDING_TIME = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Actual Binding Time</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABLE_ELEMENT__ACTUAL_BINDING_TIME = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Reuse Meta Information</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABLE_ELEMENT__REUSE_META_INFORMATION = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Optional Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABLE_ELEMENT__OPTIONAL_ELEMENT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABLE_ELEMENT__BASE_CLASS = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Variable Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABLE_ELEMENT_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REUSE_META_INFORMATION__NAME = ElementsPackage.TRACEABLE_SPECIFICATION__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REUSE_META_INFORMATION__BASE_NAMED_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REUSE_META_INFORMATION__OWNED_COMMENT = ElementsPackage.TRACEABLE_SPECIFICATION__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REUSE_META_INFORMATION__BASE_PACKAGEABLE_ELEMENT = ElementsPackage.TRACEABLE_SPECIFICATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Note</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REUSE_META_INFORMATION__NOTE = ElementsPackage.TRACEABLE_SPECIFICATION__NOTE;
+
+ /**
+ * The feature id for the '<em><b>Information</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REUSE_META_INFORMATION__INFORMATION = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Is Reusable</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REUSE_META_INFORMATION__IS_REUSABLE = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REUSE_META_INFORMATION__BASE_CLASS = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Reuse Meta Information</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REUSE_META_INFORMATION_FEATURE_COUNT = ElementsPackage.TRACEABLE_SPECIFICATION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURABLE_CONTAINER__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURABLE_CONTAINER__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURABLE_CONTAINER__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Internal Binding</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURABLE_CONTAINER__INTERNAL_BINDING = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Variation Group</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURABLE_CONTAINER__VARIATION_GROUP = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURABLE_CONTAINER__BASE_CLASS = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURABLE_CONTAINER__BASE_PACKAGE = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Configurable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURABLE_CONTAINER__CONFIGURABLE_ELEMENT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Public Feature Model</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURABLE_CONTAINER__PUBLIC_FEATURE_MODEL = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Configurable Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURABLE_CONTAINER_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION_MODEL__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION_MODEL__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION_MODEL__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION_MODEL__BASE_PACKAGE = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION_MODEL__BASE_CLASS = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Root Entry</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION_MODEL__ROOT_ENTRY = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Configuration Decision Model</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION_MODEL_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_BINDING__NAME = CONFIGURATION_DECISION_MODEL__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_BINDING__BASE_NAMED_ELEMENT = CONFIGURATION_DECISION_MODEL__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_BINDING__OWNED_COMMENT = CONFIGURATION_DECISION_MODEL__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_BINDING__BASE_PACKAGE = CONFIGURATION_DECISION_MODEL__BASE_PACKAGE;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_BINDING__BASE_CLASS = CONFIGURATION_DECISION_MODEL__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Root Entry</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_BINDING__ROOT_ENTRY = CONFIGURATION_DECISION_MODEL__ROOT_ENTRY;
+
+ /**
+ * The number of structural features of the '<em>Internal Binding</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERNAL_BINDING_FEATURE_COUNT = CONFIGURATION_DECISION_MODEL_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION_MODEL_ENTRY__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION_MODEL_ENTRY__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION_MODEL_ENTRY__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION_MODEL_ENTRY__IS_ACTIVE = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION_MODEL_ENTRY__BASE_CLASS = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Configuration Decision Model Entry</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION_MODEL_ENTRY_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABILITY__NAME = ElementsPackage.CONTEXT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABILITY__BASE_NAMED_ELEMENT = ElementsPackage.CONTEXT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABILITY__OWNED_COMMENT = ElementsPackage.CONTEXT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Traceable Specification</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABILITY__TRACEABLE_SPECIFICATION = ElementsPackage.CONTEXT__TRACEABLE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Owned Relationship</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABILITY__OWNED_RELATIONSHIP = ElementsPackage.CONTEXT__OWNED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABILITY__BASE_CLASS = ElementsPackage.CONTEXT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABILITY__BASE_PACKAGE = ElementsPackage.CONTEXT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Configurable Container</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABILITY__CONFIGURABLE_CONTAINER = ElementsPackage.CONTEXT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Configuration</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABILITY__CONFIGURATION = ElementsPackage.CONTEXT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Product Feature Model</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABILITY__PRODUCT_FEATURE_MODEL = ElementsPackage.CONTEXT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Decision Model</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABILITY__DECISION_MODEL = ElementsPackage.CONTEXT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Variable Element</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABILITY__VARIABLE_ELEMENT = ElementsPackage.CONTEXT_FEATURE_COUNT + 6;
+
+ /**
+ * The number of structural features of the '<em>Variability</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VARIABILITY_FEATURE_COUNT = ElementsPackage.CONTEXT_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_CONFIGURATION__NAME = CONFIGURATION_DECISION_MODEL__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_CONFIGURATION__BASE_NAMED_ELEMENT = CONFIGURATION_DECISION_MODEL__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_CONFIGURATION__OWNED_COMMENT = CONFIGURATION_DECISION_MODEL__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_CONFIGURATION__BASE_PACKAGE = CONFIGURATION_DECISION_MODEL__BASE_PACKAGE;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_CONFIGURATION__BASE_CLASS = CONFIGURATION_DECISION_MODEL__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Root Entry</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_CONFIGURATION__ROOT_ENTRY = CONFIGURATION_DECISION_MODEL__ROOT_ENTRY;
+
+ /**
+ * The feature id for the '<em><b>Configured Feature Model</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_CONFIGURATION__CONFIGURED_FEATURE_MODEL = CONFIGURATION_DECISION_MODEL_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Feature Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FEATURE_CONFIGURATION_FEATURE_COUNT = CONFIGURATION_DECISION_MODEL_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.eastadl.variability.impl.VehicleLevelBindingImpl <em>Vehicle Level Binding</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VehicleLevelBindingImpl
+ * @see org.eclipse.papyrus.eastadl.variability.impl.VariabilityPackageImpl#getVehicleLevelBinding()
+ * @generated
+ */
+ int VEHICLE_LEVEL_BINDING = 9;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_LEVEL_BINDING__NAME = CONFIGURATION_DECISION_MODEL__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_LEVEL_BINDING__BASE_NAMED_ELEMENT = CONFIGURATION_DECISION_MODEL__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_LEVEL_BINDING__OWNED_COMMENT = CONFIGURATION_DECISION_MODEL__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_LEVEL_BINDING__BASE_PACKAGE = CONFIGURATION_DECISION_MODEL__BASE_PACKAGE;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_LEVEL_BINDING__BASE_CLASS = CONFIGURATION_DECISION_MODEL__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Root Entry</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_LEVEL_BINDING__ROOT_ENTRY = CONFIGURATION_DECISION_MODEL__ROOT_ENTRY;
+
+ /**
+ * The feature id for the '<em><b>Source Vehicle Feature Model</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_LEVEL_BINDING__SOURCE_VEHICLE_FEATURE_MODEL = CONFIGURATION_DECISION_MODEL_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Target Feature Model</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_LEVEL_BINDING__TARGET_FEATURE_MODEL = CONFIGURATION_DECISION_MODEL_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Vehicle Level Binding</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VEHICLE_LEVEL_BINDING_FEATURE_COUNT = CONFIGURATION_DECISION_MODEL_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION__NAME = CONFIGURATION_DECISION_MODEL_ENTRY__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION__BASE_NAMED_ELEMENT = CONFIGURATION_DECISION_MODEL_ENTRY__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION__OWNED_COMMENT = CONFIGURATION_DECISION_MODEL_ENTRY__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION__IS_ACTIVE = CONFIGURATION_DECISION_MODEL_ENTRY__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION__BASE_CLASS = CONFIGURATION_DECISION_MODEL_ENTRY__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Effect</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION__EFFECT = CONFIGURATION_DECISION_MODEL_ENTRY_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Criterion</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION__CRITERION = CONFIGURATION_DECISION_MODEL_ENTRY_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Is Equivalence</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION__IS_EQUIVALENCE = CONFIGURATION_DECISION_MODEL_ENTRY_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Target</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION__TARGET = CONFIGURATION_DECISION_MODEL_ENTRY_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Selection Criterion</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION__SELECTION_CRITERION = CONFIGURATION_DECISION_MODEL_ENTRY_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Configuration Decision</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION_FEATURE_COUNT = CONFIGURATION_DECISION_MODEL_ENTRY_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SELECTION_CRITERION__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SELECTION_CRITERION__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SELECTION_CRITERION__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Source</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SELECTION_CRITERION__SOURCE = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SELECTION_CRITERION__BASE_CLASS = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Selection Criterion</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SELECTION_CRITERION_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION_FOLDER__NAME = CONFIGURATION_DECISION_MODEL_ENTRY__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION_FOLDER__BASE_NAMED_ELEMENT = CONFIGURATION_DECISION_MODEL_ENTRY__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION_FOLDER__OWNED_COMMENT = CONFIGURATION_DECISION_MODEL_ENTRY__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION_FOLDER__IS_ACTIVE = CONFIGURATION_DECISION_MODEL_ENTRY__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION_FOLDER__BASE_CLASS = CONFIGURATION_DECISION_MODEL_ENTRY__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Child Entry</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION_FOLDER__CHILD_ENTRY = CONFIGURATION_DECISION_MODEL_ENTRY_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Configuration Decision Folder</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_DECISION_FOLDER_FEATURE_COUNT = CONFIGURATION_DECISION_MODEL_ENTRY_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_CONFIGURATION__NAME = CONFIGURATION_DECISION_MODEL__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_CONFIGURATION__BASE_NAMED_ELEMENT = CONFIGURATION_DECISION_MODEL__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_CONFIGURATION__OWNED_COMMENT = CONFIGURATION_DECISION_MODEL__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_CONFIGURATION__BASE_PACKAGE = CONFIGURATION_DECISION_MODEL__BASE_PACKAGE;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_CONFIGURATION__BASE_CLASS = CONFIGURATION_DECISION_MODEL__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Root Entry</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_CONFIGURATION__ROOT_ENTRY = CONFIGURATION_DECISION_MODEL__ROOT_ENTRY;
+
+ /**
+ * The feature id for the '<em><b>Configured Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_CONFIGURATION__CONFIGURED_CONTAINER = CONFIGURATION_DECISION_MODEL_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Container Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTAINER_CONFIGURATION_FEATURE_COUNT = CONFIGURATION_DECISION_MODEL_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIVATE_CONTENT__NAME = ElementsPackage.EA_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIVATE_CONTENT__BASE_NAMED_ELEMENT = ElementsPackage.EA_ELEMENT__BASE_NAMED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Owned Comment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIVATE_CONTENT__OWNED_COMMENT = ElementsPackage.EA_ELEMENT__OWNED_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIVATE_CONTENT__BASE_CLASS = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Private Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIVATE_CONTENT__PRIVATE_ELEMENT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Private Content</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIVATE_CONTENT_FEATURE_COUNT = ElementsPackage.EA_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.variability.ConfigurableContainer <em>Configurable Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Configurable Container</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.ConfigurableContainer
+ * @generated
+ */
+ EClass getConfigurableContainer();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.variability.ConfigurableContainer#getConfigurableElement <em>Configurable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Configurable Element</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.ConfigurableContainer#getConfigurableElement()
+ * @see #getConfigurableContainer()
+ * @generated
+ */
+ EReference getConfigurableContainer_ConfigurableElement();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.variability.ConfigurableContainer#getInternalBinding <em>Internal Binding</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Internal Binding</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.ConfigurableContainer#getInternalBinding()
+ * @see #getConfigurableContainer()
+ * @generated
+ */
+ EReference getConfigurableContainer_InternalBinding();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.variability.ConfigurableContainer#getPublicFeatureModel <em>Public Feature Model</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Public Feature Model</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.ConfigurableContainer#getPublicFeatureModel()
+ * @see #getConfigurableContainer()
+ * @generated
+ */
+ EReference getConfigurableContainer_PublicFeatureModel();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.variability.ConfigurableContainer#getVariationGroup <em>Variation Group</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Variation Group</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.ConfigurableContainer#getVariationGroup()
+ * @see #getConfigurableContainer()
+ * @generated
+ */
+ EReference getConfigurableContainer_VariationGroup();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.variability.ConfigurableContainer#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.eclipse.papyrus.eastadl.variability.ConfigurableContainer#getBase_Class()
+ * @see #getConfigurableContainer()
+ * @generated
+ */
+ EReference getConfigurableContainer_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.variability.ConfigurableContainer#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.eclipse.papyrus.eastadl.variability.ConfigurableContainer#getBase_Package()
+ * @see #getConfigurableContainer()
+ * @generated
+ */
+ EReference getConfigurableContainer_Base_Package();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecision <em>Configuration Decision</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Configuration Decision</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.ConfigurationDecision
+ * @generated
+ */
+ EClass getConfigurationDecision();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecision#getCriterion <em>Criterion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Criterion</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.ConfigurationDecision#getCriterion()
+ * @see #getConfigurationDecision()
+ * @generated
+ */
+ EAttribute getConfigurationDecision_Criterion();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecision#getEffect <em>Effect</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Effect</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.ConfigurationDecision#getEffect()
+ * @see #getConfigurationDecision()
+ * @generated
+ */
+ EAttribute getConfigurationDecision_Effect();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecision#isIsEquivalence <em>Is Equivalence</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Equivalence</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.ConfigurationDecision#isIsEquivalence()
+ * @see #getConfigurationDecision()
+ * @generated
+ */
+ EAttribute getConfigurationDecision_IsEquivalence();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecision#getSelectionCriterion <em>Selection Criterion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Selection Criterion</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.ConfigurationDecision#getSelectionCriterion()
+ * @see #getConfigurationDecision()
+ * @generated
+ */
+ EReference getConfigurationDecision_SelectionCriterion();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecision#getTarget <em>Target</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Target</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.ConfigurationDecision#getTarget()
+ * @see #getConfigurationDecision()
+ * @generated
+ */
+ EReference getConfigurationDecision_Target();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionFolder <em>Configuration Decision Folder</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Configuration Decision Folder</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionFolder
+ * @generated
+ */
+ EClass getConfigurationDecisionFolder();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionFolder#getChildEntry <em>Child Entry</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Child Entry</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionFolder#getChildEntry()
+ * @see #getConfigurationDecisionFolder()
+ * @generated
+ */
+ EReference getConfigurationDecisionFolder_ChildEntry();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModel <em>Configuration Decision Model</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Configuration Decision Model</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModel
+ * @generated
+ */
+ EClass getConfigurationDecisionModel();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModel#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.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModel#getBase_Package()
+ * @see #getConfigurationDecisionModel()
+ * @generated
+ */
+ EReference getConfigurationDecisionModel_Base_Package();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModel#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.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModel#getBase_Class()
+ * @see #getConfigurationDecisionModel()
+ * @generated
+ */
+ EReference getConfigurationDecisionModel_Base_Class();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModel#getRootEntry <em>Root Entry</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Root Entry</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModel#getRootEntry()
+ * @see #getConfigurationDecisionModel()
+ * @generated
+ */
+ EReference getConfigurationDecisionModel_RootEntry();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModelEntry <em>Configuration Decision Model Entry</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Configuration Decision Model Entry</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModelEntry
+ * @generated
+ */
+ EClass getConfigurationDecisionModelEntry();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModelEntry#isIsActive <em>Is Active</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Active</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModelEntry#isIsActive()
+ * @see #getConfigurationDecisionModelEntry()
+ * @generated
+ */
+ EAttribute getConfigurationDecisionModelEntry_IsActive();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModelEntry#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.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModelEntry#getBase_Class()
+ * @see #getConfigurationDecisionModelEntry()
+ * @generated
+ */
+ EReference getConfigurationDecisionModelEntry_Base_Class();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.variability.ContainerConfiguration <em>Container Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Container Configuration</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.ContainerConfiguration
+ * @generated
+ */
+ EClass getContainerConfiguration();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.variability.ContainerConfiguration#getConfiguredContainer <em>Configured Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Configured Container</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.ContainerConfiguration#getConfiguredContainer()
+ * @see #getContainerConfiguration()
+ * @generated
+ */
+ EReference getContainerConfiguration_ConfiguredContainer();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.variability.FeatureConfiguration <em>Feature Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Feature Configuration</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.FeatureConfiguration
+ * @generated
+ */
+ EClass getFeatureConfiguration();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.variability.FeatureConfiguration#getConfiguredFeatureModel <em>Configured Feature Model</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Configured Feature Model</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.FeatureConfiguration#getConfiguredFeatureModel()
+ * @see #getFeatureConfiguration()
+ * @generated
+ */
+ EReference getFeatureConfiguration_ConfiguredFeatureModel();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.variability.VehicleLevelBinding <em>Vehicle Level Binding</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Vehicle Level Binding</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.VehicleLevelBinding
+ * @generated
+ */
+ EClass getVehicleLevelBinding();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.variability.VehicleLevelBinding#getSourceVehicleFeatureModel <em>Source Vehicle Feature Model</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Source Vehicle Feature Model</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.VehicleLevelBinding#getSourceVehicleFeatureModel()
+ * @see #getVehicleLevelBinding()
+ * @generated
+ */
+ EReference getVehicleLevelBinding_SourceVehicleFeatureModel();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.variability.VehicleLevelBinding#getTargetFeatureModel <em>Target Feature Model</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Target Feature Model</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.VehicleLevelBinding#getTargetFeatureModel()
+ * @see #getVehicleLevelBinding()
+ * @generated
+ */
+ EReference getVehicleLevelBinding_TargetFeatureModel();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.variability.InternalBinding <em>Internal Binding</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Internal Binding</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.InternalBinding
+ * @generated
+ */
+ EClass getInternalBinding();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.variability.PrivateContent <em>Private Content</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Private Content</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.PrivateContent
+ * @generated
+ */
+ EClass getPrivateContent();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.variability.PrivateContent#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.eclipse.papyrus.eastadl.variability.PrivateContent#getBase_Class()
+ * @see #getPrivateContent()
+ * @generated
+ */
+ EReference getPrivateContent_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.variability.PrivateContent#getPrivateElement <em>Private Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Private Element</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.PrivateContent#getPrivateElement()
+ * @see #getPrivateContent()
+ * @generated
+ */
+ EReference getPrivateContent_PrivateElement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.variability.ReuseMetaInformation <em>Reuse Meta Information</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Reuse Meta Information</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.ReuseMetaInformation
+ * @generated
+ */
+ EClass getReuseMetaInformation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.variability.ReuseMetaInformation#getInformation <em>Information</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Information</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.ReuseMetaInformation#getInformation()
+ * @see #getReuseMetaInformation()
+ * @generated
+ */
+ EAttribute getReuseMetaInformation_Information();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.variability.ReuseMetaInformation#isIsReusable <em>Is Reusable</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Reusable</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.ReuseMetaInformation#isIsReusable()
+ * @see #getReuseMetaInformation()
+ * @generated
+ */
+ EAttribute getReuseMetaInformation_IsReusable();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.variability.ReuseMetaInformation#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.eclipse.papyrus.eastadl.variability.ReuseMetaInformation#getBase_Class()
+ * @see #getReuseMetaInformation()
+ * @generated
+ */
+ EReference getReuseMetaInformation_Base_Class();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.variability.SelectionCriterion <em>Selection Criterion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Selection Criterion</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.SelectionCriterion
+ * @generated
+ */
+ EClass getSelectionCriterion();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.variability.SelectionCriterion#getSource <em>Source</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Source</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.SelectionCriterion#getSource()
+ * @see #getSelectionCriterion()
+ * @generated
+ */
+ EReference getSelectionCriterion_Source();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.variability.SelectionCriterion#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.eclipse.papyrus.eastadl.variability.SelectionCriterion#getBase_Class()
+ * @see #getSelectionCriterion()
+ * @generated
+ */
+ EReference getSelectionCriterion_Base_Class();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.variability.Variability <em>Variability</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Variability</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.Variability
+ * @generated
+ */
+ EClass getVariability();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.variability.Variability#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.eclipse.papyrus.eastadl.variability.Variability#getBase_Class()
+ * @see #getVariability()
+ * @generated
+ */
+ EReference getVariability_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.variability.Variability#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.eclipse.papyrus.eastadl.variability.Variability#getBase_Package()
+ * @see #getVariability()
+ * @generated
+ */
+ EReference getVariability_Base_Package();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.variability.Variability#getConfigurableContainer <em>Configurable Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Configurable Container</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.Variability#getConfigurableContainer()
+ * @see #getVariability()
+ * @generated
+ */
+ EReference getVariability_ConfigurableContainer();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.variability.Variability#getConfiguration <em>Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Configuration</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.Variability#getConfiguration()
+ * @see #getVariability()
+ * @generated
+ */
+ EReference getVariability_Configuration();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.variability.Variability#getDecisionModel <em>Decision Model</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Decision Model</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.Variability#getDecisionModel()
+ * @see #getVariability()
+ * @generated
+ */
+ EReference getVariability_DecisionModel();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.variability.Variability#getProductFeatureModel <em>Product Feature Model</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Product Feature Model</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.Variability#getProductFeatureModel()
+ * @see #getVariability()
+ * @generated
+ */
+ EReference getVariability_ProductFeatureModel();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.variability.Variability#getVariableElement <em>Variable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Variable Element</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.Variability#getVariableElement()
+ * @see #getVariability()
+ * @generated
+ */
+ EReference getVariability_VariableElement();
+
+ /**
+ * 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
+ */
+ VariabilityFactory getVariabilityFactory();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.variability.VariableElement <em>Variable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Variable Element</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.VariableElement
+ * @generated
+ */
+ EClass getVariableElement();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.variability.VariableElement#getActualBindingTime <em>Actual Binding Time</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Actual Binding Time</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.VariableElement#getActualBindingTime()
+ * @see #getVariableElement()
+ * @generated
+ */
+ EReference getVariableElement_ActualBindingTime();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.variability.VariableElement#getOptionalElement <em>Optional Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Optional Element</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.VariableElement#getOptionalElement()
+ * @see #getVariableElement()
+ * @generated
+ */
+ EReference getVariableElement_OptionalElement();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.variability.VariableElement#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.eclipse.papyrus.eastadl.variability.VariableElement#getBase_Class()
+ * @see #getVariableElement()
+ * @generated
+ */
+ EReference getVariableElement_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.variability.VariableElement#getRequiredBindingTime <em>Required Binding Time</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Required Binding Time</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.VariableElement#getRequiredBindingTime()
+ * @see #getVariableElement()
+ * @generated
+ */
+ EReference getVariableElement_RequiredBindingTime();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.variability.VariableElement#getReuseMetaInformation <em>Reuse Meta Information</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Reuse Meta Information</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.VariableElement#getReuseMetaInformation()
+ * @see #getVariableElement()
+ * @generated
+ */
+ EReference getVariableElement_ReuseMetaInformation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.eastadl.variability.VariationGroup <em>Variation Group</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Variation Group</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.VariationGroup
+ * @generated
+ */
+ EClass getVariationGroup();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.variability.VariationGroup#getConstraint <em>Constraint</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Constraint</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.VariationGroup#getConstraint()
+ * @see #getVariationGroup()
+ * @generated
+ */
+ EAttribute getVariationGroup_Constraint();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.eastadl.variability.VariationGroup#getKind <em>Kind</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Kind</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.VariationGroup#getKind()
+ * @see #getVariationGroup()
+ * @generated
+ */
+ EAttribute getVariationGroup_Kind();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.eastadl.variability.VariationGroup#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.eclipse.papyrus.eastadl.variability.VariationGroup#getBase_Class()
+ * @see #getVariationGroup()
+ * @generated
+ */
+ EReference getVariationGroup_Base_Class();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.eastadl.variability.VariationGroup#getVariableElement <em>Variable Element</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Variable Element</em>'.
+ * @see org.eclipse.papyrus.eastadl.variability.VariationGroup#getVariableElement()
+ * @see #getVariationGroup()
+ * @generated
+ */
+ EReference getVariationGroup_VariableElement();
+
+} // VariabilityPackage
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/VariableElement.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/VariableElement.java
new file mode 100644
index 00000000000..ebecb7cc65b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/VariableElement.java
@@ -0,0 +1,184 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability;
+
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTime;
+import org.eclipse.uml2.uml.NamedElement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Variable Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * VariableElement is a marker class that marks an artifact element denoted by association optionalElement as being optional, i.e. it will not be present in all configurations of the complete system. A typical example is an optional FunctionPrototype.
+ *
+ * In addition, the VariableElement can be used to extend the EAST-ADL2 variability approach to other languages and standards by pointing from the VariableElement to the respective (non EAST-ADL2) element with association optionalElement, by that marking the non EAST-ADL2 element as optional and providing configuration support within its containing ConfigurableContainer.
+ *
+ * Refer to the documentation of meta-class ConfigurableContainer for a detailed explanation of how ConfigurableContainer and VariableElement play together.
+ *
+ *
+ * Constraints:
+ * [1] Identifies either one FunctionPrototype or one FunctionPort or one FunctionConnector or one HardwareComponentPrototype or one HardwarePort or one ClampConnector.
+ *
+ * Semantics:
+ * Marks the element identified by association optionalElement as optional.
+ *
+ * Extension:
+ * Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.VariableElement#getRequiredBindingTime <em>Required Binding Time</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.VariableElement#getActualBindingTime <em>Actual Binding Time</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.VariableElement#getReuseMetaInformation <em>Reuse Meta Information</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.VariableElement#getOptionalElement <em>Optional Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.VariableElement#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getVariableElement()
+ * @model
+ * @generated
+ */
+public interface VariableElement extends EAElement {
+ /**
+ * Returns the value of the '<em><b>Actual Binding Time</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Actual Binding Time</em>' reference.
+ * @see #setActualBindingTime(BindingTime)
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getVariableElement_ActualBindingTime()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ BindingTime getActualBindingTime();
+
+ /**
+ * Returns the value of the '<em><b>Optional Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Optional Element</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Optional Element</em>' reference.
+ * @see #setOptionalElement(NamedElement)
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getVariableElement_OptionalElement()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ NamedElement getOptionalElement();
+
+ /**
+ * Returns the value of the '<em><b>Required Binding Time</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Required Binding Time</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>Required Binding Time</em>' reference.
+ * @see #setRequiredBindingTime(BindingTime)
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getVariableElement_RequiredBindingTime()
+ * @model ordered="false"
+ * @generated
+ */
+ BindingTime getRequiredBindingTime();
+
+ /**
+ * Returns the value of the '<em><b>Reuse Meta Information</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Reuse Meta Information</em>' reference.
+ * @see #setReuseMetaInformation(ReuseMetaInformation)
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getVariableElement_ReuseMetaInformation()
+ * @model ordered="false"
+ * @generated
+ */
+ ReuseMetaInformation getReuseMetaInformation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.VariableElement#getActualBindingTime <em>Actual Binding Time</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Actual Binding Time</em>' reference.
+ * @see #getActualBindingTime()
+ * @generated
+ */
+ void setActualBindingTime(BindingTime value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.VariableElement#getOptionalElement <em>Optional Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Optional Element</em>' reference.
+ * @see #getOptionalElement()
+ * @generated
+ */
+ void setOptionalElement(NamedElement 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.eclipse.papyrus.eastadl.variability.VariabilityPackage#getVariableElement_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.VariableElement#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);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.VariableElement#getRequiredBindingTime <em>Required Binding Time</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Required Binding Time</em>' reference.
+ * @see #getRequiredBindingTime()
+ * @generated
+ */
+ void setRequiredBindingTime(BindingTime value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.VariableElement#getReuseMetaInformation <em>Reuse Meta Information</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Reuse Meta Information</em>' reference.
+ * @see #getReuseMetaInformation()
+ * @generated
+ */
+ void setReuseMetaInformation(ReuseMetaInformation value);
+
+} // VariableElement
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/VariationGroup.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/VariationGroup.java
new file mode 100644
index 00000000000..eee06aa83c4
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/VariationGroup.java
@@ -0,0 +1,158 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.VariabilityDependencyKind;
+
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Variation Group</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * A VariationGroup defines a relation between an arbitrary number of VariableElements. It is primarily intended for defining how these VariableElements may be combined (e.g. one requires the other, alternative, etc.).
+ *
+ *
+ * Semantics:
+ * Defines a dependency or constraint between the variable elements denoted by association variableElement. The actual constraint is specified by attribute kind.
+ *
+ * Extension:
+ * Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.VariationGroup#getConstraint <em>Constraint</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.VariationGroup#getKind <em>Kind</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.VariationGroup#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.VariationGroup#getVariableElement <em>Variable Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getVariationGroup()
+ * @model
+ * @generated
+ */
+public interface VariationGroup extends EAElement {
+
+ /**
+ * Returns the value of the '<em><b>Constraint</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Constraint</em>' attribute isn't clear, there really should be
+ * more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Constraint</em>' attribute.
+ * @see #setConstraint(String)
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getVariationGroup_Constraint()
+ * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getConstraint();
+
+ /**
+ * Returns the value of the '<em><b>Kind</b></em>' attribute. The default value is
+ * <code>"exclude"</code>. The literals are from the enumeration
+ * {@link com.cea.papyrus.uml4eastadl.eastadl.variability.VariationGroupKind}. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Kind</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc --> <!-- begin-model-doc --> Type of constraint involved. Default is
+ * EXCLUDE <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Kind</em>' attribute.
+ * @see com.cea.papyrus.uml4eastadl.eastadl.variability.VariationGroupKind
+ * @see #setKind(VariationGroupKind)
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getVariationGroup_Kind()
+ * @model default="exclude" unique="false" required="true" ordered="false"
+ * @generated
+ */
+ VariabilityDependencyKind getKind();
+
+ /**
+ * Returns the value of the '<em><b>Variable Element</b></em>' reference list. The list contents
+ * are of type {@link com.cea.papyrus.uml4eastadl.eastadl.variability.ADLVariableElement}. It is
+ * bidirectional and its opposite is '
+ * {@link com.cea.papyrus.uml4eastadl.eastadl.variability.ADLVariableElement#getVariationGroup
+ * <em>Variation Group</em>}'. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Variable Element</em>' reference list isn't clear, there really
+ * should be more of a description here...
+ * </p>
+ * <!-- end-user-doc --> <!-- begin-model-doc --> Associated variable elements <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Variable Element</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getVariationGroup_VariableElement()
+ * @see com.cea.papyrus.uml4eastadl.eastadl.variability.ADLVariableElement#getVariationGroup
+ * @model opposite="variationGroup" required="true"
+ * @generated
+ */
+ EList<VariableElement> getVariableElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.VariationGroup#getConstraint <em>Constraint</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Constraint</em>' attribute.
+ * @see #getConstraint()
+ * @generated
+ */
+ void setConstraint(String value);
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.VariationGroup#getKind <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Kind</em>' attribute.
+ * @see org.eclipse.papyrus.eastadl.structure.featuremodeling.VariabilityDependencyKind
+ * @see #getKind()
+ * @generated
+ */
+ void setKind(VariabilityDependencyKind 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.eclipse.papyrus.eastadl.variability.VariabilityPackage#getVariationGroup_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.eastadl.variability.VariationGroup#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);
+
+} // VariationGroup
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/VehicleLevelBinding.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/VehicleLevelBinding.java
new file mode 100644
index 00000000000..1f597ec69e9
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/VehicleLevelBinding.java
@@ -0,0 +1,81 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Vehicle Level Binding</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * This class represents a ConfigurationDecisionModel on vehicle level with explicitly defined source and target feature models. The source feature models must be on vehicle level, but the target feature models may be located on artifact level, e.g. the public feature model of the top-level FunctionType in the FDA. This way, a VehicleLevelConfigurationDecisionModel may be used to bridge the gap from vehicle level variability management to that on artifact level.
+ *
+ * Source feature models may be either the core technical feature model (as defined by association technicalFeatureModel of meta-class VehicleLevel) or one of the optional product feature models (as defined by association productFeatureModel of meta-class Variability in the variability extension).
+ *
+ * Constraints:
+ * [1] The sourceVehicleFeatureModels shall only contain VehicleFeatures.
+ * [2] The sourceVehicleFeatureModels shall be different from the targetFeatureModels
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.VehicleLevelBinding#getSourceVehicleFeatureModel <em>Source Vehicle Feature Model</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.VehicleLevelBinding#getTargetFeatureModel <em>Target Feature Model</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getVehicleLevelBinding()
+ * @model
+ * @generated
+ */
+public interface VehicleLevelBinding extends ConfigurationDecisionModel {
+ /**
+ * Returns the value of the '<em><b>Source Vehicle Feature Model</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Source Vehicle Feature Model</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>Source Vehicle Feature Model</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getVehicleLevelBinding_SourceVehicleFeatureModel()
+ * @model
+ * @generated
+ */
+ EList<FeatureModel> getSourceVehicleFeatureModel();
+
+ /**
+ * Returns the value of the '<em><b>Target Feature Model</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Target Feature Model</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 Feature Model</em>' reference list.
+ * @see org.eclipse.papyrus.eastadl.variability.VariabilityPackage#getVehicleLevelBinding_TargetFeatureModel()
+ * @model
+ * @generated
+ */
+ EList<FeatureModel> getTargetFeatureModel();
+
+} // VehicleLevelBinding
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/ConfigurableContainerImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/ConfigurableContainerImpl.java
new file mode 100644
index 00000000000..04eafc1996b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/ConfigurableContainerImpl.java
@@ -0,0 +1,450 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability.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.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel;
+import org.eclipse.papyrus.eastadl.variability.ConfigurableContainer;
+import org.eclipse.papyrus.eastadl.variability.InternalBinding;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.VariationGroup;
+import org.eclipse.uml2.uml.NamedElement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Configurable Container</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.ConfigurableContainerImpl#getInternalBinding <em>Internal Binding</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.ConfigurableContainerImpl#getVariationGroup <em>Variation Group</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.ConfigurableContainerImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.ConfigurableContainerImpl#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.ConfigurableContainerImpl#getConfigurableElement <em>Configurable Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.ConfigurableContainerImpl#getPublicFeatureModel <em>Public Feature Model</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ConfigurableContainerImpl extends EAElementImpl implements ConfigurableContainer {
+ /**
+ * The cached value of the '{@link #getInternalBinding() <em>Internal Binding</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInternalBinding()
+ * @generated
+ * @ordered
+ */
+ protected InternalBinding internalBinding;
+
+ /**
+ * The cached value of the '{@link #getVariationGroup() <em>Variation Group</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVariationGroup()
+ * @generated
+ * @ordered
+ */
+ protected EList<VariationGroup> variationGroup;
+
+ /**
+ * 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 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 #getConfigurableElement() <em>Configurable Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConfigurableElement()
+ * @generated
+ * @ordered
+ */
+ protected NamedElement configurableElement;
+
+ /**
+ * The cached value of the '{@link #getPublicFeatureModel() <em>Public Feature Model</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPublicFeatureModel()
+ * @generated
+ * @ordered
+ */
+ protected FeatureModel publicFeatureModel;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConfigurableContainerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement basicGetConfigurableElement() {
+ return configurableElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InternalBinding basicGetInternalBinding() {
+ return internalBinding;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FeatureModel basicGetPublicFeatureModel() {
+ return publicFeatureModel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case VariabilityPackage.CONFIGURABLE_CONTAINER__INTERNAL_BINDING:
+ if (resolve) return getInternalBinding();
+ return basicGetInternalBinding();
+ case VariabilityPackage.CONFIGURABLE_CONTAINER__VARIATION_GROUP:
+ return getVariationGroup();
+ case VariabilityPackage.CONFIGURABLE_CONTAINER__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case VariabilityPackage.CONFIGURABLE_CONTAINER__BASE_PACKAGE:
+ if (resolve) return getBase_Package();
+ return basicGetBase_Package();
+ case VariabilityPackage.CONFIGURABLE_CONTAINER__CONFIGURABLE_ELEMENT:
+ if (resolve) return getConfigurableElement();
+ return basicGetConfigurableElement();
+ case VariabilityPackage.CONFIGURABLE_CONTAINER__PUBLIC_FEATURE_MODEL:
+ if (resolve) return getPublicFeatureModel();
+ return basicGetPublicFeatureModel();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case VariabilityPackage.CONFIGURABLE_CONTAINER__INTERNAL_BINDING:
+ return internalBinding != null;
+ case VariabilityPackage.CONFIGURABLE_CONTAINER__VARIATION_GROUP:
+ return variationGroup != null && !variationGroup.isEmpty();
+ case VariabilityPackage.CONFIGURABLE_CONTAINER__BASE_CLASS:
+ return base_Class != null;
+ case VariabilityPackage.CONFIGURABLE_CONTAINER__BASE_PACKAGE:
+ return base_Package != null;
+ case VariabilityPackage.CONFIGURABLE_CONTAINER__CONFIGURABLE_ELEMENT:
+ return configurableElement != null;
+ case VariabilityPackage.CONFIGURABLE_CONTAINER__PUBLIC_FEATURE_MODEL:
+ return publicFeatureModel != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case VariabilityPackage.CONFIGURABLE_CONTAINER__INTERNAL_BINDING:
+ setInternalBinding((InternalBinding)newValue);
+ return;
+ case VariabilityPackage.CONFIGURABLE_CONTAINER__VARIATION_GROUP:
+ getVariationGroup().clear();
+ getVariationGroup().addAll((Collection<? extends VariationGroup>)newValue);
+ return;
+ case VariabilityPackage.CONFIGURABLE_CONTAINER__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case VariabilityPackage.CONFIGURABLE_CONTAINER__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+ return;
+ case VariabilityPackage.CONFIGURABLE_CONTAINER__CONFIGURABLE_ELEMENT:
+ setConfigurableElement((NamedElement)newValue);
+ return;
+ case VariabilityPackage.CONFIGURABLE_CONTAINER__PUBLIC_FEATURE_MODEL:
+ setPublicFeatureModel((FeatureModel)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VariabilityPackage.Literals.CONFIGURABLE_CONTAINER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case VariabilityPackage.CONFIGURABLE_CONTAINER__INTERNAL_BINDING:
+ setInternalBinding((InternalBinding)null);
+ return;
+ case VariabilityPackage.CONFIGURABLE_CONTAINER__VARIATION_GROUP:
+ getVariationGroup().clear();
+ return;
+ case VariabilityPackage.CONFIGURABLE_CONTAINER__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case VariabilityPackage.CONFIGURABLE_CONTAINER__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)null);
+ return;
+ case VariabilityPackage.CONFIGURABLE_CONTAINER__CONFIGURABLE_ELEMENT:
+ setConfigurableElement((NamedElement)null);
+ return;
+ case VariabilityPackage.CONFIGURABLE_CONTAINER__PUBLIC_FEATURE_MODEL:
+ setPublicFeatureModel((FeatureModel)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getConfigurableElement() {
+ if (configurableElement != null && configurableElement.eIsProxy()) {
+ InternalEObject oldConfigurableElement = (InternalEObject)configurableElement;
+ configurableElement = (NamedElement)eResolveProxy(oldConfigurableElement);
+ if (configurableElement != oldConfigurableElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, VariabilityPackage.CONFIGURABLE_CONTAINER__CONFIGURABLE_ELEMENT, oldConfigurableElement, configurableElement));
+ }
+ }
+ return configurableElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InternalBinding getInternalBinding() {
+ if (internalBinding != null && internalBinding.eIsProxy()) {
+ InternalEObject oldInternalBinding = (InternalEObject)internalBinding;
+ internalBinding = (InternalBinding)eResolveProxy(oldInternalBinding);
+ if (internalBinding != oldInternalBinding) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, VariabilityPackage.CONFIGURABLE_CONTAINER__INTERNAL_BINDING, oldInternalBinding, internalBinding));
+ }
+ }
+ return internalBinding;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FeatureModel getPublicFeatureModel() {
+ if (publicFeatureModel != null && publicFeatureModel.eIsProxy()) {
+ InternalEObject oldPublicFeatureModel = (InternalEObject)publicFeatureModel;
+ publicFeatureModel = (FeatureModel)eResolveProxy(oldPublicFeatureModel);
+ if (publicFeatureModel != oldPublicFeatureModel) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, VariabilityPackage.CONFIGURABLE_CONTAINER__PUBLIC_FEATURE_MODEL, oldPublicFeatureModel, publicFeatureModel));
+ }
+ }
+ return publicFeatureModel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<VariationGroup> getVariationGroup() {
+ if (variationGroup == null) {
+ variationGroup = new EObjectResolvingEList<VariationGroup>(VariationGroup.class, this, VariabilityPackage.CONFIGURABLE_CONTAINER__VARIATION_GROUP);
+ }
+ return variationGroup;
+ }
+
+ /**
+ * <!-- 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, VariabilityPackage.CONFIGURABLE_CONTAINER__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, VariabilityPackage.CONFIGURABLE_CONTAINER__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- 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, VariabilityPackage.CONFIGURABLE_CONTAINER__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, VariabilityPackage.CONFIGURABLE_CONTAINER__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setConfigurableElement(NamedElement newConfigurableElement) {
+ NamedElement oldConfigurableElement = configurableElement;
+ configurableElement = newConfigurableElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VariabilityPackage.CONFIGURABLE_CONTAINER__CONFIGURABLE_ELEMENT, oldConfigurableElement, configurableElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInternalBinding(InternalBinding newInternalBinding) {
+ InternalBinding oldInternalBinding = internalBinding;
+ internalBinding = newInternalBinding;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VariabilityPackage.CONFIGURABLE_CONTAINER__INTERNAL_BINDING, oldInternalBinding, internalBinding));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPublicFeatureModel(FeatureModel newPublicFeatureModel) {
+ FeatureModel oldPublicFeatureModel = publicFeatureModel;
+ publicFeatureModel = newPublicFeatureModel;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VariabilityPackage.CONFIGURABLE_CONTAINER__PUBLIC_FEATURE_MODEL, oldPublicFeatureModel, publicFeatureModel));
+ }
+
+} //ConfigurableContainerImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/ConfigurationDecisionFolderImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/ConfigurationDecisionFolderImpl.java
new file mode 100644
index 00000000000..159f8e84317
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/ConfigurationDecisionFolderImpl.java
@@ -0,0 +1,143 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability.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.eastadl.variability.ConfigurationDecisionFolder;
+import org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModelEntry;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Configuration Decision Folder</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.ConfigurationDecisionFolderImpl#getChildEntry <em>Child Entry</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ConfigurationDecisionFolderImpl extends ConfigurationDecisionModelEntryImpl implements ConfigurationDecisionFolder {
+ /**
+ * The cached value of the '{@link #getChildEntry() <em>Child Entry</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getChildEntry()
+ * @generated
+ * @ordered
+ */
+ protected EList<ConfigurationDecisionModelEntry> childEntry;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConfigurationDecisionFolderImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case VariabilityPackage.CONFIGURATION_DECISION_FOLDER__CHILD_ENTRY:
+ return getChildEntry();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case VariabilityPackage.CONFIGURATION_DECISION_FOLDER__CHILD_ENTRY:
+ return childEntry != null && !childEntry.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case VariabilityPackage.CONFIGURATION_DECISION_FOLDER__CHILD_ENTRY:
+ getChildEntry().clear();
+ getChildEntry().addAll((Collection<? extends ConfigurationDecisionModelEntry>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VariabilityPackage.Literals.CONFIGURATION_DECISION_FOLDER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case VariabilityPackage.CONFIGURATION_DECISION_FOLDER__CHILD_ENTRY:
+ getChildEntry().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ConfigurationDecisionModelEntry> getChildEntry() {
+ if (childEntry == null) {
+ childEntry = new EObjectResolvingEList<ConfigurationDecisionModelEntry>(ConfigurationDecisionModelEntry.class, this, VariabilityPackage.CONFIGURATION_DECISION_FOLDER__CHILD_ENTRY);
+ }
+ return childEntry;
+ }
+
+} //ConfigurationDecisionFolderImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/ConfigurationDecisionImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/ConfigurationDecisionImpl.java
new file mode 100644
index 00000000000..6634cce1e65
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/ConfigurationDecisionImpl.java
@@ -0,0 +1,383 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability.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.eastadl.variability.ConfigurationDecision;
+import org.eclipse.papyrus.eastadl.variability.SelectionCriterion;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.uml2.uml.NamedElement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Configuration Decision</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.ConfigurationDecisionImpl#getEffect <em>Effect</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.ConfigurationDecisionImpl#getCriterion <em>Criterion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.ConfigurationDecisionImpl#isIsEquivalence <em>Is Equivalence</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.ConfigurationDecisionImpl#getTarget <em>Target</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.ConfigurationDecisionImpl#getSelectionCriterion <em>Selection Criterion</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ConfigurationDecisionImpl extends ConfigurationDecisionModelEntryImpl implements ConfigurationDecision {
+ /**
+ * The default value of the '{@link #getEffect() <em>Effect</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEffect()
+ * @generated
+ * @ordered
+ */
+ protected static final String EFFECT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getEffect() <em>Effect</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEffect()
+ * @generated
+ * @ordered
+ */
+ protected String effect = EFFECT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getCriterion() <em>Criterion</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCriterion()
+ * @generated
+ * @ordered
+ */
+ protected static final String CRITERION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCriterion() <em>Criterion</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCriterion()
+ * @generated
+ * @ordered
+ */
+ protected String criterion = CRITERION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isIsEquivalence() <em>Is Equivalence</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsEquivalence()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_EQUIVALENCE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsEquivalence() <em>Is Equivalence</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsEquivalence()
+ * @generated
+ * @ordered
+ */
+ protected boolean isEquivalence = IS_EQUIVALENCE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getTarget() <em>Target</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTarget()
+ * @generated
+ * @ordered
+ */
+ protected EList<NamedElement> target;
+
+ /**
+ * The cached value of the '{@link #getSelectionCriterion() <em>Selection Criterion</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSelectionCriterion()
+ * @generated
+ * @ordered
+ */
+ protected SelectionCriterion selectionCriterion;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConfigurationDecisionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SelectionCriterion basicGetSelectionCriterion() {
+ return selectionCriterion;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case VariabilityPackage.CONFIGURATION_DECISION__EFFECT:
+ return getEffect();
+ case VariabilityPackage.CONFIGURATION_DECISION__CRITERION:
+ return getCriterion();
+ case VariabilityPackage.CONFIGURATION_DECISION__IS_EQUIVALENCE:
+ return isIsEquivalence();
+ case VariabilityPackage.CONFIGURATION_DECISION__TARGET:
+ return getTarget();
+ case VariabilityPackage.CONFIGURATION_DECISION__SELECTION_CRITERION:
+ if (resolve) return getSelectionCriterion();
+ return basicGetSelectionCriterion();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case VariabilityPackage.CONFIGURATION_DECISION__EFFECT:
+ return EFFECT_EDEFAULT == null ? effect != null : !EFFECT_EDEFAULT.equals(effect);
+ case VariabilityPackage.CONFIGURATION_DECISION__CRITERION:
+ return CRITERION_EDEFAULT == null ? criterion != null : !CRITERION_EDEFAULT.equals(criterion);
+ case VariabilityPackage.CONFIGURATION_DECISION__IS_EQUIVALENCE:
+ return isEquivalence != IS_EQUIVALENCE_EDEFAULT;
+ case VariabilityPackage.CONFIGURATION_DECISION__TARGET:
+ return target != null && !target.isEmpty();
+ case VariabilityPackage.CONFIGURATION_DECISION__SELECTION_CRITERION:
+ return selectionCriterion != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case VariabilityPackage.CONFIGURATION_DECISION__EFFECT:
+ setEffect((String)newValue);
+ return;
+ case VariabilityPackage.CONFIGURATION_DECISION__CRITERION:
+ setCriterion((String)newValue);
+ return;
+ case VariabilityPackage.CONFIGURATION_DECISION__IS_EQUIVALENCE:
+ setIsEquivalence((Boolean)newValue);
+ return;
+ case VariabilityPackage.CONFIGURATION_DECISION__TARGET:
+ getTarget().clear();
+ getTarget().addAll((Collection<? extends NamedElement>)newValue);
+ return;
+ case VariabilityPackage.CONFIGURATION_DECISION__SELECTION_CRITERION:
+ setSelectionCriterion((SelectionCriterion)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VariabilityPackage.Literals.CONFIGURATION_DECISION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case VariabilityPackage.CONFIGURATION_DECISION__EFFECT:
+ setEffect(EFFECT_EDEFAULT);
+ return;
+ case VariabilityPackage.CONFIGURATION_DECISION__CRITERION:
+ setCriterion(CRITERION_EDEFAULT);
+ return;
+ case VariabilityPackage.CONFIGURATION_DECISION__IS_EQUIVALENCE:
+ setIsEquivalence(IS_EQUIVALENCE_EDEFAULT);
+ return;
+ case VariabilityPackage.CONFIGURATION_DECISION__TARGET:
+ getTarget().clear();
+ return;
+ case VariabilityPackage.CONFIGURATION_DECISION__SELECTION_CRITERION:
+ setSelectionCriterion((SelectionCriterion)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCriterion() {
+ return criterion;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getEffect() {
+ return effect;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SelectionCriterion getSelectionCriterion() {
+ if (selectionCriterion != null && selectionCriterion.eIsProxy()) {
+ InternalEObject oldSelectionCriterion = (InternalEObject)selectionCriterion;
+ selectionCriterion = (SelectionCriterion)eResolveProxy(oldSelectionCriterion);
+ if (selectionCriterion != oldSelectionCriterion) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, VariabilityPackage.CONFIGURATION_DECISION__SELECTION_CRITERION, oldSelectionCriterion, selectionCriterion));
+ }
+ }
+ return selectionCriterion;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<NamedElement> getTarget() {
+ if (target == null) {
+ target = new EObjectResolvingEList<NamedElement>(NamedElement.class, this, VariabilityPackage.CONFIGURATION_DECISION__TARGET);
+ }
+ return target;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsEquivalence() {
+ return isEquivalence;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCriterion(String newCriterion) {
+ String oldCriterion = criterion;
+ criterion = newCriterion;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VariabilityPackage.CONFIGURATION_DECISION__CRITERION, oldCriterion, criterion));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEffect(String newEffect) {
+ String oldEffect = effect;
+ effect = newEffect;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VariabilityPackage.CONFIGURATION_DECISION__EFFECT, oldEffect, effect));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsEquivalence(boolean newIsEquivalence) {
+ boolean oldIsEquivalence = isEquivalence;
+ isEquivalence = newIsEquivalence;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VariabilityPackage.CONFIGURATION_DECISION__IS_EQUIVALENCE, oldIsEquivalence, isEquivalence));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSelectionCriterion(SelectionCriterion newSelectionCriterion) {
+ SelectionCriterion oldSelectionCriterion = selectionCriterion;
+ selectionCriterion = newSelectionCriterion;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VariabilityPackage.CONFIGURATION_DECISION__SELECTION_CRITERION, oldSelectionCriterion, selectionCriterion));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (effect: ");
+ result.append(effect);
+ result.append(", criterion: ");
+ result.append(criterion);
+ result.append(", isEquivalence: ");
+ result.append(isEquivalence);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ConfigurationDecisionImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/ConfigurationDecisionModelEntryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/ConfigurationDecisionModelEntryImpl.java
new file mode 100644
index 00000000000..591d90347fa
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/ConfigurationDecisionModelEntryImpl.java
@@ -0,0 +1,235 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability.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.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModelEntry;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Configuration Decision Model Entry</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.ConfigurationDecisionModelEntryImpl#isIsActive <em>Is Active</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.ConfigurationDecisionModelEntryImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class ConfigurationDecisionModelEntryImpl extends EAElementImpl implements ConfigurationDecisionModelEntry {
+ /**
+ * The default value of the '{@link #isIsActive() <em>Is Active</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsActive()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_ACTIVE_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isIsActive() <em>Is Active</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsActive()
+ * @generated
+ * @ordered
+ */
+ protected boolean isActive = IS_ACTIVE_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 ConfigurationDecisionModelEntryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case VariabilityPackage.CONFIGURATION_DECISION_MODEL_ENTRY__IS_ACTIVE:
+ return isIsActive();
+ case VariabilityPackage.CONFIGURATION_DECISION_MODEL_ENTRY__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 boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case VariabilityPackage.CONFIGURATION_DECISION_MODEL_ENTRY__IS_ACTIVE:
+ return isActive != IS_ACTIVE_EDEFAULT;
+ case VariabilityPackage.CONFIGURATION_DECISION_MODEL_ENTRY__BASE_CLASS:
+ return base_Class != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case VariabilityPackage.CONFIGURATION_DECISION_MODEL_ENTRY__IS_ACTIVE:
+ setIsActive((Boolean)newValue);
+ return;
+ case VariabilityPackage.CONFIGURATION_DECISION_MODEL_ENTRY__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VariabilityPackage.Literals.CONFIGURATION_DECISION_MODEL_ENTRY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case VariabilityPackage.CONFIGURATION_DECISION_MODEL_ENTRY__IS_ACTIVE:
+ setIsActive(IS_ACTIVE_EDEFAULT);
+ return;
+ case VariabilityPackage.CONFIGURATION_DECISION_MODEL_ENTRY__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsActive() {
+ return isActive;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsActive(boolean newIsActive) {
+ boolean oldIsActive = isActive;
+ isActive = newIsActive;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VariabilityPackage.CONFIGURATION_DECISION_MODEL_ENTRY__IS_ACTIVE, oldIsActive, isActive));
+ }
+
+ /**
+ * <!-- 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, VariabilityPackage.CONFIGURATION_DECISION_MODEL_ENTRY__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, VariabilityPackage.CONFIGURATION_DECISION_MODEL_ENTRY__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (isActive: ");
+ result.append(isActive);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ConfigurationDecisionModelEntryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/ConfigurationDecisionModelImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/ConfigurationDecisionModelImpl.java
new file mode 100644
index 00000000000..49cf5cf32f1
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/ConfigurationDecisionModelImpl.java
@@ -0,0 +1,267 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability.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.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModel;
+import org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModelEntry;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Configuration Decision Model</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.ConfigurationDecisionModelImpl#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.ConfigurationDecisionModelImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.ConfigurationDecisionModelImpl#getRootEntry <em>Root Entry</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class ConfigurationDecisionModelImpl extends EAElementImpl implements ConfigurationDecisionModel {
+ /**
+ * 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 #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 cached value of the '{@link #getRootEntry() <em>Root Entry</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRootEntry()
+ * @generated
+ * @ordered
+ */
+ protected EList<ConfigurationDecisionModelEntry> rootEntry;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConfigurationDecisionModelImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case VariabilityPackage.CONFIGURATION_DECISION_MODEL__BASE_PACKAGE:
+ if (resolve) return getBase_Package();
+ return basicGetBase_Package();
+ case VariabilityPackage.CONFIGURATION_DECISION_MODEL__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case VariabilityPackage.CONFIGURATION_DECISION_MODEL__ROOT_ENTRY:
+ return getRootEntry();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case VariabilityPackage.CONFIGURATION_DECISION_MODEL__BASE_PACKAGE:
+ return base_Package != null;
+ case VariabilityPackage.CONFIGURATION_DECISION_MODEL__BASE_CLASS:
+ return base_Class != null;
+ case VariabilityPackage.CONFIGURATION_DECISION_MODEL__ROOT_ENTRY:
+ return rootEntry != null && !rootEntry.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case VariabilityPackage.CONFIGURATION_DECISION_MODEL__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+ return;
+ case VariabilityPackage.CONFIGURATION_DECISION_MODEL__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case VariabilityPackage.CONFIGURATION_DECISION_MODEL__ROOT_ENTRY:
+ getRootEntry().clear();
+ getRootEntry().addAll((Collection<? extends ConfigurationDecisionModelEntry>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VariabilityPackage.Literals.CONFIGURATION_DECISION_MODEL;
+ }
+
+ /**
+ * <!-- 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, VariabilityPackage.CONFIGURATION_DECISION_MODEL__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, VariabilityPackage.CONFIGURATION_DECISION_MODEL__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+
+ /**
+ * <!-- 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, VariabilityPackage.CONFIGURATION_DECISION_MODEL__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, VariabilityPackage.CONFIGURATION_DECISION_MODEL__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case VariabilityPackage.CONFIGURATION_DECISION_MODEL__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)null);
+ return;
+ case VariabilityPackage.CONFIGURATION_DECISION_MODEL__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case VariabilityPackage.CONFIGURATION_DECISION_MODEL__ROOT_ENTRY:
+ getRootEntry().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ConfigurationDecisionModelEntry> getRootEntry() {
+ if (rootEntry == null) {
+ rootEntry = new EObjectResolvingEList<ConfigurationDecisionModelEntry>(ConfigurationDecisionModelEntry.class, this, VariabilityPackage.CONFIGURATION_DECISION_MODEL__ROOT_ENTRY);
+ }
+ return rootEntry;
+ }
+
+} //ConfigurationDecisionModelImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/ContainerConfigurationImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/ContainerConfigurationImpl.java
new file mode 100644
index 00000000000..1527fe7fbdc
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/ContainerConfigurationImpl.java
@@ -0,0 +1,167 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability.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.eastadl.variability.ConfigurableContainer;
+import org.eclipse.papyrus.eastadl.variability.ContainerConfiguration;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Container Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.ContainerConfigurationImpl#getConfiguredContainer <em>Configured Container</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ContainerConfigurationImpl extends ConfigurationDecisionModelImpl implements ContainerConfiguration {
+ /**
+ * The cached value of the '{@link #getConfiguredContainer() <em>Configured Container</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConfiguredContainer()
+ * @generated
+ * @ordered
+ */
+ protected ConfigurableContainer configuredContainer;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ContainerConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConfigurableContainer basicGetConfiguredContainer() {
+ return configuredContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case VariabilityPackage.CONTAINER_CONFIGURATION__CONFIGURED_CONTAINER:
+ if (resolve) return getConfiguredContainer();
+ return basicGetConfiguredContainer();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case VariabilityPackage.CONTAINER_CONFIGURATION__CONFIGURED_CONTAINER:
+ return configuredContainer != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case VariabilityPackage.CONTAINER_CONFIGURATION__CONFIGURED_CONTAINER:
+ setConfiguredContainer((ConfigurableContainer)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VariabilityPackage.Literals.CONTAINER_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case VariabilityPackage.CONTAINER_CONFIGURATION__CONFIGURED_CONTAINER:
+ setConfiguredContainer((ConfigurableContainer)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConfigurableContainer getConfiguredContainer() {
+ if (configuredContainer != null && configuredContainer.eIsProxy()) {
+ InternalEObject oldConfiguredContainer = (InternalEObject)configuredContainer;
+ configuredContainer = (ConfigurableContainer)eResolveProxy(oldConfiguredContainer);
+ if (configuredContainer != oldConfiguredContainer) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, VariabilityPackage.CONTAINER_CONFIGURATION__CONFIGURED_CONTAINER, oldConfiguredContainer, configuredContainer));
+ }
+ }
+ return configuredContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setConfiguredContainer(ConfigurableContainer newConfiguredContainer) {
+ ConfigurableContainer oldConfiguredContainer = configuredContainer;
+ configuredContainer = newConfiguredContainer;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VariabilityPackage.CONTAINER_CONFIGURATION__CONFIGURED_CONTAINER, oldConfiguredContainer, configuredContainer));
+ }
+
+} //ContainerConfigurationImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/FeatureConfigurationImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/FeatureConfigurationImpl.java
new file mode 100644
index 00000000000..928bd336086
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/FeatureConfigurationImpl.java
@@ -0,0 +1,167 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability.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.eastadl.structure.featuremodeling.FeatureModel;
+import org.eclipse.papyrus.eastadl.variability.FeatureConfiguration;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Feature Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.FeatureConfigurationImpl#getConfiguredFeatureModel <em>Configured Feature Model</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FeatureConfigurationImpl extends ConfigurationDecisionModelImpl implements FeatureConfiguration {
+ /**
+ * The cached value of the '{@link #getConfiguredFeatureModel() <em>Configured Feature Model</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConfiguredFeatureModel()
+ * @generated
+ * @ordered
+ */
+ protected FeatureModel configuredFeatureModel;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FeatureConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FeatureModel basicGetConfiguredFeatureModel() {
+ return configuredFeatureModel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case VariabilityPackage.FEATURE_CONFIGURATION__CONFIGURED_FEATURE_MODEL:
+ if (resolve) return getConfiguredFeatureModel();
+ return basicGetConfiguredFeatureModel();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case VariabilityPackage.FEATURE_CONFIGURATION__CONFIGURED_FEATURE_MODEL:
+ return configuredFeatureModel != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case VariabilityPackage.FEATURE_CONFIGURATION__CONFIGURED_FEATURE_MODEL:
+ setConfiguredFeatureModel((FeatureModel)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VariabilityPackage.Literals.FEATURE_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case VariabilityPackage.FEATURE_CONFIGURATION__CONFIGURED_FEATURE_MODEL:
+ setConfiguredFeatureModel((FeatureModel)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FeatureModel getConfiguredFeatureModel() {
+ if (configuredFeatureModel != null && configuredFeatureModel.eIsProxy()) {
+ InternalEObject oldConfiguredFeatureModel = (InternalEObject)configuredFeatureModel;
+ configuredFeatureModel = (FeatureModel)eResolveProxy(oldConfiguredFeatureModel);
+ if (configuredFeatureModel != oldConfiguredFeatureModel) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, VariabilityPackage.FEATURE_CONFIGURATION__CONFIGURED_FEATURE_MODEL, oldConfiguredFeatureModel, configuredFeatureModel));
+ }
+ }
+ return configuredFeatureModel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setConfiguredFeatureModel(FeatureModel newConfiguredFeatureModel) {
+ FeatureModel oldConfiguredFeatureModel = configuredFeatureModel;
+ configuredFeatureModel = newConfiguredFeatureModel;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VariabilityPackage.FEATURE_CONFIGURATION__CONFIGURED_FEATURE_MODEL, oldConfiguredFeatureModel, configuredFeatureModel));
+ }
+
+} //FeatureConfigurationImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/InternalBindingImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/InternalBindingImpl.java
new file mode 100644
index 00000000000..9ccb0f51923
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/InternalBindingImpl.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.eastadl.variability.InternalBinding;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Internal Binding</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class InternalBindingImpl extends ConfigurationDecisionModelImpl implements InternalBinding {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InternalBindingImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VariabilityPackage.Literals.INTERNAL_BINDING;
+ }
+
+} //InternalBindingImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/PrivateContentImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/PrivateContentImpl.java
new file mode 100644
index 00000000000..2911f65f028
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/PrivateContentImpl.java
@@ -0,0 +1,228 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability.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.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.variability.PrivateContent;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.uml2.uml.NamedElement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Private Content</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.PrivateContentImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.PrivateContentImpl#getPrivateElement <em>Private Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PrivateContentImpl extends EAElementImpl implements PrivateContent {
+ /**
+ * 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 cached value of the '{@link #getPrivateElement() <em>Private Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPrivateElement()
+ * @generated
+ * @ordered
+ */
+ protected NamedElement privateElement;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PrivateContentImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement basicGetPrivateElement() {
+ return privateElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case VariabilityPackage.PRIVATE_CONTENT__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case VariabilityPackage.PRIVATE_CONTENT__PRIVATE_ELEMENT:
+ if (resolve) return getPrivateElement();
+ return basicGetPrivateElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case VariabilityPackage.PRIVATE_CONTENT__BASE_CLASS:
+ return base_Class != null;
+ case VariabilityPackage.PRIVATE_CONTENT__PRIVATE_ELEMENT:
+ return privateElement != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case VariabilityPackage.PRIVATE_CONTENT__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case VariabilityPackage.PRIVATE_CONTENT__PRIVATE_ELEMENT:
+ setPrivateElement((NamedElement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VariabilityPackage.Literals.PRIVATE_CONTENT;
+ }
+
+ /**
+ * <!-- 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, VariabilityPackage.PRIVATE_CONTENT__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, VariabilityPackage.PRIVATE_CONTENT__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case VariabilityPackage.PRIVATE_CONTENT__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case VariabilityPackage.PRIVATE_CONTENT__PRIVATE_ELEMENT:
+ setPrivateElement((NamedElement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getPrivateElement() {
+ if (privateElement != null && privateElement.eIsProxy()) {
+ InternalEObject oldPrivateElement = (InternalEObject)privateElement;
+ privateElement = (NamedElement)eResolveProxy(oldPrivateElement);
+ if (privateElement != oldPrivateElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, VariabilityPackage.PRIVATE_CONTENT__PRIVATE_ELEMENT, oldPrivateElement, privateElement));
+ }
+ }
+ return privateElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPrivateElement(NamedElement newPrivateElement) {
+ NamedElement oldPrivateElement = privateElement;
+ privateElement = newPrivateElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VariabilityPackage.PRIVATE_CONTENT__PRIVATE_ELEMENT, oldPrivateElement, privateElement));
+ }
+
+} //PrivateContentImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/ReuseMetaInformationImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/ReuseMetaInformationImpl.java
new file mode 100644
index 00000000000..1e0c2068c38
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/ReuseMetaInformationImpl.java
@@ -0,0 +1,278 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability.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.eastadl.infrastructure.elements.impl.TraceableSpecificationImpl;
+import org.eclipse.papyrus.eastadl.variability.ReuseMetaInformation;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Reuse Meta Information</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.ReuseMetaInformationImpl#getInformation <em>Information</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.ReuseMetaInformationImpl#isIsReusable <em>Is Reusable</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.ReuseMetaInformationImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ReuseMetaInformationImpl extends TraceableSpecificationImpl implements ReuseMetaInformation {
+
+ /**
+ * The default value of the '{@link #getInformation() <em>Information</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getInformation()
+ * @generated
+ * @ordered
+ */
+ protected static final String INFORMATION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getInformation() <em>Information</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getInformation()
+ * @generated
+ * @ordered
+ */
+ protected String information = INFORMATION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isIsReusable() <em>Is Reusable</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isIsReusable()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_REUSABLE_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isIsReusable() <em>Is Reusable</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isIsReusable()
+ * @generated
+ * @ordered
+ */
+ protected boolean isReusable = IS_REUSABLE_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 ReuseMetaInformationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case VariabilityPackage.REUSE_META_INFORMATION__INFORMATION:
+ return getInformation();
+ case VariabilityPackage.REUSE_META_INFORMATION__IS_REUSABLE:
+ return isIsReusable();
+ case VariabilityPackage.REUSE_META_INFORMATION__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 boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case VariabilityPackage.REUSE_META_INFORMATION__INFORMATION:
+ return INFORMATION_EDEFAULT == null ? information != null : !INFORMATION_EDEFAULT.equals(information);
+ case VariabilityPackage.REUSE_META_INFORMATION__IS_REUSABLE:
+ return isReusable != IS_REUSABLE_EDEFAULT;
+ case VariabilityPackage.REUSE_META_INFORMATION__BASE_CLASS:
+ return base_Class != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case VariabilityPackage.REUSE_META_INFORMATION__INFORMATION:
+ setInformation((String)newValue);
+ return;
+ case VariabilityPackage.REUSE_META_INFORMATION__IS_REUSABLE:
+ setIsReusable((Boolean)newValue);
+ return;
+ case VariabilityPackage.REUSE_META_INFORMATION__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VariabilityPackage.Literals.REUSE_META_INFORMATION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case VariabilityPackage.REUSE_META_INFORMATION__INFORMATION:
+ setInformation(INFORMATION_EDEFAULT);
+ return;
+ case VariabilityPackage.REUSE_META_INFORMATION__IS_REUSABLE:
+ setIsReusable(IS_REUSABLE_EDEFAULT);
+ return;
+ case VariabilityPackage.REUSE_META_INFORMATION__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getInformation() {
+ return information;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsReusable() {
+ return isReusable;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInformation(String newInformation) {
+ String oldInformation = information;
+ information = newInformation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VariabilityPackage.REUSE_META_INFORMATION__INFORMATION, oldInformation, information));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsReusable(boolean newIsReusable) {
+ boolean oldIsReusable = isReusable;
+ isReusable = newIsReusable;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VariabilityPackage.REUSE_META_INFORMATION__IS_REUSABLE, oldIsReusable, isReusable));
+ }
+
+ /**
+ * <!-- 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, VariabilityPackage.REUSE_META_INFORMATION__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, VariabilityPackage.REUSE_META_INFORMATION__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (information: ");
+ result.append(information);
+ result.append(", isReusable: ");
+ result.append(isReusable);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ReuseMetaInformationImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/SelectionCriterionImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/SelectionCriterionImpl.java
new file mode 100644
index 00000000000..bd1c3231111
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/SelectionCriterionImpl.java
@@ -0,0 +1,207 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability.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.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.variability.SelectionCriterion;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.uml2.uml.NamedElement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Selection Criterion</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.SelectionCriterionImpl#getSource <em>Source</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.SelectionCriterionImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SelectionCriterionImpl extends EAElementImpl implements SelectionCriterion {
+ /**
+ * The cached value of the '{@link #getSource() <em>Source</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSource()
+ * @generated
+ * @ordered
+ */
+ protected EList<NamedElement> source;
+
+ /**
+ * 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 SelectionCriterionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case VariabilityPackage.SELECTION_CRITERION__SOURCE:
+ return getSource();
+ case VariabilityPackage.SELECTION_CRITERION__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 boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case VariabilityPackage.SELECTION_CRITERION__SOURCE:
+ return source != null && !source.isEmpty();
+ case VariabilityPackage.SELECTION_CRITERION__BASE_CLASS:
+ return base_Class != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case VariabilityPackage.SELECTION_CRITERION__SOURCE:
+ getSource().clear();
+ getSource().addAll((Collection<? extends NamedElement>)newValue);
+ return;
+ case VariabilityPackage.SELECTION_CRITERION__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VariabilityPackage.Literals.SELECTION_CRITERION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case VariabilityPackage.SELECTION_CRITERION__SOURCE:
+ getSource().clear();
+ return;
+ case VariabilityPackage.SELECTION_CRITERION__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<NamedElement> getSource() {
+ if (source == null) {
+ source = new EObjectResolvingEList<NamedElement>(NamedElement.class, this, VariabilityPackage.SELECTION_CRITERION__SOURCE);
+ }
+ return source;
+ }
+
+ /**
+ * <!-- 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, VariabilityPackage.SELECTION_CRITERION__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, VariabilityPackage.SELECTION_CRITERION__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+} //SelectionCriterionImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/VariabilityFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/VariabilityFactoryImpl.java
new file mode 100644
index 00000000000..a6fd950710f
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/VariabilityFactoryImpl.java
@@ -0,0 +1,244 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability.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.eclipse.papyrus.eastadl.variability.ConfigurableContainer;
+import org.eclipse.papyrus.eastadl.variability.ConfigurationDecision;
+import org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionFolder;
+import org.eclipse.papyrus.eastadl.variability.ContainerConfiguration;
+import org.eclipse.papyrus.eastadl.variability.FeatureConfiguration;
+import org.eclipse.papyrus.eastadl.variability.InternalBinding;
+import org.eclipse.papyrus.eastadl.variability.PrivateContent;
+import org.eclipse.papyrus.eastadl.variability.ReuseMetaInformation;
+import org.eclipse.papyrus.eastadl.variability.SelectionCriterion;
+import org.eclipse.papyrus.eastadl.variability.Variability;
+import org.eclipse.papyrus.eastadl.variability.VariabilityFactory;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.VariableElement;
+import org.eclipse.papyrus.eastadl.variability.VariationGroup;
+import org.eclipse.papyrus.eastadl.variability.VehicleLevelBinding;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!-- end-user-doc -->
+ * @generated
+ */
+public class VariabilityFactoryImpl extends EFactoryImpl implements VariabilityFactory {
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static VariabilityPackage getPackage() {
+ return VariabilityPackage.eINSTANCE;
+ }
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public static VariabilityFactory init() {
+ try {
+ VariabilityFactory theVariabilityFactory = (VariabilityFactory)EPackage.Registry.INSTANCE.getEFactory(VariabilityPackage.eNS_URI);
+ if (theVariabilityFactory != null) {
+ return theVariabilityFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new VariabilityFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public VariabilityFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case VariabilityPackage.VARIATION_GROUP: return createVariationGroup();
+ case VariabilityPackage.VARIABLE_ELEMENT: return createVariableElement();
+ case VariabilityPackage.REUSE_META_INFORMATION: return createReuseMetaInformation();
+ case VariabilityPackage.CONFIGURABLE_CONTAINER: return createConfigurableContainer();
+ case VariabilityPackage.INTERNAL_BINDING: return createInternalBinding();
+ case VariabilityPackage.VARIABILITY: return createVariability();
+ case VariabilityPackage.FEATURE_CONFIGURATION: return createFeatureConfiguration();
+ case VariabilityPackage.VEHICLE_LEVEL_BINDING: return createVehicleLevelBinding();
+ case VariabilityPackage.CONFIGURATION_DECISION: return createConfigurationDecision();
+ case VariabilityPackage.SELECTION_CRITERION: return createSelectionCriterion();
+ case VariabilityPackage.CONFIGURATION_DECISION_FOLDER: return createConfigurationDecisionFolder();
+ case VariabilityPackage.CONTAINER_CONFIGURATION: return createContainerConfiguration();
+ case VariabilityPackage.PRIVATE_CONTENT: return createPrivateContent();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConfigurableContainer createConfigurableContainer() {
+ ConfigurableContainerImpl configurableContainer = new ConfigurableContainerImpl();
+ return configurableContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConfigurationDecision createConfigurationDecision() {
+ ConfigurationDecisionImpl configurationDecision = new ConfigurationDecisionImpl();
+ return configurationDecision;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConfigurationDecisionFolder createConfigurationDecisionFolder() {
+ ConfigurationDecisionFolderImpl configurationDecisionFolder = new ConfigurationDecisionFolderImpl();
+ return configurationDecisionFolder;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ContainerConfiguration createContainerConfiguration() {
+ ContainerConfigurationImpl containerConfiguration = new ContainerConfigurationImpl();
+ return containerConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FeatureConfiguration createFeatureConfiguration() {
+ FeatureConfigurationImpl featureConfiguration = new FeatureConfigurationImpl();
+ return featureConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VehicleLevelBinding createVehicleLevelBinding() {
+ VehicleLevelBindingImpl vehicleLevelBinding = new VehicleLevelBindingImpl();
+ return vehicleLevelBinding;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InternalBinding createInternalBinding() {
+ InternalBindingImpl internalBinding = new InternalBindingImpl();
+ return internalBinding;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PrivateContent createPrivateContent() {
+ PrivateContentImpl privateContent = new PrivateContentImpl();
+ return privateContent;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ReuseMetaInformation createReuseMetaInformation() {
+ ReuseMetaInformationImpl reuseMetaInformation = new ReuseMetaInformationImpl();
+ return reuseMetaInformation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SelectionCriterion createSelectionCriterion() {
+ SelectionCriterionImpl selectionCriterion = new SelectionCriterionImpl();
+ return selectionCriterion;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Variability createVariability() {
+ VariabilityImpl variability = new VariabilityImpl();
+ return variability;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VariableElement createVariableElement() {
+ VariableElementImpl variableElement = new VariableElementImpl();
+ return variableElement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public VariationGroup createVariationGroup() {
+ VariationGroupImpl variationGroup = new VariationGroupImpl();
+ return variationGroup;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public VariabilityPackage getVariabilityPackage() {
+ return (VariabilityPackage)getEPackage();
+ }
+
+} // VariabilityFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/VariabilityImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/VariabilityImpl.java
new file mode 100644
index 00000000000..22662a8065b
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/VariabilityImpl.java
@@ -0,0 +1,407 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability.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.eastadl.infrastructure.elements.impl.ContextImpl;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeatureModel;
+import org.eclipse.papyrus.eastadl.variability.ConfigurableContainer;
+import org.eclipse.papyrus.eastadl.variability.FeatureConfiguration;
+import org.eclipse.papyrus.eastadl.variability.Variability;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.VariableElement;
+import org.eclipse.papyrus.eastadl.variability.VehicleLevelBinding;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Variability</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.VariabilityImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.VariabilityImpl#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.VariabilityImpl#getConfigurableContainer <em>Configurable Container</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.VariabilityImpl#getConfiguration <em>Configuration</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.VariabilityImpl#getProductFeatureModel <em>Product Feature Model</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.VariabilityImpl#getDecisionModel <em>Decision Model</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.VariabilityImpl#getVariableElement <em>Variable Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class VariabilityImpl extends ContextImpl implements Variability {
+ /**
+ * 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 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 #getConfigurableContainer() <em>Configurable Container</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConfigurableContainer()
+ * @generated
+ * @ordered
+ */
+ protected EList<ConfigurableContainer> configurableContainer;
+
+ /**
+ * The cached value of the '{@link #getConfiguration() <em>Configuration</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConfiguration()
+ * @generated
+ * @ordered
+ */
+ protected EList<FeatureConfiguration> configuration;
+
+ /**
+ * The cached value of the '{@link #getProductFeatureModel() <em>Product Feature Model</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProductFeatureModel()
+ * @generated
+ * @ordered
+ */
+ protected EList<FeatureModel> productFeatureModel;
+
+ /**
+ * The cached value of the '{@link #getDecisionModel() <em>Decision Model</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDecisionModel()
+ * @generated
+ * @ordered
+ */
+ protected EList<VehicleLevelBinding> decisionModel;
+
+ /**
+ * The cached value of the '{@link #getVariableElement() <em>Variable Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVariableElement()
+ * @generated
+ * @ordered
+ */
+ protected EList<VariableElement> variableElement;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected VariabilityImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case VariabilityPackage.VARIABILITY__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case VariabilityPackage.VARIABILITY__BASE_PACKAGE:
+ if (resolve) return getBase_Package();
+ return basicGetBase_Package();
+ case VariabilityPackage.VARIABILITY__CONFIGURABLE_CONTAINER:
+ return getConfigurableContainer();
+ case VariabilityPackage.VARIABILITY__CONFIGURATION:
+ return getConfiguration();
+ case VariabilityPackage.VARIABILITY__PRODUCT_FEATURE_MODEL:
+ return getProductFeatureModel();
+ case VariabilityPackage.VARIABILITY__DECISION_MODEL:
+ return getDecisionModel();
+ case VariabilityPackage.VARIABILITY__VARIABLE_ELEMENT:
+ return getVariableElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case VariabilityPackage.VARIABILITY__BASE_CLASS:
+ return base_Class != null;
+ case VariabilityPackage.VARIABILITY__BASE_PACKAGE:
+ return base_Package != null;
+ case VariabilityPackage.VARIABILITY__CONFIGURABLE_CONTAINER:
+ return configurableContainer != null && !configurableContainer.isEmpty();
+ case VariabilityPackage.VARIABILITY__CONFIGURATION:
+ return configuration != null && !configuration.isEmpty();
+ case VariabilityPackage.VARIABILITY__PRODUCT_FEATURE_MODEL:
+ return productFeatureModel != null && !productFeatureModel.isEmpty();
+ case VariabilityPackage.VARIABILITY__DECISION_MODEL:
+ return decisionModel != null && !decisionModel.isEmpty();
+ case VariabilityPackage.VARIABILITY__VARIABLE_ELEMENT:
+ return variableElement != null && !variableElement.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case VariabilityPackage.VARIABILITY__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case VariabilityPackage.VARIABILITY__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+ return;
+ case VariabilityPackage.VARIABILITY__CONFIGURABLE_CONTAINER:
+ getConfigurableContainer().clear();
+ getConfigurableContainer().addAll((Collection<? extends ConfigurableContainer>)newValue);
+ return;
+ case VariabilityPackage.VARIABILITY__CONFIGURATION:
+ getConfiguration().clear();
+ getConfiguration().addAll((Collection<? extends FeatureConfiguration>)newValue);
+ return;
+ case VariabilityPackage.VARIABILITY__PRODUCT_FEATURE_MODEL:
+ getProductFeatureModel().clear();
+ getProductFeatureModel().addAll((Collection<? extends FeatureModel>)newValue);
+ return;
+ case VariabilityPackage.VARIABILITY__DECISION_MODEL:
+ getDecisionModel().clear();
+ getDecisionModel().addAll((Collection<? extends VehicleLevelBinding>)newValue);
+ return;
+ case VariabilityPackage.VARIABILITY__VARIABLE_ELEMENT:
+ getVariableElement().clear();
+ getVariableElement().addAll((Collection<? extends VariableElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VariabilityPackage.Literals.VARIABILITY;
+ }
+
+ /**
+ * <!-- 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, VariabilityPackage.VARIABILITY__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, VariabilityPackage.VARIABILITY__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- 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, VariabilityPackage.VARIABILITY__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, VariabilityPackage.VARIABILITY__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case VariabilityPackage.VARIABILITY__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case VariabilityPackage.VARIABILITY__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)null);
+ return;
+ case VariabilityPackage.VARIABILITY__CONFIGURABLE_CONTAINER:
+ getConfigurableContainer().clear();
+ return;
+ case VariabilityPackage.VARIABILITY__CONFIGURATION:
+ getConfiguration().clear();
+ return;
+ case VariabilityPackage.VARIABILITY__PRODUCT_FEATURE_MODEL:
+ getProductFeatureModel().clear();
+ return;
+ case VariabilityPackage.VARIABILITY__DECISION_MODEL:
+ getDecisionModel().clear();
+ return;
+ case VariabilityPackage.VARIABILITY__VARIABLE_ELEMENT:
+ getVariableElement().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ConfigurableContainer> getConfigurableContainer() {
+ if (configurableContainer == null) {
+ configurableContainer = new EObjectResolvingEList<ConfigurableContainer>(ConfigurableContainer.class, this, VariabilityPackage.VARIABILITY__CONFIGURABLE_CONTAINER);
+ }
+ return configurableContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FeatureConfiguration> getConfiguration() {
+ if (configuration == null) {
+ configuration = new EObjectResolvingEList<FeatureConfiguration>(FeatureConfiguration.class, this, VariabilityPackage.VARIABILITY__CONFIGURATION);
+ }
+ return configuration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<VehicleLevelBinding> getDecisionModel() {
+ if (decisionModel == null) {
+ decisionModel = new EObjectResolvingEList<VehicleLevelBinding>(VehicleLevelBinding.class, this, VariabilityPackage.VARIABILITY__DECISION_MODEL);
+ }
+ return decisionModel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FeatureModel> getProductFeatureModel() {
+ if (productFeatureModel == null) {
+ productFeatureModel = new EObjectResolvingEList<FeatureModel>(FeatureModel.class, this, VariabilityPackage.VARIABILITY__PRODUCT_FEATURE_MODEL);
+ }
+ return productFeatureModel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<VariableElement> getVariableElement() {
+ if (variableElement == null) {
+ variableElement = new EObjectResolvingEList<VariableElement>(VariableElement.class, this, VariabilityPackage.VARIABILITY__VARIABLE_ELEMENT);
+ }
+ return variableElement;
+ }
+
+} //VariabilityImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/VariabilityPackageImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/VariabilityPackageImpl.java
new file mode 100644
index 00000000000..26490d0c826
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/VariabilityPackageImpl.java
@@ -0,0 +1,1100 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability.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.eastadl.EastadlPackage;
+import org.eclipse.papyrus.eastadl.annex.AnnexPackage;
+import org.eclipse.papyrus.eastadl.annex.impl.AnnexPackageImpl;
+import org.eclipse.papyrus.eastadl.annex.needs.NeedsPackage;
+import org.eclipse.papyrus.eastadl.annex.needs.impl.NeedsPackageImpl;
+import org.eclipse.papyrus.eastadl.behavior.BehaviorPackage;
+import org.eclipse.papyrus.eastadl.behavior.impl.BehaviorPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.DependabilityPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.ErrormodelPackage;
+import org.eclipse.papyrus.eastadl.dependability.errormodel.impl.ErrormodelPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.impl.DependabilityPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.SafetycasePackage;
+import org.eclipse.papyrus.eastadl.dependability.safetycase.impl.SafetycasePackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.SafetyconstraintsPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyconstraints.impl.SafetyconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.SafetyrequirementPackage;
+import org.eclipse.papyrus.eastadl.dependability.safetyrequirement.impl.SafetyrequirementPackageImpl;
+import org.eclipse.papyrus.eastadl.environment.EnvironmentPackage;
+import org.eclipse.papyrus.eastadl.environment.impl.EnvironmentPackageImpl;
+import org.eclipse.papyrus.eastadl.genericconstraints.GenericconstraintsPackage;
+import org.eclipse.papyrus.eastadl.genericconstraints.impl.GenericconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.impl.EastadlPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.InfrastructurePackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.DatatypesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.impl.DatatypesPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.ElementsPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.ElementsPackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.impl.InfrastructurePackageImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.UserattributesPackage;
+import org.eclipse.papyrus.eastadl.infrastructure.userattributes.impl.UserattributesPackageImpl;
+import org.eclipse.papyrus.eastadl.interchange.InterchangePackage;
+import org.eclipse.papyrus.eastadl.interchange.impl.InterchangePackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.RequirementsPackage;
+import org.eclipse.papyrus.eastadl.requirements.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.VerificationvalidationPackage;
+import org.eclipse.papyrus.eastadl.requirements.verificationvalidation.impl.VerificationvalidationPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.StructurePackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.FeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.impl.FeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.FunctionmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.functionmodeling.impl.FunctionmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.HardwaremodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.hardwaremodeling.impl.HardwaremodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.impl.StructurePackageImpl;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.SystemmodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.systemmodeling.impl.SystemmodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.VehiclefeaturemodelingPackage;
+import org.eclipse.papyrus.eastadl.structure.vehiclefeaturemodeling.impl.VehiclefeaturemodelingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.TimingPackage;
+import org.eclipse.papyrus.eastadl.timing.events.EventsPackage;
+import org.eclipse.papyrus.eastadl.timing.events.impl.EventsPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.impl.TimingPackageImpl;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.TimingconstraintsPackage;
+import org.eclipse.papyrus.eastadl.timing.timingconstraints.impl.TimingconstraintsPackageImpl;
+import org.eclipse.papyrus.eastadl.variability.ConfigurableContainer;
+import org.eclipse.papyrus.eastadl.variability.ConfigurationDecision;
+import org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionFolder;
+import org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModel;
+import org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModelEntry;
+import org.eclipse.papyrus.eastadl.variability.ContainerConfiguration;
+import org.eclipse.papyrus.eastadl.variability.FeatureConfiguration;
+import org.eclipse.papyrus.eastadl.variability.InternalBinding;
+import org.eclipse.papyrus.eastadl.variability.PrivateContent;
+import org.eclipse.papyrus.eastadl.variability.ReuseMetaInformation;
+import org.eclipse.papyrus.eastadl.variability.SelectionCriterion;
+import org.eclipse.papyrus.eastadl.variability.Variability;
+import org.eclipse.papyrus.eastadl.variability.VariabilityFactory;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.VariableElement;
+import org.eclipse.papyrus.eastadl.variability.VariationGroup;
+import org.eclipse.papyrus.eastadl.variability.VehicleLevelBinding;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc -->
+ * @generated
+ */
+public class VariabilityPackageImpl extends EPackageImpl implements VariabilityPackage {
+
+ /**
+ * <!-- 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 VariabilityPackage#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 VariabilityPackage init() {
+ if (isInited) return (VariabilityPackage)EPackage.Registry.INSTANCE.getEPackage(VariabilityPackage.eNS_URI);
+
+ // Obtain or create and register package
+ VariabilityPackageImpl theVariabilityPackage = (VariabilityPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof VariabilityPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new VariabilityPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ SysmlPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ EastadlPackageImpl theEastadlPackage = (EastadlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) instanceof EastadlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EastadlPackage.eNS_URI) : EastadlPackage.eINSTANCE);
+ InfrastructurePackageImpl theInfrastructurePackage = (InfrastructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) instanceof InfrastructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI) : InfrastructurePackage.eINSTANCE);
+ DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) instanceof DatatypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) : DatatypesPackage.eINSTANCE);
+ UserattributesPackageImpl theUserattributesPackage = (UserattributesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) instanceof UserattributesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UserattributesPackage.eNS_URI) : UserattributesPackage.eINSTANCE);
+ ElementsPackageImpl theElementsPackage = (ElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) instanceof ElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI) : ElementsPackage.eINSTANCE);
+ StructurePackageImpl theStructurePackage = (StructurePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) instanceof StructurePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(StructurePackage.eNS_URI) : StructurePackage.eINSTANCE);
+ FunctionmodelingPackageImpl theFunctionmodelingPackage = (FunctionmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) instanceof FunctionmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FunctionmodelingPackage.eNS_URI) : FunctionmodelingPackage.eINSTANCE);
+ HardwaremodelingPackageImpl theHardwaremodelingPackage = (HardwaremodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) instanceof HardwaremodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HardwaremodelingPackage.eNS_URI) : HardwaremodelingPackage.eINSTANCE);
+ SystemmodelingPackageImpl theSystemmodelingPackage = (SystemmodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) instanceof SystemmodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SystemmodelingPackage.eNS_URI) : SystemmodelingPackage.eINSTANCE);
+ VehiclefeaturemodelingPackageImpl theVehiclefeaturemodelingPackage = (VehiclefeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) instanceof VehiclefeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VehiclefeaturemodelingPackage.eNS_URI) : VehiclefeaturemodelingPackage.eINSTANCE);
+ FeaturemodelingPackageImpl theFeaturemodelingPackage = (FeaturemodelingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) instanceof FeaturemodelingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI) : FeaturemodelingPackage.eINSTANCE);
+ BehaviorPackageImpl theBehaviorPackage = (BehaviorPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) instanceof BehaviorPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BehaviorPackage.eNS_URI) : BehaviorPackage.eINSTANCE);
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) : RequirementsPackage.eINSTANCE);
+ VerificationvalidationPackageImpl theVerificationvalidationPackage = (VerificationvalidationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) instanceof VerificationvalidationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VerificationvalidationPackage.eNS_URI) : VerificationvalidationPackage.eINSTANCE);
+ TimingPackageImpl theTimingPackage = (TimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) instanceof TimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingPackage.eNS_URI) : TimingPackage.eINSTANCE);
+ TimingconstraintsPackageImpl theTimingconstraintsPackage = (TimingconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) instanceof TimingconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimingconstraintsPackage.eNS_URI) : TimingconstraintsPackage.eINSTANCE);
+ EventsPackageImpl theEventsPackage = (EventsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE);
+ InterchangePackageImpl theInterchangePackage = (InterchangePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) instanceof InterchangePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InterchangePackage.eNS_URI) : InterchangePackage.eINSTANCE);
+ EnvironmentPackageImpl theEnvironmentPackage = (EnvironmentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) instanceof EnvironmentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnvironmentPackage.eNS_URI) : EnvironmentPackage.eINSTANCE);
+ DependabilityPackageImpl theDependabilityPackage = (DependabilityPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) instanceof DependabilityPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DependabilityPackage.eNS_URI) : DependabilityPackage.eINSTANCE);
+ ErrormodelPackageImpl theErrormodelPackage = (ErrormodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) instanceof ErrormodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ErrormodelPackage.eNS_URI) : ErrormodelPackage.eINSTANCE);
+ SafetyrequirementPackageImpl theSafetyrequirementPackage = (SafetyrequirementPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) instanceof SafetyrequirementPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyrequirementPackage.eNS_URI) : SafetyrequirementPackage.eINSTANCE);
+ SafetyconstraintsPackageImpl theSafetyconstraintsPackage = (SafetyconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) instanceof SafetyconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetyconstraintsPackage.eNS_URI) : SafetyconstraintsPackage.eINSTANCE);
+ SafetycasePackageImpl theSafetycasePackage = (SafetycasePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) instanceof SafetycasePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SafetycasePackage.eNS_URI) : SafetycasePackage.eINSTANCE);
+ AnnexPackageImpl theAnnexPackage = (AnnexPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) instanceof AnnexPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AnnexPackage.eNS_URI) : AnnexPackage.eINSTANCE);
+ NeedsPackageImpl theNeedsPackage = (NeedsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) instanceof NeedsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NeedsPackage.eNS_URI) : NeedsPackage.eINSTANCE);
+ GenericconstraintsPackageImpl theGenericconstraintsPackage = (GenericconstraintsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) instanceof GenericconstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GenericconstraintsPackage.eNS_URI) : GenericconstraintsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theVariabilityPackage.createPackageContents();
+ theEastadlPackage.createPackageContents();
+ theInfrastructurePackage.createPackageContents();
+ theDatatypesPackage.createPackageContents();
+ theUserattributesPackage.createPackageContents();
+ theElementsPackage.createPackageContents();
+ theStructurePackage.createPackageContents();
+ theFunctionmodelingPackage.createPackageContents();
+ theHardwaremodelingPackage.createPackageContents();
+ theSystemmodelingPackage.createPackageContents();
+ theVehiclefeaturemodelingPackage.createPackageContents();
+ theFeaturemodelingPackage.createPackageContents();
+ theBehaviorPackage.createPackageContents();
+ theRequirementsPackage.createPackageContents();
+ theVerificationvalidationPackage.createPackageContents();
+ theTimingPackage.createPackageContents();
+ theTimingconstraintsPackage.createPackageContents();
+ theEventsPackage.createPackageContents();
+ theInterchangePackage.createPackageContents();
+ theEnvironmentPackage.createPackageContents();
+ theDependabilityPackage.createPackageContents();
+ theErrormodelPackage.createPackageContents();
+ theSafetyrequirementPackage.createPackageContents();
+ theSafetyconstraintsPackage.createPackageContents();
+ theSafetycasePackage.createPackageContents();
+ theAnnexPackage.createPackageContents();
+ theNeedsPackage.createPackageContents();
+ theGenericconstraintsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theVariabilityPackage.initializePackageContents();
+ theEastadlPackage.initializePackageContents();
+ theInfrastructurePackage.initializePackageContents();
+ theDatatypesPackage.initializePackageContents();
+ theUserattributesPackage.initializePackageContents();
+ theElementsPackage.initializePackageContents();
+ theStructurePackage.initializePackageContents();
+ theFunctionmodelingPackage.initializePackageContents();
+ theHardwaremodelingPackage.initializePackageContents();
+ theSystemmodelingPackage.initializePackageContents();
+ theVehiclefeaturemodelingPackage.initializePackageContents();
+ theFeaturemodelingPackage.initializePackageContents();
+ theBehaviorPackage.initializePackageContents();
+ theRequirementsPackage.initializePackageContents();
+ theVerificationvalidationPackage.initializePackageContents();
+ theTimingPackage.initializePackageContents();
+ theTimingconstraintsPackage.initializePackageContents();
+ theEventsPackage.initializePackageContents();
+ theInterchangePackage.initializePackageContents();
+ theEnvironmentPackage.initializePackageContents();
+ theDependabilityPackage.initializePackageContents();
+ theErrormodelPackage.initializePackageContents();
+ theSafetyrequirementPackage.initializePackageContents();
+ theSafetyconstraintsPackage.initializePackageContents();
+ theSafetycasePackage.initializePackageContents();
+ theAnnexPackage.initializePackageContents();
+ theNeedsPackage.initializePackageContents();
+ theGenericconstraintsPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theVariabilityPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(VariabilityPackage.eNS_URI, theVariabilityPackage);
+ return theVariabilityPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass variationGroupEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass reuseMetaInformationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass variabilityEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass featureConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass vehicleLevelBindingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass configurationDecisionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass selectionCriterionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass configurationDecisionFolderEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass containerConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass privateContentEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass configurableContainerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass internalBindingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass configurationDecisionModelEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass configurationDecisionModelEntryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass variableElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * 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.eclipse.papyrus.eastadl.variability.VariabilityPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private VariabilityPackageImpl() {
+ super(eNS_URI, VariabilityFactory.eINSTANCE);
+ }
+
+ /**
+ * 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
+ variationGroupEClass = createEClass(VARIATION_GROUP);
+ createEAttribute(variationGroupEClass, VARIATION_GROUP__CONSTRAINT);
+ createEAttribute(variationGroupEClass, VARIATION_GROUP__KIND);
+ createEReference(variationGroupEClass, VARIATION_GROUP__BASE_CLASS);
+ createEReference(variationGroupEClass, VARIATION_GROUP__VARIABLE_ELEMENT);
+
+ variableElementEClass = createEClass(VARIABLE_ELEMENT);
+ createEReference(variableElementEClass, VARIABLE_ELEMENT__REQUIRED_BINDING_TIME);
+ createEReference(variableElementEClass, VARIABLE_ELEMENT__ACTUAL_BINDING_TIME);
+ createEReference(variableElementEClass, VARIABLE_ELEMENT__REUSE_META_INFORMATION);
+ createEReference(variableElementEClass, VARIABLE_ELEMENT__OPTIONAL_ELEMENT);
+ createEReference(variableElementEClass, VARIABLE_ELEMENT__BASE_CLASS);
+
+ reuseMetaInformationEClass = createEClass(REUSE_META_INFORMATION);
+ createEAttribute(reuseMetaInformationEClass, REUSE_META_INFORMATION__INFORMATION);
+ createEAttribute(reuseMetaInformationEClass, REUSE_META_INFORMATION__IS_REUSABLE);
+ createEReference(reuseMetaInformationEClass, REUSE_META_INFORMATION__BASE_CLASS);
+
+ configurableContainerEClass = createEClass(CONFIGURABLE_CONTAINER);
+ createEReference(configurableContainerEClass, CONFIGURABLE_CONTAINER__INTERNAL_BINDING);
+ createEReference(configurableContainerEClass, CONFIGURABLE_CONTAINER__VARIATION_GROUP);
+ createEReference(configurableContainerEClass, CONFIGURABLE_CONTAINER__BASE_CLASS);
+ createEReference(configurableContainerEClass, CONFIGURABLE_CONTAINER__BASE_PACKAGE);
+ createEReference(configurableContainerEClass, CONFIGURABLE_CONTAINER__CONFIGURABLE_ELEMENT);
+ createEReference(configurableContainerEClass, CONFIGURABLE_CONTAINER__PUBLIC_FEATURE_MODEL);
+
+ internalBindingEClass = createEClass(INTERNAL_BINDING);
+
+ configurationDecisionModelEClass = createEClass(CONFIGURATION_DECISION_MODEL);
+ createEReference(configurationDecisionModelEClass, CONFIGURATION_DECISION_MODEL__BASE_PACKAGE);
+ createEReference(configurationDecisionModelEClass, CONFIGURATION_DECISION_MODEL__BASE_CLASS);
+ createEReference(configurationDecisionModelEClass, CONFIGURATION_DECISION_MODEL__ROOT_ENTRY);
+
+ configurationDecisionModelEntryEClass = createEClass(CONFIGURATION_DECISION_MODEL_ENTRY);
+ createEAttribute(configurationDecisionModelEntryEClass, CONFIGURATION_DECISION_MODEL_ENTRY__IS_ACTIVE);
+ createEReference(configurationDecisionModelEntryEClass, CONFIGURATION_DECISION_MODEL_ENTRY__BASE_CLASS);
+
+ variabilityEClass = createEClass(VARIABILITY);
+ createEReference(variabilityEClass, VARIABILITY__BASE_CLASS);
+ createEReference(variabilityEClass, VARIABILITY__BASE_PACKAGE);
+ createEReference(variabilityEClass, VARIABILITY__CONFIGURABLE_CONTAINER);
+ createEReference(variabilityEClass, VARIABILITY__CONFIGURATION);
+ createEReference(variabilityEClass, VARIABILITY__PRODUCT_FEATURE_MODEL);
+ createEReference(variabilityEClass, VARIABILITY__DECISION_MODEL);
+ createEReference(variabilityEClass, VARIABILITY__VARIABLE_ELEMENT);
+
+ featureConfigurationEClass = createEClass(FEATURE_CONFIGURATION);
+ createEReference(featureConfigurationEClass, FEATURE_CONFIGURATION__CONFIGURED_FEATURE_MODEL);
+
+ vehicleLevelBindingEClass = createEClass(VEHICLE_LEVEL_BINDING);
+ createEReference(vehicleLevelBindingEClass, VEHICLE_LEVEL_BINDING__SOURCE_VEHICLE_FEATURE_MODEL);
+ createEReference(vehicleLevelBindingEClass, VEHICLE_LEVEL_BINDING__TARGET_FEATURE_MODEL);
+
+ configurationDecisionEClass = createEClass(CONFIGURATION_DECISION);
+ createEAttribute(configurationDecisionEClass, CONFIGURATION_DECISION__EFFECT);
+ createEAttribute(configurationDecisionEClass, CONFIGURATION_DECISION__CRITERION);
+ createEAttribute(configurationDecisionEClass, CONFIGURATION_DECISION__IS_EQUIVALENCE);
+ createEReference(configurationDecisionEClass, CONFIGURATION_DECISION__TARGET);
+ createEReference(configurationDecisionEClass, CONFIGURATION_DECISION__SELECTION_CRITERION);
+
+ selectionCriterionEClass = createEClass(SELECTION_CRITERION);
+ createEReference(selectionCriterionEClass, SELECTION_CRITERION__SOURCE);
+ createEReference(selectionCriterionEClass, SELECTION_CRITERION__BASE_CLASS);
+
+ configurationDecisionFolderEClass = createEClass(CONFIGURATION_DECISION_FOLDER);
+ createEReference(configurationDecisionFolderEClass, CONFIGURATION_DECISION_FOLDER__CHILD_ENTRY);
+
+ containerConfigurationEClass = createEClass(CONTAINER_CONFIGURATION);
+ createEReference(containerConfigurationEClass, CONTAINER_CONFIGURATION__CONFIGURED_CONTAINER);
+
+ privateContentEClass = createEClass(PRIVATE_CONTENT);
+ createEReference(privateContentEClass, PRIVATE_CONTENT__BASE_CLASS);
+ createEReference(privateContentEClass, PRIVATE_CONTENT__PRIVATE_ELEMENT);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConfigurableContainer() {
+ return configurableContainerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConfigurableContainer_ConfigurableElement() {
+ return (EReference)configurableContainerEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConfigurableContainer_InternalBinding() {
+ return (EReference)configurableContainerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConfigurableContainer_PublicFeatureModel() {
+ return (EReference)configurableContainerEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConfigurableContainer_VariationGroup() {
+ return (EReference)configurableContainerEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConfigurableContainer_Base_Class() {
+ return (EReference)configurableContainerEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConfigurableContainer_Base_Package() {
+ return (EReference)configurableContainerEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConfigurationDecision() {
+ return configurationDecisionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getConfigurationDecision_Criterion() {
+ return (EAttribute)configurationDecisionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getConfigurationDecision_Effect() {
+ return (EAttribute)configurationDecisionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getConfigurationDecision_IsEquivalence() {
+ return (EAttribute)configurationDecisionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConfigurationDecision_SelectionCriterion() {
+ return (EReference)configurationDecisionEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConfigurationDecision_Target() {
+ return (EReference)configurationDecisionEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConfigurationDecisionFolder() {
+ return configurationDecisionFolderEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConfigurationDecisionFolder_ChildEntry() {
+ return (EReference)configurationDecisionFolderEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConfigurationDecisionModel() {
+ return configurationDecisionModelEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConfigurationDecisionModel_Base_Package() {
+ return (EReference)configurationDecisionModelEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConfigurationDecisionModel_Base_Class() {
+ return (EReference)configurationDecisionModelEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConfigurationDecisionModel_RootEntry() {
+ return (EReference)configurationDecisionModelEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConfigurationDecisionModelEntry() {
+ return configurationDecisionModelEntryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getConfigurationDecisionModelEntry_IsActive() {
+ return (EAttribute)configurationDecisionModelEntryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConfigurationDecisionModelEntry_Base_Class() {
+ return (EReference)configurationDecisionModelEntryEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getContainerConfiguration() {
+ return containerConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getContainerConfiguration_ConfiguredContainer() {
+ return (EReference)containerConfigurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFeatureConfiguration() {
+ return featureConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFeatureConfiguration_ConfiguredFeatureModel() {
+ return (EReference)featureConfigurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVehicleLevelBinding() {
+ return vehicleLevelBindingEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVehicleLevelBinding_SourceVehicleFeatureModel() {
+ return (EReference)vehicleLevelBindingEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVehicleLevelBinding_TargetFeatureModel() {
+ return (EReference)vehicleLevelBindingEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInternalBinding() {
+ return internalBindingEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPrivateContent() {
+ return privateContentEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPrivateContent_Base_Class() {
+ return (EReference)privateContentEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPrivateContent_PrivateElement() {
+ return (EReference)privateContentEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getReuseMetaInformation() {
+ return reuseMetaInformationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getReuseMetaInformation_Information() {
+ return (EAttribute)reuseMetaInformationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getReuseMetaInformation_IsReusable() {
+ return (EAttribute)reuseMetaInformationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReuseMetaInformation_Base_Class() {
+ return (EReference)reuseMetaInformationEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSelectionCriterion() {
+ return selectionCriterionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSelectionCriterion_Source() {
+ return (EReference)selectionCriterionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSelectionCriterion_Base_Class() {
+ return (EReference)selectionCriterionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVariability() {
+ return variabilityEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVariability_Base_Class() {
+ return (EReference)variabilityEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVariability_Base_Package() {
+ return (EReference)variabilityEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVariability_ConfigurableContainer() {
+ return (EReference)variabilityEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVariability_Configuration() {
+ return (EReference)variabilityEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVariability_DecisionModel() {
+ return (EReference)variabilityEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVariability_ProductFeatureModel() {
+ return (EReference)variabilityEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVariability_VariableElement() {
+ return (EReference)variabilityEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public VariabilityFactory getVariabilityFactory() {
+ return (VariabilityFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVariableElement() {
+ return variableElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVariableElement_ActualBindingTime() {
+ return (EReference)variableElementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVariableElement_OptionalElement() {
+ return (EReference)variableElementEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVariableElement_Base_Class() {
+ return (EReference)variableElementEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVariableElement_RequiredBindingTime() {
+ return (EReference)variableElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVariableElement_ReuseMetaInformation() {
+ return (EReference)variableElementEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVariationGroup() {
+ return variationGroupEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVariationGroup_Constraint() {
+ return (EAttribute)variationGroupEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVariationGroup_Kind() {
+ return (EAttribute)variationGroupEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVariationGroup_Base_Class() {
+ return (EReference)variationGroupEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVariationGroup_VariableElement() {
+ return (EReference)variationGroupEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * 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
+ ElementsPackage theElementsPackage = (ElementsPackage)EPackage.Registry.INSTANCE.getEPackage(ElementsPackage.eNS_URI);
+ TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+ FeaturemodelingPackage theFeaturemodelingPackage = (FeaturemodelingPackage)EPackage.Registry.INSTANCE.getEPackage(FeaturemodelingPackage.eNS_URI);
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ variationGroupEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ variableElementEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ reuseMetaInformationEClass.getESuperTypes().add(theElementsPackage.getTraceableSpecification());
+ configurableContainerEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ internalBindingEClass.getESuperTypes().add(this.getConfigurationDecisionModel());
+ configurationDecisionModelEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ configurationDecisionModelEntryEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ variabilityEClass.getESuperTypes().add(theElementsPackage.getContext());
+ featureConfigurationEClass.getESuperTypes().add(this.getConfigurationDecisionModel());
+ vehicleLevelBindingEClass.getESuperTypes().add(this.getConfigurationDecisionModel());
+ configurationDecisionEClass.getESuperTypes().add(this.getConfigurationDecisionModelEntry());
+ selectionCriterionEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+ configurationDecisionFolderEClass.getESuperTypes().add(this.getConfigurationDecisionModelEntry());
+ containerConfigurationEClass.getESuperTypes().add(this.getConfigurationDecisionModel());
+ privateContentEClass.getESuperTypes().add(theElementsPackage.getEAElement());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(variationGroupEClass, VariationGroup.class, "VariationGroup", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getVariationGroup_Constraint(), theTypesPackage.getString(), "constraint", null, 1, 1, VariationGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getVariationGroup_Kind(), theFeaturemodelingPackage.getVariabilityDependencyKind(), "kind", null, 1, 1, VariationGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVariationGroup_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, VariationGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVariationGroup_VariableElement(), this.getVariableElement(), null, "variableElement", null, 1, -1, VariationGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(variableElementEClass, VariableElement.class, "VariableElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getVariableElement_RequiredBindingTime(), theFeaturemodelingPackage.getBindingTime(), null, "requiredBindingTime", null, 0, 1, VariableElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVariableElement_ActualBindingTime(), theFeaturemodelingPackage.getBindingTime(), null, "actualBindingTime", null, 1, 1, VariableElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVariableElement_ReuseMetaInformation(), this.getReuseMetaInformation(), null, "reuseMetaInformation", null, 0, 1, VariableElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVariableElement_OptionalElement(), theUMLPackage.getNamedElement(), null, "optionalElement", null, 1, 1, VariableElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVariableElement_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, VariableElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(reuseMetaInformationEClass, ReuseMetaInformation.class, "ReuseMetaInformation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getReuseMetaInformation_Information(), theTypesPackage.getString(), "information", null, 1, 1, ReuseMetaInformation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getReuseMetaInformation_IsReusable(), theTypesPackage.getBoolean(), "isReusable", "true", 1, 1, ReuseMetaInformation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getReuseMetaInformation_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, ReuseMetaInformation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(configurableContainerEClass, ConfigurableContainer.class, "ConfigurableContainer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getConfigurableContainer_InternalBinding(), this.getInternalBinding(), null, "internalBinding", null, 0, 1, ConfigurableContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getConfigurableContainer_VariationGroup(), this.getVariationGroup(), null, "variationGroup", null, 0, -1, ConfigurableContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getConfigurableContainer_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, ConfigurableContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getConfigurableContainer_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, ConfigurableContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getConfigurableContainer_ConfigurableElement(), theUMLPackage.getNamedElement(), null, "configurableElement", null, 1, 1, ConfigurableContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getConfigurableContainer_PublicFeatureModel(), theFeaturemodelingPackage.getFeatureModel(), null, "publicFeatureModel", null, 0, 1, ConfigurableContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(internalBindingEClass, InternalBinding.class, "InternalBinding", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(configurationDecisionModelEClass, ConfigurationDecisionModel.class, "ConfigurationDecisionModel", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getConfigurationDecisionModel_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, ConfigurationDecisionModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getConfigurationDecisionModel_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, ConfigurationDecisionModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getConfigurationDecisionModel_RootEntry(), this.getConfigurationDecisionModelEntry(), null, "rootEntry", null, 0, -1, ConfigurationDecisionModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(configurationDecisionModelEntryEClass, ConfigurationDecisionModelEntry.class, "ConfigurationDecisionModelEntry", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getConfigurationDecisionModelEntry_IsActive(), theTypesPackage.getBoolean(), "isActive", "true", 1, 1, ConfigurationDecisionModelEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getConfigurationDecisionModelEntry_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, ConfigurationDecisionModelEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(variabilityEClass, Variability.class, "Variability", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getVariability_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 0, 1, Variability.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVariability_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 0, 1, Variability.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVariability_ConfigurableContainer(), this.getConfigurableContainer(), null, "configurableContainer", null, 0, -1, Variability.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVariability_Configuration(), this.getFeatureConfiguration(), null, "configuration", null, 0, -1, Variability.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVariability_ProductFeatureModel(), theFeaturemodelingPackage.getFeatureModel(), null, "productFeatureModel", null, 0, -1, Variability.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVariability_DecisionModel(), this.getVehicleLevelBinding(), null, "decisionModel", null, 0, -1, Variability.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVariability_VariableElement(), this.getVariableElement(), null, "variableElement", null, 0, -1, Variability.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(featureConfigurationEClass, FeatureConfiguration.class, "FeatureConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getFeatureConfiguration_ConfiguredFeatureModel(), theFeaturemodelingPackage.getFeatureModel(), null, "configuredFeatureModel", null, 1, 1, FeatureConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(vehicleLevelBindingEClass, VehicleLevelBinding.class, "VehicleLevelBinding", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getVehicleLevelBinding_SourceVehicleFeatureModel(), theFeaturemodelingPackage.getFeatureModel(), null, "sourceVehicleFeatureModel", null, 0, -1, VehicleLevelBinding.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getVehicleLevelBinding_TargetFeatureModel(), theFeaturemodelingPackage.getFeatureModel(), null, "targetFeatureModel", null, 0, -1, VehicleLevelBinding.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(configurationDecisionEClass, ConfigurationDecision.class, "ConfigurationDecision", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getConfigurationDecision_Effect(), theTypesPackage.getString(), "effect", null, 1, 1, ConfigurationDecision.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getConfigurationDecision_Criterion(), theTypesPackage.getString(), "criterion", null, 1, 1, ConfigurationDecision.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getConfigurationDecision_IsEquivalence(), theTypesPackage.getBoolean(), "isEquivalence", null, 1, 1, ConfigurationDecision.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getConfigurationDecision_Target(), theUMLPackage.getNamedElement(), null, "target", null, 0, -1, ConfigurationDecision.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getConfigurationDecision_SelectionCriterion(), this.getSelectionCriterion(), null, "selectionCriterion", null, 0, 1, ConfigurationDecision.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(selectionCriterionEClass, SelectionCriterion.class, "SelectionCriterion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getSelectionCriterion_Source(), theUMLPackage.getNamedElement(), null, "source", null, 0, -1, SelectionCriterion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSelectionCriterion_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, SelectionCriterion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(configurationDecisionFolderEClass, ConfigurationDecisionFolder.class, "ConfigurationDecisionFolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getConfigurationDecisionFolder_ChildEntry(), this.getConfigurationDecisionModelEntry(), null, "childEntry", null, 0, -1, ConfigurationDecisionFolder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(containerConfigurationEClass, ContainerConfiguration.class, "ContainerConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getContainerConfiguration_ConfiguredContainer(), this.getConfigurableContainer(), null, "configuredContainer", null, 1, 1, ContainerConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(privateContentEClass, PrivateContent.class, "PrivateContent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPrivateContent_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, PrivateContent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getPrivateContent_PrivateElement(), theUMLPackage.getNamedElement(), null, "privateElement", null, 1, 1, PrivateContent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ }
+
+} // VariabilityPackageImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/VariableElementImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/VariableElementImpl.java
new file mode 100644
index 00000000000..797715ccaa2
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/VariableElementImpl.java
@@ -0,0 +1,411 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability.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.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.BindingTime;
+import org.eclipse.papyrus.eastadl.variability.ReuseMetaInformation;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.VariableElement;
+import org.eclipse.uml2.uml.NamedElement;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Variable Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.VariableElementImpl#getRequiredBindingTime <em>Required Binding Time</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.VariableElementImpl#getActualBindingTime <em>Actual Binding Time</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.VariableElementImpl#getReuseMetaInformation <em>Reuse Meta Information</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.VariableElementImpl#getOptionalElement <em>Optional Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.VariableElementImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class VariableElementImpl extends EAElementImpl implements VariableElement {
+ /**
+ * The cached value of the '{@link #getRequiredBindingTime() <em>Required Binding Time</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRequiredBindingTime()
+ * @generated
+ * @ordered
+ */
+ protected BindingTime requiredBindingTime;
+
+ /**
+ * The cached value of the '{@link #getActualBindingTime() <em>Actual Binding Time</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getActualBindingTime()
+ * @generated
+ * @ordered
+ */
+ protected BindingTime actualBindingTime;
+
+ /**
+ * The cached value of the '{@link #getReuseMetaInformation() <em>Reuse Meta Information</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReuseMetaInformation()
+ * @generated
+ * @ordered
+ */
+ protected ReuseMetaInformation reuseMetaInformation;
+
+ /**
+ * The cached value of the '{@link #getOptionalElement() <em>Optional Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOptionalElement()
+ * @generated
+ * @ordered
+ */
+ protected NamedElement optionalElement;
+
+ /**
+ * 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 VariableElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BindingTime basicGetActualBindingTime() {
+ return actualBindingTime;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement basicGetOptionalElement() {
+ return optionalElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BindingTime basicGetRequiredBindingTime() {
+ return requiredBindingTime;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReuseMetaInformation basicGetReuseMetaInformation() {
+ return reuseMetaInformation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case VariabilityPackage.VARIABLE_ELEMENT__REQUIRED_BINDING_TIME:
+ if (resolve) return getRequiredBindingTime();
+ return basicGetRequiredBindingTime();
+ case VariabilityPackage.VARIABLE_ELEMENT__ACTUAL_BINDING_TIME:
+ if (resolve) return getActualBindingTime();
+ return basicGetActualBindingTime();
+ case VariabilityPackage.VARIABLE_ELEMENT__REUSE_META_INFORMATION:
+ if (resolve) return getReuseMetaInformation();
+ return basicGetReuseMetaInformation();
+ case VariabilityPackage.VARIABLE_ELEMENT__OPTIONAL_ELEMENT:
+ if (resolve) return getOptionalElement();
+ return basicGetOptionalElement();
+ case VariabilityPackage.VARIABLE_ELEMENT__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 boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case VariabilityPackage.VARIABLE_ELEMENT__REQUIRED_BINDING_TIME:
+ return requiredBindingTime != null;
+ case VariabilityPackage.VARIABLE_ELEMENT__ACTUAL_BINDING_TIME:
+ return actualBindingTime != null;
+ case VariabilityPackage.VARIABLE_ELEMENT__REUSE_META_INFORMATION:
+ return reuseMetaInformation != null;
+ case VariabilityPackage.VARIABLE_ELEMENT__OPTIONAL_ELEMENT:
+ return optionalElement != null;
+ case VariabilityPackage.VARIABLE_ELEMENT__BASE_CLASS:
+ return base_Class != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case VariabilityPackage.VARIABLE_ELEMENT__REQUIRED_BINDING_TIME:
+ setRequiredBindingTime((BindingTime)newValue);
+ return;
+ case VariabilityPackage.VARIABLE_ELEMENT__ACTUAL_BINDING_TIME:
+ setActualBindingTime((BindingTime)newValue);
+ return;
+ case VariabilityPackage.VARIABLE_ELEMENT__REUSE_META_INFORMATION:
+ setReuseMetaInformation((ReuseMetaInformation)newValue);
+ return;
+ case VariabilityPackage.VARIABLE_ELEMENT__OPTIONAL_ELEMENT:
+ setOptionalElement((NamedElement)newValue);
+ return;
+ case VariabilityPackage.VARIABLE_ELEMENT__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VariabilityPackage.Literals.VARIABLE_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case VariabilityPackage.VARIABLE_ELEMENT__REQUIRED_BINDING_TIME:
+ setRequiredBindingTime((BindingTime)null);
+ return;
+ case VariabilityPackage.VARIABLE_ELEMENT__ACTUAL_BINDING_TIME:
+ setActualBindingTime((BindingTime)null);
+ return;
+ case VariabilityPackage.VARIABLE_ELEMENT__REUSE_META_INFORMATION:
+ setReuseMetaInformation((ReuseMetaInformation)null);
+ return;
+ case VariabilityPackage.VARIABLE_ELEMENT__OPTIONAL_ELEMENT:
+ setOptionalElement((NamedElement)null);
+ return;
+ case VariabilityPackage.VARIABLE_ELEMENT__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BindingTime getActualBindingTime() {
+ if (actualBindingTime != null && actualBindingTime.eIsProxy()) {
+ InternalEObject oldActualBindingTime = (InternalEObject)actualBindingTime;
+ actualBindingTime = (BindingTime)eResolveProxy(oldActualBindingTime);
+ if (actualBindingTime != oldActualBindingTime) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, VariabilityPackage.VARIABLE_ELEMENT__ACTUAL_BINDING_TIME, oldActualBindingTime, actualBindingTime));
+ }
+ }
+ return actualBindingTime;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getOptionalElement() {
+ if (optionalElement != null && optionalElement.eIsProxy()) {
+ InternalEObject oldOptionalElement = (InternalEObject)optionalElement;
+ optionalElement = (NamedElement)eResolveProxy(oldOptionalElement);
+ if (optionalElement != oldOptionalElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, VariabilityPackage.VARIABLE_ELEMENT__OPTIONAL_ELEMENT, oldOptionalElement, optionalElement));
+ }
+ }
+ return optionalElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BindingTime getRequiredBindingTime() {
+ if (requiredBindingTime != null && requiredBindingTime.eIsProxy()) {
+ InternalEObject oldRequiredBindingTime = (InternalEObject)requiredBindingTime;
+ requiredBindingTime = (BindingTime)eResolveProxy(oldRequiredBindingTime);
+ if (requiredBindingTime != oldRequiredBindingTime) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, VariabilityPackage.VARIABLE_ELEMENT__REQUIRED_BINDING_TIME, oldRequiredBindingTime, requiredBindingTime));
+ }
+ }
+ return requiredBindingTime;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReuseMetaInformation getReuseMetaInformation() {
+ if (reuseMetaInformation != null && reuseMetaInformation.eIsProxy()) {
+ InternalEObject oldReuseMetaInformation = (InternalEObject)reuseMetaInformation;
+ reuseMetaInformation = (ReuseMetaInformation)eResolveProxy(oldReuseMetaInformation);
+ if (reuseMetaInformation != oldReuseMetaInformation) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, VariabilityPackage.VARIABLE_ELEMENT__REUSE_META_INFORMATION, oldReuseMetaInformation, reuseMetaInformation));
+ }
+ }
+ return reuseMetaInformation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setActualBindingTime(BindingTime newActualBindingTime) {
+ BindingTime oldActualBindingTime = actualBindingTime;
+ actualBindingTime = newActualBindingTime;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VariabilityPackage.VARIABLE_ELEMENT__ACTUAL_BINDING_TIME, oldActualBindingTime, actualBindingTime));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOptionalElement(NamedElement newOptionalElement) {
+ NamedElement oldOptionalElement = optionalElement;
+ optionalElement = newOptionalElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VariabilityPackage.VARIABLE_ELEMENT__OPTIONAL_ELEMENT, oldOptionalElement, optionalElement));
+ }
+
+ /**
+ * <!-- 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, VariabilityPackage.VARIABLE_ELEMENT__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, VariabilityPackage.VARIABLE_ELEMENT__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRequiredBindingTime(BindingTime newRequiredBindingTime) {
+ BindingTime oldRequiredBindingTime = requiredBindingTime;
+ requiredBindingTime = newRequiredBindingTime;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VariabilityPackage.VARIABLE_ELEMENT__REQUIRED_BINDING_TIME, oldRequiredBindingTime, requiredBindingTime));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setReuseMetaInformation(ReuseMetaInformation newReuseMetaInformation) {
+ ReuseMetaInformation oldReuseMetaInformation = reuseMetaInformation;
+ reuseMetaInformation = newReuseMetaInformation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VariabilityPackage.VARIABLE_ELEMENT__REUSE_META_INFORMATION, oldReuseMetaInformation, reuseMetaInformation));
+ }
+
+} //VariableElementImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/VariationGroupImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/VariationGroupImpl.java
new file mode 100644
index 00000000000..7049101e06e
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/VariationGroupImpl.java
@@ -0,0 +1,318 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability.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.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.structure.featuremodeling.VariabilityDependencyKind;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.VariableElement;
+import org.eclipse.papyrus.eastadl.variability.VariationGroup;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Variation Group</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.VariationGroupImpl#getConstraint <em>Constraint</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.VariationGroupImpl#getKind <em>Kind</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.VariationGroupImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.VariationGroupImpl#getVariableElement <em>Variable Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class VariationGroupImpl extends EAElementImpl implements VariationGroup {
+
+ /**
+ * The default value of the '{@link #getConstraint() <em>Constraint</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getConstraint()
+ * @generated
+ * @ordered
+ */
+ protected static final String CONSTRAINT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getConstraint() <em>Constraint</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getConstraint()
+ * @generated
+ * @ordered
+ */
+ protected String constraint = CONSTRAINT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected static final VariabilityDependencyKind KIND_EDEFAULT = VariabilityDependencyKind.NEEDS;
+
+ /**
+ * The cached value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected VariabilityDependencyKind kind = KIND_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;
+
+ /**
+ * The cached value of the '{@link #getVariableElement() <em>Variable Element</em>}' reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getVariableElement()
+ * @generated
+ * @ordered
+ */
+ protected EList<VariableElement> variableElement;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected VariationGroupImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case VariabilityPackage.VARIATION_GROUP__CONSTRAINT:
+ return getConstraint();
+ case VariabilityPackage.VARIATION_GROUP__KIND:
+ return getKind();
+ case VariabilityPackage.VARIATION_GROUP__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case VariabilityPackage.VARIATION_GROUP__VARIABLE_ELEMENT:
+ return getVariableElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case VariabilityPackage.VARIATION_GROUP__CONSTRAINT:
+ return CONSTRAINT_EDEFAULT == null ? constraint != null : !CONSTRAINT_EDEFAULT.equals(constraint);
+ case VariabilityPackage.VARIATION_GROUP__KIND:
+ return kind != KIND_EDEFAULT;
+ case VariabilityPackage.VARIATION_GROUP__BASE_CLASS:
+ return base_Class != null;
+ case VariabilityPackage.VARIATION_GROUP__VARIABLE_ELEMENT:
+ return variableElement != null && !variableElement.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case VariabilityPackage.VARIATION_GROUP__CONSTRAINT:
+ setConstraint((String)newValue);
+ return;
+ case VariabilityPackage.VARIATION_GROUP__KIND:
+ setKind((VariabilityDependencyKind)newValue);
+ return;
+ case VariabilityPackage.VARIATION_GROUP__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case VariabilityPackage.VARIATION_GROUP__VARIABLE_ELEMENT:
+ getVariableElement().clear();
+ getVariableElement().addAll((Collection<? extends VariableElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VariabilityPackage.Literals.VARIATION_GROUP;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case VariabilityPackage.VARIATION_GROUP__CONSTRAINT:
+ setConstraint(CONSTRAINT_EDEFAULT);
+ return;
+ case VariabilityPackage.VARIATION_GROUP__KIND:
+ setKind(KIND_EDEFAULT);
+ return;
+ case VariabilityPackage.VARIATION_GROUP__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case VariabilityPackage.VARIATION_GROUP__VARIABLE_ELEMENT:
+ getVariableElement().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getConstraint() {
+ return constraint;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public VariabilityDependencyKind getKind() {
+ return kind;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<VariableElement> getVariableElement() {
+ if (variableElement == null) {
+ variableElement = new EObjectResolvingEList<VariableElement>(VariableElement.class, this, VariabilityPackage.VARIATION_GROUP__VARIABLE_ELEMENT);
+ }
+ return variableElement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setConstraint(String newConstraint) {
+ String oldConstraint = constraint;
+ constraint = newConstraint;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VariabilityPackage.VARIATION_GROUP__CONSTRAINT, oldConstraint, constraint));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setKind(VariabilityDependencyKind newKind) {
+ VariabilityDependencyKind oldKind = kind;
+ kind = newKind == null ? KIND_EDEFAULT : newKind;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VariabilityPackage.VARIATION_GROUP__KIND, oldKind, kind));
+ }
+
+ /**
+ * <!-- 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, VariabilityPackage.VARIATION_GROUP__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, VariabilityPackage.VARIATION_GROUP__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (constraint: ");
+ result.append(constraint);
+ result.append(", kind: ");
+ result.append(kind);
+ result.append(')');
+ return result.toString();
+ }
+
+} // VariationGroupImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/VehicleLevelBindingImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/VehicleLevelBindingImpl.java
new file mode 100644
index 00000000000..44123cddd42
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/VehicleLevelBindingImpl.java
@@ -0,0 +1,176 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability.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.eastadl.structure.featuremodeling.FeatureModel;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.VehicleLevelBinding;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Vehicle Level Binding</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.VehicleLevelBindingImpl#getSourceVehicleFeatureModel <em>Source Vehicle Feature Model</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.VehicleLevelBindingImpl#getTargetFeatureModel <em>Target Feature Model</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class VehicleLevelBindingImpl extends ConfigurationDecisionModelImpl implements VehicleLevelBinding {
+ /**
+ * The cached value of the '{@link #getSourceVehicleFeatureModel() <em>Source Vehicle Feature Model</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSourceVehicleFeatureModel()
+ * @generated
+ * @ordered
+ */
+ protected EList<FeatureModel> sourceVehicleFeatureModel;
+
+ /**
+ * The cached value of the '{@link #getTargetFeatureModel() <em>Target Feature Model</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargetFeatureModel()
+ * @generated
+ * @ordered
+ */
+ protected EList<FeatureModel> targetFeatureModel;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected VehicleLevelBindingImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VariabilityPackage.Literals.VEHICLE_LEVEL_BINDING;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FeatureModel> getSourceVehicleFeatureModel() {
+ if (sourceVehicleFeatureModel == null) {
+ sourceVehicleFeatureModel = new EObjectResolvingEList<FeatureModel>(FeatureModel.class, this, VariabilityPackage.VEHICLE_LEVEL_BINDING__SOURCE_VEHICLE_FEATURE_MODEL);
+ }
+ return sourceVehicleFeatureModel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FeatureModel> getTargetFeatureModel() {
+ if (targetFeatureModel == null) {
+ targetFeatureModel = new EObjectResolvingEList<FeatureModel>(FeatureModel.class, this, VariabilityPackage.VEHICLE_LEVEL_BINDING__TARGET_FEATURE_MODEL);
+ }
+ return targetFeatureModel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case VariabilityPackage.VEHICLE_LEVEL_BINDING__SOURCE_VEHICLE_FEATURE_MODEL:
+ return getSourceVehicleFeatureModel();
+ case VariabilityPackage.VEHICLE_LEVEL_BINDING__TARGET_FEATURE_MODEL:
+ return getTargetFeatureModel();
+ }
+ 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 VariabilityPackage.VEHICLE_LEVEL_BINDING__SOURCE_VEHICLE_FEATURE_MODEL:
+ getSourceVehicleFeatureModel().clear();
+ getSourceVehicleFeatureModel().addAll((Collection<? extends FeatureModel>)newValue);
+ return;
+ case VariabilityPackage.VEHICLE_LEVEL_BINDING__TARGET_FEATURE_MODEL:
+ getTargetFeatureModel().clear();
+ getTargetFeatureModel().addAll((Collection<? extends FeatureModel>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case VariabilityPackage.VEHICLE_LEVEL_BINDING__SOURCE_VEHICLE_FEATURE_MODEL:
+ getSourceVehicleFeatureModel().clear();
+ return;
+ case VariabilityPackage.VEHICLE_LEVEL_BINDING__TARGET_FEATURE_MODEL:
+ getTargetFeatureModel().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case VariabilityPackage.VEHICLE_LEVEL_BINDING__SOURCE_VEHICLE_FEATURE_MODEL:
+ return sourceVehicleFeatureModel != null && !sourceVehicleFeatureModel.isEmpty();
+ case VariabilityPackage.VEHICLE_LEVEL_BINDING__TARGET_FEATURE_MODEL:
+ return targetFeatureModel != null && !targetFeatureModel.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //VehicleLevelBindingImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/util/VariabilityAdapterFactory.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/util/VariabilityAdapterFactory.java
new file mode 100644
index 00000000000..67e4369472e
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/util/VariabilityAdapterFactory.java
@@ -0,0 +1,465 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability.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.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+import org.eclipse.papyrus.eastadl.variability.ConfigurableContainer;
+import org.eclipse.papyrus.eastadl.variability.ConfigurationDecision;
+import org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionFolder;
+import org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModel;
+import org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModelEntry;
+import org.eclipse.papyrus.eastadl.variability.ContainerConfiguration;
+import org.eclipse.papyrus.eastadl.variability.FeatureConfiguration;
+import org.eclipse.papyrus.eastadl.variability.InternalBinding;
+import org.eclipse.papyrus.eastadl.variability.PrivateContent;
+import org.eclipse.papyrus.eastadl.variability.ReuseMetaInformation;
+import org.eclipse.papyrus.eastadl.variability.SelectionCriterion;
+import org.eclipse.papyrus.eastadl.variability.Variability;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.VariableElement;
+import org.eclipse.papyrus.eastadl.variability.VariationGroup;
+import org.eclipse.papyrus.eastadl.variability.VehicleLevelBinding;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.variability.VariabilityPackage
+ * @generated
+ */
+public class VariabilityAdapterFactory extends AdapterFactoryImpl {
+
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected static VariabilityPackage modelPackage;
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ protected VariabilitySwitch<Adapter> modelSwitch = new VariabilitySwitch<Adapter>() {
+ @Override
+ public Adapter caseVariationGroup(VariationGroup object) {
+ return createVariationGroupAdapter();
+ }
+ @Override
+ public Adapter caseVariableElement(VariableElement object) {
+ return createVariableElementAdapter();
+ }
+ @Override
+ public Adapter caseReuseMetaInformation(ReuseMetaInformation object) {
+ return createReuseMetaInformationAdapter();
+ }
+ @Override
+ public Adapter caseConfigurableContainer(ConfigurableContainer object) {
+ return createConfigurableContainerAdapter();
+ }
+ @Override
+ public Adapter caseInternalBinding(InternalBinding object) {
+ return createInternalBindingAdapter();
+ }
+ @Override
+ public Adapter caseConfigurationDecisionModel(ConfigurationDecisionModel object) {
+ return createConfigurationDecisionModelAdapter();
+ }
+ @Override
+ public Adapter caseConfigurationDecisionModelEntry(ConfigurationDecisionModelEntry object) {
+ return createConfigurationDecisionModelEntryAdapter();
+ }
+ @Override
+ public Adapter caseVariability(Variability object) {
+ return createVariabilityAdapter();
+ }
+ @Override
+ public Adapter caseFeatureConfiguration(FeatureConfiguration object) {
+ return createFeatureConfigurationAdapter();
+ }
+ @Override
+ public Adapter caseVehicleLevelBinding(VehicleLevelBinding object) {
+ return createVehicleLevelBindingAdapter();
+ }
+ @Override
+ public Adapter caseConfigurationDecision(ConfigurationDecision object) {
+ return createConfigurationDecisionAdapter();
+ }
+ @Override
+ public Adapter caseSelectionCriterion(SelectionCriterion object) {
+ return createSelectionCriterionAdapter();
+ }
+ @Override
+ public Adapter caseConfigurationDecisionFolder(ConfigurationDecisionFolder object) {
+ return createConfigurationDecisionFolderAdapter();
+ }
+ @Override
+ public Adapter caseContainerConfiguration(ContainerConfiguration object) {
+ return createContainerConfigurationAdapter();
+ }
+ @Override
+ public Adapter casePrivateContent(PrivateContent object) {
+ return createPrivateContentAdapter();
+ }
+ @Override
+ public Adapter caseEAElement(EAElement object) {
+ return createEAElementAdapter();
+ }
+ @Override
+ public Adapter caseEAPackageableElement(EAPackageableElement object) {
+ return createEAPackageableElementAdapter();
+ }
+ @Override
+ public Adapter caseTraceableSpecification(TraceableSpecification object) {
+ return createTraceableSpecificationAdapter();
+ }
+ @Override
+ public Adapter caseContext(Context object) {
+ return createContextAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public VariabilityAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = VariabilityPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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.eclipse.papyrus.eastadl.variability.ConfigurableContainer <em>Configurable Container</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.variability.ConfigurableContainer
+ * @generated
+ */
+ public Adapter createConfigurableContainerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecision <em>Configuration Decision</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.variability.ConfigurationDecision
+ * @generated
+ */
+ public Adapter createConfigurationDecisionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionFolder <em>Configuration Decision Folder</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.variability.ConfigurationDecisionFolder
+ * @generated
+ */
+ public Adapter createConfigurationDecisionFolderAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModel <em>Configuration Decision 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.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModel
+ * @generated
+ */
+ public Adapter createConfigurationDecisionModelAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModelEntry <em>Configuration Decision Model Entry</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.variability.ConfigurationDecisionModelEntry
+ * @generated
+ */
+ public Adapter createConfigurationDecisionModelEntryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.variability.ContainerConfiguration <em>Container 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.eastadl.variability.ContainerConfiguration
+ * @generated
+ */
+ public Adapter createContainerConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.Context <em>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.eastadl.infrastructure.elements.Context
+ * @generated
+ */
+ public Adapter createContextAdapter() {
+ 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;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.variability.FeatureConfiguration <em>Feature 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.eastadl.variability.FeatureConfiguration
+ * @generated
+ */
+ public Adapter createFeatureConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.variability.VehicleLevelBinding <em>Vehicle Level Binding</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.variability.VehicleLevelBinding
+ * @generated
+ */
+ public Adapter createVehicleLevelBindingAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.variability.InternalBinding <em>Internal Binding</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.variability.InternalBinding
+ * @generated
+ */
+ public Adapter createInternalBindingAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.variability.PrivateContent <em>Private Content</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.variability.PrivateContent
+ * @generated
+ */
+ public Adapter createPrivateContentAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement <em>EA Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAElement
+ * @generated
+ */
+ public Adapter createEAElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement <em>EA Packageable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.infrastructure.elements.EAPackageableElement
+ * @generated
+ */
+ public Adapter createEAPackageableElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.variability.ReuseMetaInformation <em>Reuse Meta Information</em>}'.
+ * <!-- begin-user-doc --> This default implementation
+ * returns null so that we can easily ignore cases; 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.eastadl.variability.ReuseMetaInformation
+ * @generated
+ */
+ public Adapter createReuseMetaInformationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.variability.SelectionCriterion <em>Selection Criterion</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.variability.SelectionCriterion
+ * @generated
+ */
+ public Adapter createSelectionCriterionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification <em>Traceable 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.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification
+ * @generated
+ */
+ public Adapter createTraceableSpecificationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.variability.Variability <em>Variability</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.variability.Variability
+ * @generated
+ */
+ public Adapter createVariabilityAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.variability.VariableElement <em>Variable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * 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.eastadl.variability.VariableElement
+ * @generated
+ */
+ public Adapter createVariableElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.eastadl.variability.VariationGroup <em>Variation Group</em>}'.
+ * <!-- begin-user-doc --> This default implementation returns null
+ * so that we can easily ignore cases; 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.eastadl.variability.VariationGroup
+ * @generated
+ */
+ public Adapter createVariationGroupAdapter() {
+ return null;
+ }
+
+ /**
+ * 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;
+ }
+
+} // VariabilityAdapterFactory
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/util/VariabilityResourceFactoryImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/util/VariabilityResourceFactoryImpl.java
new file mode 100644
index 00000000000..daaf5c3a05c
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/util/VariabilityResourceFactoryImpl.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability.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.eclipse.papyrus.eastadl.variability.util.VariabilityResourceImpl
+ * @generated
+ */
+public class VariabilityResourceFactoryImpl extends ResourceFactoryImpl {
+
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public VariabilityResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new VariabilityResourceImpl(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;
+ }
+
+} // VariabilityResourceFactoryImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/util/VariabilityResourceImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/util/VariabilityResourceImpl.java
new file mode 100644
index 00000000000..ece0ae9e5ff
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/util/VariabilityResourceImpl.java
@@ -0,0 +1,38 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability.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.eclipse.papyrus.eastadl.variability.util.VariabilityResourceFactoryImpl
+ * @generated
+ */
+public class VariabilityResourceImpl extends XMLResourceImpl {
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public VariabilityResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} // VariabilityResourceImpl
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/util/VariabilitySwitch.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/util/VariabilitySwitch.java
new file mode 100644
index 00000000000..8ab13a6a167
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/util/VariabilitySwitch.java
@@ -0,0 +1,509 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.Context;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.EAPackageableElement;
+import org.eclipse.papyrus.eastadl.infrastructure.elements.TraceableSpecification;
+import org.eclipse.papyrus.eastadl.variability.ConfigurableContainer;
+import org.eclipse.papyrus.eastadl.variability.ConfigurationDecision;
+import org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionFolder;
+import org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModel;
+import org.eclipse.papyrus.eastadl.variability.ConfigurationDecisionModelEntry;
+import org.eclipse.papyrus.eastadl.variability.ContainerConfiguration;
+import org.eclipse.papyrus.eastadl.variability.FeatureConfiguration;
+import org.eclipse.papyrus.eastadl.variability.InternalBinding;
+import org.eclipse.papyrus.eastadl.variability.PrivateContent;
+import org.eclipse.papyrus.eastadl.variability.ReuseMetaInformation;
+import org.eclipse.papyrus.eastadl.variability.SelectionCriterion;
+import org.eclipse.papyrus.eastadl.variability.Variability;
+import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+import org.eclipse.papyrus.eastadl.variability.VariableElement;
+import org.eclipse.papyrus.eastadl.variability.VariationGroup;
+import org.eclipse.papyrus.eastadl.variability.VehicleLevelBinding;
+
+
+/**
+ * <!-- 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.eclipse.papyrus.eastadl.variability.VariabilityPackage
+ * @generated
+ */
+public class VariabilitySwitch<T> extends Switch<T> {
+
+ /**
+ * The cached model package
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected static VariabilityPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public VariabilitySwitch() {
+ if (modelPackage == null) {
+ modelPackage = VariabilityPackage.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;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Configurable Container</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Configurable Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConfigurableContainer(ConfigurableContainer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Configuration Decision</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate 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 Decision</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConfigurationDecision(ConfigurationDecision object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Configuration Decision Folder</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate 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 Decision Folder</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConfigurationDecisionFolder(ConfigurationDecisionFolder object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Configuration Decision 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>Configuration Decision Model</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConfigurationDecisionModel(ConfigurationDecisionModel object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Configuration Decision Model Entry</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate 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 Decision Model Entry</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConfigurationDecisionModelEntry(ConfigurationDecisionModelEntry object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Container 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>Container Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseContainerConfiguration(ContainerConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>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>Context</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseContext(Context object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Feature 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>Feature Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFeatureConfiguration(FeatureConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Vehicle Level Binding</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Vehicle Level Binding</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVehicleLevelBinding(VehicleLevelBinding object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Internal Binding</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate 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 Binding</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseInternalBinding(InternalBinding object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Private Content</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Private Content</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePrivateContent(PrivateContent object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAElement(EAElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EA Packageable Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EA Packageable Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAPackageableElement(EAPackageableElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Reuse Meta Information</em>'.
+ * <!-- begin-user-doc --> This implementation returns null;
+ * returning a non-null result will terminate the switch. <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Reuse Meta Information</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseReuseMetaInformation(ReuseMetaInformation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Selection Criterion</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Selection Criterion</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSelectionCriterion(SelectionCriterion object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Traceable 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>Traceable Specification</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTraceableSpecification(TraceableSpecification object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Variability</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Variability</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVariability(Variability object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Variable Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Variable Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVariableElement(VariableElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Variation Group</em>'.
+ * <!-- begin-user-doc --> This implementation returns null; returning a non-null result will
+ * terminate the switch. <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Variation Group</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVariationGroup(VariationGroup 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;
+ }
+
+ /**
+ * 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 VariabilityPackage.VARIATION_GROUP: {
+ VariationGroup variationGroup = (VariationGroup)theEObject;
+ T result = caseVariationGroup(variationGroup);
+ if (result == null) result = caseEAElement(variationGroup);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case VariabilityPackage.VARIABLE_ELEMENT: {
+ VariableElement variableElement = (VariableElement)theEObject;
+ T result = caseVariableElement(variableElement);
+ if (result == null) result = caseEAElement(variableElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case VariabilityPackage.REUSE_META_INFORMATION: {
+ ReuseMetaInformation reuseMetaInformation = (ReuseMetaInformation)theEObject;
+ T result = caseReuseMetaInformation(reuseMetaInformation);
+ if (result == null) result = caseTraceableSpecification(reuseMetaInformation);
+ if (result == null) result = caseEAPackageableElement(reuseMetaInformation);
+ if (result == null) result = caseEAElement(reuseMetaInformation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case VariabilityPackage.CONFIGURABLE_CONTAINER: {
+ ConfigurableContainer configurableContainer = (ConfigurableContainer)theEObject;
+ T result = caseConfigurableContainer(configurableContainer);
+ if (result == null) result = caseEAElement(configurableContainer);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case VariabilityPackage.INTERNAL_BINDING: {
+ InternalBinding internalBinding = (InternalBinding)theEObject;
+ T result = caseInternalBinding(internalBinding);
+ if (result == null) result = caseConfigurationDecisionModel(internalBinding);
+ if (result == null) result = caseEAElement(internalBinding);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case VariabilityPackage.CONFIGURATION_DECISION_MODEL: {
+ ConfigurationDecisionModel configurationDecisionModel = (ConfigurationDecisionModel)theEObject;
+ T result = caseConfigurationDecisionModel(configurationDecisionModel);
+ if (result == null) result = caseEAElement(configurationDecisionModel);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case VariabilityPackage.CONFIGURATION_DECISION_MODEL_ENTRY: {
+ ConfigurationDecisionModelEntry configurationDecisionModelEntry = (ConfigurationDecisionModelEntry)theEObject;
+ T result = caseConfigurationDecisionModelEntry(configurationDecisionModelEntry);
+ if (result == null) result = caseEAElement(configurationDecisionModelEntry);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case VariabilityPackage.VARIABILITY: {
+ Variability variability = (Variability)theEObject;
+ T result = caseVariability(variability);
+ if (result == null) result = caseContext(variability);
+ if (result == null) result = caseEAElement(variability);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case VariabilityPackage.FEATURE_CONFIGURATION: {
+ FeatureConfiguration featureConfiguration = (FeatureConfiguration)theEObject;
+ T result = caseFeatureConfiguration(featureConfiguration);
+ if (result == null) result = caseConfigurationDecisionModel(featureConfiguration);
+ if (result == null) result = caseEAElement(featureConfiguration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case VariabilityPackage.VEHICLE_LEVEL_BINDING: {
+ VehicleLevelBinding vehicleLevelBinding = (VehicleLevelBinding)theEObject;
+ T result = caseVehicleLevelBinding(vehicleLevelBinding);
+ if (result == null) result = caseConfigurationDecisionModel(vehicleLevelBinding);
+ if (result == null) result = caseEAElement(vehicleLevelBinding);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case VariabilityPackage.CONFIGURATION_DECISION: {
+ ConfigurationDecision configurationDecision = (ConfigurationDecision)theEObject;
+ T result = caseConfigurationDecision(configurationDecision);
+ if (result == null) result = caseConfigurationDecisionModelEntry(configurationDecision);
+ if (result == null) result = caseEAElement(configurationDecision);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case VariabilityPackage.SELECTION_CRITERION: {
+ SelectionCriterion selectionCriterion = (SelectionCriterion)theEObject;
+ T result = caseSelectionCriterion(selectionCriterion);
+ if (result == null) result = caseEAElement(selectionCriterion);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case VariabilityPackage.CONFIGURATION_DECISION_FOLDER: {
+ ConfigurationDecisionFolder configurationDecisionFolder = (ConfigurationDecisionFolder)theEObject;
+ T result = caseConfigurationDecisionFolder(configurationDecisionFolder);
+ if (result == null) result = caseConfigurationDecisionModelEntry(configurationDecisionFolder);
+ if (result == null) result = caseEAElement(configurationDecisionFolder);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case VariabilityPackage.CONTAINER_CONFIGURATION: {
+ ContainerConfiguration containerConfiguration = (ContainerConfiguration)theEObject;
+ T result = caseContainerConfiguration(containerConfiguration);
+ if (result == null) result = caseConfigurationDecisionModel(containerConfiguration);
+ if (result == null) result = caseEAElement(containerConfiguration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case VariabilityPackage.PRIVATE_CONTENT: {
+ PrivateContent privateContent = (PrivateContent)theEObject;
+ T result = casePrivateContent(privateContent);
+ if (result == null) result = caseEAElement(privateContent);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+} // VariabilitySwitch
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/util/VariabilityXMLProcessor.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/util/VariabilityXMLProcessor.java
new file mode 100644
index 00000000000..e3451a23544
--- /dev/null
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/util/VariabilityXMLProcessor.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the 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:
+ * Sara TUCCI (CEA LIST) sara.tucci@cea.fr - Initial API and implementation
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ * David SERVAT (CEA LIST) david.servat@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.eastadl.variability.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.eclipse.papyrus.eastadl.variability.VariabilityPackage;
+
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ */
+public class VariabilityXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public VariabilityXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ VariabilityPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the VariabilityResourceFactoryImpl 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 VariabilityResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new VariabilityResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} // VariabilityXMLProcessor

Back to the top